whatsapp-docs-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +181 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +65 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts.d.ts +22 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +305 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +24 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +132 -0
- package/dist/resources.js.map +1 -0
- package/dist/tools.d.ts +6 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +379 -0
- package/dist/tools.js.map +1 -0
- package/dist/utils/fileLoader.d.ts +19 -0
- package/dist/utils/fileLoader.d.ts.map +1 -0
- package/dist/utils/fileLoader.js +126 -0
- package/dist/utils/fileLoader.js.map +1 -0
- package/dist/utils/search.d.ts +27 -0
- package/dist/utils/search.d.ts.map +1 -0
- package/dist/utils/search.js +91 -0
- package/dist/utils/search.js.map +1 -0
- package/docs/QUICK_REFERENCE.md +223 -0
- package/docs/anuncios_com_clique_para_whatsapp/AGENTS.md +8 -0
- package/docs/anuncios_com_clique_para_whatsapp/welcome_message_sequences.md +449 -0
- package/docs/ativos_da_conta/AGENTS.md +9 -0
- package/docs/ativos_da_conta/outros_ativos/AGENTS.md +12 -0
- package/docs/ativos_da_conta/outros_ativos/business_profiles.md +137 -0
- package/docs/ativos_da_conta/outros_ativos/display_names.md +108 -0
- package/docs/ativos_da_conta/outros_ativos/official_business_accounts.md +123 -0
- package/docs/ativos_da_conta/outros_ativos/qr_codes.md +198 -0
- package/docs/ativos_da_conta/outros_ativos/whatsapp_business_accounts.md +99 -0
- package/docs/ativos_da_conta/telefones_comerciais/AGENTS.md +11 -0
- package/docs/ativos_da_conta/telefones_comerciais/conversational_components.md +347 -0
- package/docs/ativos_da_conta/telefones_comerciais/phone_numbers.md +486 -0
- package/docs/ativos_da_conta/telefones_comerciais/registration.md +171 -0
- package/docs/ativos_da_conta/telefones_comerciais/two_step_verification.md +66 -0
- package/docs/catalogos/AGENTS.md +12 -0
- package/docs/catalogos/receive_responses.md +28 -0
- package/docs/catalogos/sell_products_and_services.md +24 -0
- package/docs/catalogos/set_commerce_settings.md +163 -0
- package/docs/catalogos/share_products.md +401 -0
- package/docs/catalogos/upload_inventory.md +28 -0
- package/docs/comecar/AGENTS.md +8 -0
- package/docs/comecar/get_started.md +127 -0
- package/docs/dados_privacidade_e_politica/AGENTS.md +16 -0
- package/docs/dados_privacidade_e_politica/block_users.md +549 -0
- package/docs/dados_privacidade_e_politica/data_privacy_and_security.md +78 -0
- package/docs/dados_privacidade_e_politica/encryption.md +8 -0
- package/docs/dados_privacidade_e_politica/getting_opt_in.md +41 -0
- package/docs/dados_privacidade_e_politica/identity_change.md +34 -0
- package/docs/dados_privacidade_e_politica/local_storage.md +277 -0
- package/docs/dados_privacidade_e_politica/no_storage.md +132 -0
- package/docs/dados_privacidade_e_politica/policy_enforcement.md +85 -0
- package/docs/dados_privacidade_e_politica/policy_enforcement_violations.md +127 -0
- package/docs/grupos/AGENTS.md +15 -0
- package/docs/grupos/error_codes.md +170 -0
- package/docs/grupos/faq.md +30 -0
- package/docs/grupos/get_started.md +73 -0
- package/docs/grupos/groups.md +75 -0
- package/docs/grupos/groups_messaging.md +340 -0
- package/docs/grupos/pricing.md +322 -0
- package/docs/grupos/reference.md +1059 -0
- package/docs/grupos/webhooks.md +298 -0
- package/docs/index.md +318 -0
- package/docs/insights/AGENTS.md +8 -0
- package/docs/insights/analytics.md +944 -0
- package/docs/ligacoes/AGENTS.md +20 -0
- package/docs/ligacoes/app_review_guidelines.md +48 -0
- package/docs/ligacoes/business_initiated_calls.md +858 -0
- package/docs/ligacoes/call_button_messages_deep_links.md +454 -0
- package/docs/ligacoes/call_settings.md +643 -0
- package/docs/ligacoes/calling.md +130 -0
- package/docs/ligacoes/faq.md +468 -0
- package/docs/ligacoes/integration_patterns.md +121 -0
- package/docs/ligacoes/pricing.md +339 -0
- package/docs/ligacoes/reference.md +1923 -0
- package/docs/ligacoes/sip.md +1090 -0
- package/docs/ligacoes/troubleshooting.md +483 -0
- package/docs/ligacoes/user_call_permissions.md +672 -0
- package/docs/ligacoes/user_initiated_calls.md +1030 -0
- package/docs/mensagens/AGENTS.md +46 -0
- package/docs/mensagens/limites_de_mensagens/AGENTS.md +9 -0
- package/docs/mensagens/limites_de_mensagens/messaging_limits.md +91 -0
- package/docs/mensagens/limites_de_mensagens/upcoming_changes.md +8 -0
- package/docs/mensagens/recursos_adicionais/AGENTS.md +13 -0
- package/docs/mensagens/recursos_adicionais/contextual_replies.md +82 -0
- package/docs/mensagens/recursos_adicionais/link_previews.md +58 -0
- package/docs/mensagens/recursos_adicionais/mark_message_as_read.md +111 -0
- package/docs/mensagens/recursos_adicionais/media.md +419 -0
- package/docs/mensagens/recursos_adicionais/payload_encryption.md +8 -0
- package/docs/mensagens/recursos_adicionais/typing_indicators.md +117 -0
- package/docs/mensagens/tipos_de_mensagens/AGENTS.md +24 -0
- package/docs/mensagens/tipos_de_mensagens/address_messages.md +465 -0
- package/docs/mensagens/tipos_de_mensagens/audio_messages.md +211 -0
- package/docs/mensagens/tipos_de_mensagens/contacts_messages.md +482 -0
- package/docs/mensagens/tipos_de_mensagens/document_messages.md +232 -0
- package/docs/mensagens/tipos_de_mensagens/image_messages.md +176 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_cta_url_messages.md +240 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_flow_messages.md +8 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_list_messages.md +300 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_reply_buttons_messages.md +271 -0
- package/docs/mensagens/tipos_de_mensagens/location_messages.md +156 -0
- package/docs/mensagens/tipos_de_mensagens/location_request_messages.md +310 -0
- package/docs/mensagens/tipos_de_mensagens/message_with_link.md +8 -0
- package/docs/mensagens/tipos_de_mensagens/reaction_messages.md +144 -0
- package/docs/mensagens/tipos_de_mensagens/sticker_messages.md +157 -0
- package/docs/mensagens/tipos_de_mensagens/template_messages.md +20 -0
- package/docs/mensagens/tipos_de_mensagens/text_messages.md +142 -0
- package/docs/mensagens/tipos_de_mensagens/video_messages.md +149 -0
- package/docs/mensagens/visao_geral/AGENTS.md +8 -0
- package/docs/mensagens/visao_geral/send_messages.md +370 -0
- package/docs/mensagens_de_marketing/AGENTS.md +10 -0
- package/docs/mensagens_de_marketing/implementacao/AGENTS.md +10 -0
- package/docs/mensagens_de_marketing/implementacao/get_started.md +107 -0
- package/docs/mensagens_de_marketing/implementacao/onboard_business_customers.md +180 -0
- package/docs/mensagens_de_marketing/implementacao/send_marketing_messages.md +260 -0
- package/docs/mensagens_de_marketing/recursos/AGENTS.md +12 -0
- package/docs/mensagens_de_marketing/recursos/automatic_creative_optimization.md +8 -0
- package/docs/mensagens_de_marketing/recursos/conversion_measurement.md +8 -0
- package/docs/mensagens_de_marketing/recursos/deep_links.md +302 -0
- package/docs/mensagens_de_marketing/recursos/track_click_events.md +119 -0
- package/docs/mensagens_de_marketing/recursos/view_metrics.md +338 -0
- package/docs/mensagens_de_marketing/visao_geral/AGENTS.md +8 -0
- package/docs/mensagens_de_marketing/visao_geral/overview.md +26 -0
- package/docs/modelos/AGENTS.md +12 -0
- package/docs/modelos/gerenciamento_de_modelos/AGENTS.md +21 -0
- package/docs/modelos/gerenciamento_de_modelos/components.md +717 -0
- package/docs/modelos/gerenciamento_de_modelos/supported_languages.md +462 -0
- package/docs/modelos/gerenciamento_de_modelos/tap_target_url_title_override.md +211 -0
- package/docs/modelos/gerenciamento_de_modelos/template_categorization.md +499 -0
- package/docs/modelos/gerenciamento_de_modelos/template_comparison.md +136 -0
- package/docs/modelos/gerenciamento_de_modelos/template_library.md +526 -0
- package/docs/modelos/gerenciamento_de_modelos/template_management.md +148 -0
- package/docs/modelos/gerenciamento_de_modelos/template_media.md +8 -0
- package/docs/modelos/gerenciamento_de_modelos/template_migration.md +164 -0
- package/docs/modelos/gerenciamento_de_modelos/template_pacing.md +38 -0
- package/docs/modelos/gerenciamento_de_modelos/template_pausing.md +58 -0
- package/docs/modelos/gerenciamento_de_modelos/template_quality.md +47 -0
- package/docs/modelos/gerenciamento_de_modelos/template_review.md +74 -0
- package/docs/modelos/gerenciamento_de_modelos/time_to_live.md +88 -0
- package/docs/modelos/modelos_de_autenticacao/AGENTS.md +13 -0
- package/docs/modelos/modelos_de_autenticacao/authentication_best_practices.md +73 -0
- package/docs/modelos/modelos_de_autenticacao/authentication_templates.md +252 -0
- package/docs/modelos/modelos_de_autenticacao/autofill_button_authentication_templates.md +732 -0
- package/docs/modelos/modelos_de_autenticacao/copy_code_button_authentication_templates.md +402 -0
- package/docs/modelos/modelos_de_autenticacao/error_signals.md +143 -0
- package/docs/modelos/modelos_de_autenticacao/zero_tap_authentication_templates.md +742 -0
- package/docs/modelos/modelos_de_marketing/AGENTS.md +18 -0
- package/docs/modelos/modelos_de_marketing/call_permission_request_message_template.md +221 -0
- package/docs/modelos/modelos_de_marketing/catalog_templates.md +308 -0
- package/docs/modelos/modelos_de_marketing/coupon_templates.md +425 -0
- package/docs/modelos/modelos_de_marketing/custom_marketing_templates.md +537 -0
- package/docs/modelos/modelos_de_marketing/limited_time_offer_templates.md +496 -0
- package/docs/modelos/modelos_de_marketing/marketing_templates.md +112 -0
- package/docs/modelos/modelos_de_marketing/media_card_carousel_templates.md +770 -0
- package/docs/modelos/modelos_de_marketing/mpm_templates.md +717 -0
- package/docs/modelos/modelos_de_marketing/per_user_limits.md +42 -0
- package/docs/modelos/modelos_de_marketing/product_card_carousel_templates.md +515 -0
- package/docs/modelos/modelos_de_marketing/spm_templates.md +466 -0
- package/docs/modelos/modelos_de_utilidade/AGENTS.md +8 -0
- package/docs/modelos/modelos_de_utilidade/utility_templates.md +583 -0
- package/docs/modelos/visao_geral/AGENTS.md +8 -0
- package/docs/modelos/visao_geral/overview.md +163 -0
- package/docs/pagamentos/AGENTS.md +9 -0
- package/docs/pagamentos/pagamentos_na_india/AGENTS.md +19 -0
- package/docs/pagamentos/pagamentos_na_india/checkout_button_templates.md +1332 -0
- package/docs/pagamentos/pagamentos_na_india/enhanced_payment_links.md +93 -0
- package/docs/pagamentos/pagamentos_na_india/onboarding_apis.md +580 -0
- package/docs/pagamentos/pagamentos_na_india/orderdetailstemplate.md +205 -0
- package/docs/pagamentos/pagamentos_na_india/orderstatustemplate.md +143 -0
- package/docs/pagamentos/pagamentos_na_india/overview.md +102 -0
- package/docs/pagamentos/pagamentos_na_india/payment_links.md +581 -0
- package/docs/pagamentos/pagamentos_na_india/pg.md +1228 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/AGENTS.md +12 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/dynamic_vpa.md +572 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_billdesk.md +343 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_cashfree.md +145 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_ccavenue.md +146 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/upi_intent.md +660 -0
- package/docs/pagamentos/pagamentos_no_brasil/AGENTS.md +14 -0
- package/docs/pagamentos/pagamentos_no_brasil/boleto.md +104 -0
- package/docs/pagamentos/pagamentos_no_brasil/offsite_pix.md +128 -0
- package/docs/pagamentos/pagamentos_no_brasil/one_click_payments.md +226 -0
- package/docs/pagamentos/pagamentos_no_brasil/orderdetailstemplate.md +180 -0
- package/docs/pagamentos/pagamentos_no_brasil/orders.md +768 -0
- package/docs/pagamentos/pagamentos_no_brasil/overview.md +32 -0
- package/docs/pagamentos/pagamentos_no_brasil/payment_links.md +104 -0
- package/docs/parceiros/AGENTS.md +12 -0
- package/docs/parceiros/analise_do_app/AGENTS.md +8 -0
- package/docs/parceiros/analise_do_app/app_review.md +91 -0
- package/docs/parceiros/gerenciamento/AGENTS.md +14 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/AGENTS.md +15 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_accounts.md +274 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_system_users.md +106 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_webhooks.md +277 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/AGENTS.md +9 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/manage_phone_numbers.md +248 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/registering_phone_numbers.md +373 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/share_and_revoke_credit_lines.md +551 -0
- package/docs/parceiros/gerenciamento/partner_led_business_verification.md +367 -0
- package/docs/parceiros/gerenciamento/pixel_tracking.md +35 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/AGENTS.md +18 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/adding_waba_to_mps.md +64 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/business_customer_support.md +102 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_embedded_signup.md +151 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_meta_business_suite.md +234 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_programmatically.md +292 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_via_embedded_signup.md +118 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solution_partners_via_embedded_signup.md +76 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_embedded_signup.md +90 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_meta_business_suite.md +265 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/support.md +48 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/transferring_wabas_to_customers.md +8 -0
- package/docs/parceiros/integracao_de_clientes/AGENTS.md +9 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/AGENTS.md +26 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/app_only_install.md +135 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/automatic_events_api.md +204 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/bypass_phone_addition.md +52 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/custom_flows.md +40 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/default_flow.md +90 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/errors.md +185 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/hosted_es.md +153 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/implementation.md +417 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_business_app_users.md +926 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_solution_partner.md +402 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_tech_provider.md +332 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/overview.md +168 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_filled_data.md +524 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_verified_numbers.md +291 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/AGENTS.md +12 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_2_public_preview.md +88 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3.md +98 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3_public_preview.md +88 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_4.md +92 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/versions.md +463 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/website_optional.md +57 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/AGENTS.md +11 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solution_embedded_creation.md +178 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solutions.md +775 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_solution_conversations.md +319 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/partner_initiated_waba_creation.md +74 -0
- package/docs/parceiros/seja_um_parceiro/AGENTS.md +11 -0
- package/docs/parceiros/seja_um_parceiro/get_started_for_solution_partners.md +280 -0
- package/docs/parceiros/seja_um_parceiro/get_started_for_tech_providers.md +194 -0
- package/docs/parceiros/seja_um_parceiro/measurement_partners.md +146 -0
- package/docs/parceiros/seja_um_parceiro/upgrade_to_tech_partner.md +94 -0
- package/docs/parceiros/visao_geral/AGENTS.md +8 -0
- package/docs/parceiros/visao_geral/overview.md +190 -0
- package/docs/recado/AGENTS.md +9 -0
- package/docs/recado/precos/AGENTS.md +11 -0
- package/docs/recado/precos/pricing.md +915 -0
- package/docs/recado/precos/pricing_authentication_international_rates.md +464 -0
- package/docs/recado/precos/pricing_conversation_based_pricing.md +773 -0
- package/docs/recado/precos/pricing_updates_to_pricing.md +8 -0
- package/docs/recado/sobre_a_plataforma/AGENTS.md +10 -0
- package/docs/recado/sobre_a_plataforma/about_the_platform.md +217 -0
- package/docs/recado/sobre_a_plataforma/access_tokens.md +110 -0
- package/docs/recado/sobre_a_plataforma/permissions.md +55 -0
- package/docs/referencia/AGENTS.md +92 -0
- package/docs/referencia/bot_do_whatsapp_business/AGENTS.md +8 -0
- package/docs/referencia/bot_do_whatsapp_business/bot_details_api.md +762 -0
- package/docs/referencia/business/AGENTS.md +14 -0
- package/docs/referencia/business/add_phone_numbers_api.md +726 -0
- package/docs/referencia/business/client_whatsapp_business_accounts_api.md +1006 -0
- package/docs/referencia/business/owned_whatsapp_business_accounts.md +802 -0
- package/docs/referencia/business/whatsapp_business_accounts_api.md +1550 -0
- package/docs/referencia/business/whatsapp_business_partner_onboarding_to_mm_lite_api.md +783 -0
- package/docs/referencia/business/whatsapp_business_pre_verified_phone_number_sharing_api.md +790 -0
- package/docs/referencia/business/whatsapp_business_pre_verified_phone_numbers_api.md +886 -0
- package/docs/referencia/changelog.md +10 -0
- package/docs/referencia/conta_do_whatsapp_business/AGENTS.md +24 -0
- package/docs/referencia/conta_do_whatsapp_business/assigned_users_management_api.md +2202 -0
- package/docs/referencia/conta_do_whatsapp_business/business_account_api.md +267 -0
- package/docs/referencia/conta_do_whatsapp_business/business_account_extended_credits_api.md +275 -0
- package/docs/referencia/conta_do_whatsapp_business/conversational_automation_api.md +782 -0
- package/docs/referencia/conta_do_whatsapp_business/flows_api.md +1532 -0
- package/docs/referencia/conta_do_whatsapp_business/in_progress_on_behalf_requests_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/migration_intent_api.md +1581 -0
- package/docs/referencia/conta_do_whatsapp_business/obo_mobility_intent_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/phone_number_management_api.md +1686 -0
- package/docs/referencia/conta_do_whatsapp_business/schedules_api.md +1772 -0
- package/docs/referencia/conta_do_whatsapp_business/set_obo_mobility_intent_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/set_solution_migration_intent_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/subscribed_apps_api.md +2178 -0
- package/docs/referencia/conta_do_whatsapp_business/template_api.md +976 -0
- package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_activities_api.md +842 -0
- package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_api.md +1384 -0
- package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_solutions_list_api.md +854 -0
- package/docs/referencia/grupo/AGENTS.md +11 -0
- package/docs/referencia/grupo/groups_invite_link_api.md +304 -0
- package/docs/referencia/grupo/groups_join_requests_api.md +686 -0
- package/docs/referencia/grupo/groups_participants_api.md +274 -0
- package/docs/referencia/grupo/groups_query_api.md +436 -0
- package/docs/referencia/historico_de_mensagens/AGENTS.md +8 -0
- package/docs/referencia/historico_de_mensagens/whatsapp_business_message_history_events_api.md +866 -0
- package/docs/referencia/inscricao/AGENTS.md +10 -0
- package/docs/referencia/inscricao/application_connected_client_businesses.md +812 -0
- package/docs/referencia/inscricao/application_solutions_api.md +874 -0
- package/docs/referencia/inscricao/solution_creation_api.md +824 -0
- package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/AGENTS.md +8 -0
- package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/migration_intent_details_api.md +724 -0
- package/docs/referencia/midias/AGENTS.md +9 -0
- package/docs/referencia/midias/media_api.md +342 -0
- package/docs/referencia/midias/media_download_api.md +160 -0
- package/docs/referencia/numero_da_conta_do_whatsapp/AGENTS.md +8 -0
- package/docs/referencia/numero_da_conta_do_whatsapp/whatsapp_account_number_api.md +778 -0
- package/docs/referencia/perfil_do_whatsapp_business/AGENTS.md +8 -0
- package/docs/referencia/perfil_do_whatsapp_business/whatsapp_business_profile_node_api.md +1494 -0
- package/docs/referencia/solucao_do_whatsapp_business/AGENTS.md +14 -0
- package/docs/referencia/solucao_do_whatsapp_business/accept_deactivation_request_api.md +762 -0
- package/docs/referencia/solucao_do_whatsapp_business/access_token_api.md +704 -0
- package/docs/referencia/solucao_do_whatsapp_business/reject_deactivation_request_api.md +812 -0
- package/docs/referencia/solucao_do_whatsapp_business/send_deactivation_request_api.md +778 -0
- package/docs/referencia/solucao_do_whatsapp_business/solution_accept_api.md +812 -0
- package/docs/referencia/solucao_do_whatsapp_business/solution_details_api.md +768 -0
- package/docs/referencia/solucao_do_whatsapp_business/solution_reject_api.md +798 -0
- package/docs/referencia/telefone_do_whatsapp_business/AGENTS.md +29 -0
- package/docs/referencia/telefone_do_whatsapp_business/block_api.md +542 -0
- package/docs/referencia/telefone_do_whatsapp_business/business_compliance_information_api.md +1608 -0
- package/docs/referencia/telefone_do_whatsapp_business/business_encryption_api.md +1402 -0
- package/docs/referencia/telefone_do_whatsapp_business/calling_api.md +598 -0
- package/docs/referencia/telefone_do_whatsapp_business/encrypted_messages_api.md +482 -0
- package/docs/referencia/telefone_do_whatsapp_business/groups_management_api.md +485 -0
- package/docs/referencia/telefone_do_whatsapp_business/marketing_messages_lite_api.md +315 -0
- package/docs/referencia/telefone_do_whatsapp_business/media_upload_api.md +188 -0
- package/docs/referencia/telefone_do_whatsapp_business/message_api.md +1798 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_api.md +377 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_deregister_api.md +714 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_registration.md +780 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_verification_request_code_api.md +734 -0
- package/docs/referencia/telefone_do_whatsapp_business/register_api.md +411 -0
- package/docs/referencia/telefone_do_whatsapp_business/settings_api.md +674 -0
- package/docs/referencia/telefone_do_whatsapp_business/verify_code_api.md +746 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_message_history_api.md +932 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_official_business_account_status_api.md +1540 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_phone_number_api.md +1600 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_profile_api.md +1478 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_api.md +1179 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_management_api.md +1315 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/AGENTS.md +11 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/request_verification_code_api.md +778 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/verify_code_api.md +768 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_api.md +1382 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_partners_api.md +820 -0
- package/docs/referencia/usuario/AGENTS.md +8 -0
- package/docs/referencia/usuario/assigned_whatsapp_business_accounts_api.md +864 -0
- package/docs/referencia/webhooks/AGENTS.md +8 -0
- package/docs/referencia/webhooks/whatsapp_incoming_webhook_payload.md +1655 -0
- package/docs/suporte/AGENTS.md +13 -0
- package/docs/suporte/api_status_page.md +134 -0
- package/docs/suporte/error_codes.md +1194 -0
- package/docs/suporte/experiments.md +26 -0
- package/docs/suporte/health_status.md +225 -0
- package/docs/suporte/load_testing.md +340 -0
- package/docs/suporte/support.md +408 -0
- package/docs/visao_geral/AGENTS.md +8 -0
- package/docs/visao_geral/overview.md +2590 -0
- package/docs/webhooks/AGENTS.md +41 -0
- package/docs/webhooks/referencia/AGENTS.md +20 -0
- package/docs/webhooks/referencia/account_alerts.md +190 -0
- package/docs/webhooks/referencia/account_review_update.md +90 -0
- package/docs/webhooks/referencia/account_update.md +379 -0
- package/docs/webhooks/referencia/business_capability_update.md +121 -0
- package/docs/webhooks/referencia/history.md +302 -0
- package/docs/webhooks/referencia/message_template_components_update.md +179 -0
- package/docs/webhooks/referencia/message_template_quality_update.md +136 -0
- package/docs/webhooks/referencia/message_template_status_update.md +253 -0
- package/docs/webhooks/referencia/messages/AGENTS.md +24 -0
- package/docs/webhooks/referencia/messages/audio.md +298 -0
- package/docs/webhooks/referencia/messages/button.md +170 -0
- package/docs/webhooks/referencia/messages/contacts.md +491 -0
- package/docs/webhooks/referencia/messages/document.md +307 -0
- package/docs/webhooks/referencia/messages/errors.md +132 -0
- package/docs/webhooks/referencia/messages/image.md +304 -0
- package/docs/webhooks/referencia/messages/interactive.md +225 -0
- package/docs/webhooks/referencia/messages/location.md +296 -0
- package/docs/webhooks/referencia/messages/messages.md +44 -0
- package/docs/webhooks/referencia/messages/order.md +208 -0
- package/docs/webhooks/referencia/messages/reaction.md +178 -0
- package/docs/webhooks/referencia/messages/status.md +364 -0
- package/docs/webhooks/referencia/messages/sticker.md +298 -0
- package/docs/webhooks/referencia/messages/system.md +140 -0
- package/docs/webhooks/referencia/messages/text.md +322 -0
- package/docs/webhooks/referencia/messages/unsupported.md +165 -0
- package/docs/webhooks/referencia/messages/video.md +304 -0
- package/docs/webhooks/referencia/outros_webhooks/AGENTS.md +16 -0
- package/docs/webhooks/referencia/outros_webhooks/partner_solutions.md +114 -0
- package/docs/webhooks/referencia/outros_webhooks/payment_configuration_update.md +135 -0
- package/docs/webhooks/referencia/outros_webhooks/phone_number_name_update.md +129 -0
- package/docs/webhooks/referencia/outros_webhooks/phone_number_quality_update.md +172 -0
- package/docs/webhooks/referencia/outros_webhooks/security.md +108 -0
- package/docs/webhooks/referencia/outros_webhooks/smb_app_state_sync.md +146 -0
- package/docs/webhooks/referencia/outros_webhooks/smb_message_echoes.md +143 -0
- package/docs/webhooks/referencia/outros_webhooks/template_category_update.md +154 -0
- package/docs/webhooks/referencia/outros_webhooks/user_preferences.md +150 -0
- package/docs/webhooks/visao_geral/AGENTS.md +11 -0
- package/docs/webhooks/visao_geral/message_echoes.md +8 -0
- package/docs/webhooks/visao_geral/override.md +235 -0
- package/docs/webhooks/visao_geral/overview.md +158 -0
- package/docs/webhooks/visao_geral/set_up_whatsapp_echo_bot.md +109 -0
- package/package.json +50 -0
|
@@ -0,0 +1,732 @@
|
|
|
1
|
+
<!-- Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/authentication-templates/autofill-button-authentication-templates -->
|
|
2
|
+
<!-- Scraped: 2025-12-20T17:30:38.684Z -->
|
|
3
|
+
|
|
4
|
+
# Modelos de autenticação de preenchimento automático com um toque
|
|
5
|
+
|
|
6
|
+
Updated: 4 de nov de 2025
|
|
7
|
+
|
|
8
|
+
Os modelos de autenticação de preenchimento automático com um toque permitem que você envie aos usuários uma senha ou um código descartável e um botão de preenchimento automático com um toque. Quando um usuário do WhatsApp toca no botão de preenchimento automático, o cliente do WhatsApp dispara uma atividade que abre seu app e fornece a senha ou o código.
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
Os modelos de autenticação de botão de preenchimento automático com um toque são compostos pelo seguinte:
|
|
13
|
+
|
|
14
|
+
- Um texto predefinido: _<VERIFICATION\_CODE> é seu código de verificação._- Um aviso legal (opcional): _Para sua segurança, não compartilhe este código._- Um aviso sobre a validade (opcional): _Este código expira em <NUM\_MINUTES> minutos._- Um botão de preenchimento automático com um toque.
|
|
15
|
+
|
|
16
|
+
Observações:
|
|
17
|
+
|
|
18
|
+
- O botão "Não pedi um código" está em versão beta e está sendo lançado de forma gradual para clientes comerciais.- O Android SDK para senha descartável está disponível na versão beta e apresenta um fluxo de trabalho simplificado para implementar modelos de autenticação com um toque e sem toque. Veja como usar o recurso abaixo.
|
|
19
|
+
|
|
20
|
+
## Limitações
|
|
21
|
+
|
|
22
|
+
Os botões de preenchimento automático com um toque são compatíveis apenas com Android. Se você enviar um modelo de autenticação a um usuário cujo dispositivo não seja Android, o cliente do WhatsApp exibirá um botão de copiar código.
|
|
23
|
+
|
|
24
|
+
URLs, mídia e emojis não são compatíveis.
|
|
25
|
+
|
|
26
|
+
## Como criar modelos de autenticação
|
|
27
|
+
|
|
28
|
+
Use o ponto de extremidade [WhatsApp Business Account > Message Templates](/documentation/business-messaging/whatsapp/reference/whatsapp-business-account/template-api) para criar modelos de autenticação.
|
|
29
|
+
|
|
30
|
+
### Sintaxe da solicitação
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
curl 'https://graph.facebook.com/v24.0/<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates' \
|
|
34
|
+
-H 'Content-Type: application/json' \
|
|
35
|
+
-H 'Authorization: Bearer EAAJB...' \
|
|
36
|
+
-d
|
|
37
|
+
'{
|
|
38
|
+
"name": "<TEMPLATE_NAME>",
|
|
39
|
+
"language": "<TEMPLATE_LANGUAGE>",
|
|
40
|
+
"category": "authentication",
|
|
41
|
+
"message_send_ttl_seconds": <TIME_T0_LIVE>, // Optional
|
|
42
|
+
"components": [
|
|
43
|
+
{
|
|
44
|
+
"type": "body",
|
|
45
|
+
"add_security_recommendation": <SECURITY_RECOMMENDATION> // Optional
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "footer",
|
|
49
|
+
"code_expiration_minutes": <CODE_EXPIRATION> // Optional
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"type": "buttons",
|
|
53
|
+
"buttons": [
|
|
54
|
+
{
|
|
55
|
+
"type": "otp",
|
|
56
|
+
"otp_type": "one_tap",
|
|
57
|
+
"text": "<COPY_CODE_BUTTON_TEXT>", // Optional
|
|
58
|
+
"autofill_text": "<AUTOFILL_BUTTON_TEXT>", // Optional
|
|
59
|
+
"supported_apps": [
|
|
60
|
+
{
|
|
61
|
+
"package_name": "<PACKAGE_NAME>",
|
|
62
|
+
"signature_hash": "<SIGNATURE_HASH>"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Na solicitação de criação do modelo, o tipo de botão é designado como `otp`. Porém, quando ele for criado, o tipo do botão será definido como `url`. É possível confirmar isso ao executar uma solicitação GET em um modelo de autenticação recém-criado e analisar os componentes.
|
|
73
|
+
|
|
74
|
+
### Parâmetros da solicitação
|
|
75
|
+
|
|
76
|
+
Espaço reservado
|
|
77
|
+
|
|
78
|
+
Descrição
|
|
79
|
+
|
|
80
|
+
Exemplo de valor
|
|
81
|
+
|
|
82
|
+
`<AUTOFILL_BUTTON_TEXT>`
|
|
83
|
+
|
|
84
|
+
_String_
|
|
85
|
+
|
|
86
|
+
**Opcional.**
|
|
87
|
+
|
|
88
|
+
O texto da etiqueta do botão de preenchimento automático com um toque.
|
|
89
|
+
|
|
90
|
+
Em caso de omissão, o texto de preenchimento automático será, por padrão, um valor predefinido no idioma do modelo. Por exemplo, `Autofill` para inglês (EUA).
|
|
91
|
+
|
|
92
|
+
Máximo de 25 caracteres.
|
|
93
|
+
|
|
94
|
+
`Autofill`
|
|
95
|
+
|
|
96
|
+
`<CODE_EXPIRATION>`
|
|
97
|
+
|
|
98
|
+
_Número inteiro_
|
|
99
|
+
|
|
100
|
+
**Opcional.**
|
|
101
|
+
|
|
102
|
+
A validade da senha ou do código em minutos.
|
|
103
|
+
|
|
104
|
+
Se for incluído, o aviso de expiração do código e esse valor serão exibidos na mensagem entregue. O botão será desabilitado na mensagem com base no número de minutos indicado, decorridos após o envio da mensagem.
|
|
105
|
+
|
|
106
|
+
Caso seja omitido, o aviso de expiração do código não será exibido na mensagem. Além disso, o botão será desabilitado 10 minutos após o envio da mensagem.
|
|
107
|
+
|
|
108
|
+
Mínimo 1, máximo 90.
|
|
109
|
+
|
|
110
|
+
`5`
|
|
111
|
+
|
|
112
|
+
`<COPY_CODE_BUTTON_TEXT>`
|
|
113
|
+
|
|
114
|
+
_String_
|
|
115
|
+
|
|
116
|
+
**Opcional.**
|
|
117
|
+
|
|
118
|
+
O texto da etiqueta do botão de copiar código.
|
|
119
|
+
|
|
120
|
+
Se for omitido, o texto será, por padrão, um valor predefinido no idioma do modelo. Por exemplo, `Copy Code` para português (BR).
|
|
121
|
+
|
|
122
|
+
Caso seja incluído, a mensagem do modelo de autenticação exibirá um botão de copiar código com esse texto se a mensagem não for aprovada no processo de [verificação de qualificação](#eligibility-check).
|
|
123
|
+
|
|
124
|
+
Máximo de 25 caracteres.
|
|
125
|
+
|
|
126
|
+
`Copy Code`
|
|
127
|
+
|
|
128
|
+
`<PACKAGE_NAME>`
|
|
129
|
+
|
|
130
|
+
_String_
|
|
131
|
+
|
|
132
|
+
**Obrigatório.**
|
|
133
|
+
|
|
134
|
+
O nome do pacote do app Android.
|
|
135
|
+
|
|
136
|
+
A string deve ter pelo menos dois segmentos (um ou mais pontos), e cada segmento precisa começar com uma letra.
|
|
137
|
+
|
|
138
|
+
Todos os caracteres devem ser alfanuméricos ou um sublinhado \[`a-zA-Z0-9_`\].
|
|
139
|
+
|
|
140
|
+
Ao usar a Graph API 20.0 ou versões anteriores, você poderá definir o nome do pacote do seu app fora da matriz `supported_apps`, mas isso não é recomendado. Consulte [Apps compatíveis](#supported-apps) abaixo.
|
|
141
|
+
|
|
142
|
+
Máximo de 224 caracteres.
|
|
143
|
+
|
|
144
|
+
`com.example.luckyshrub`
|
|
145
|
+
|
|
146
|
+
`<SECURITY_RECOMMENDATION>`
|
|
147
|
+
|
|
148
|
+
_Booliano_
|
|
149
|
+
|
|
150
|
+
**Opcional.**
|
|
151
|
+
|
|
152
|
+
Defina como `true` se quiser que o modelo inclua a string _Para sua segurança, não compartilhe este código_. Caso contrário, defina como `false`.
|
|
153
|
+
|
|
154
|
+
`true`
|
|
155
|
+
|
|
156
|
+
`<SIGNATURE_HASH>`
|
|
157
|
+
|
|
158
|
+
_String_
|
|
159
|
+
|
|
160
|
+
**Obrigatório.**
|
|
161
|
+
|
|
162
|
+
O hash da chave de assinatura do app. Consulte [Hash da chave de assinatura do app](#app-signing-key-hash) abaixo.
|
|
163
|
+
|
|
164
|
+
Todos os caracteres devem ser alfanuméricos, `+`, `/` ou `=` (`a-zA-Z0-9+/=`).
|
|
165
|
+
|
|
166
|
+
Ao usar a Graph API 20.0 ou versões anteriores, você poderá definir o hash de assinatura do seu app fora da matriz `supported_apps`, mas isso não é recomendado. Consulte [Apps compatíveis](#supported-apps) abaixo.
|
|
167
|
+
|
|
168
|
+
Precisa ter exatamente 11 caracteres.
|
|
169
|
+
|
|
170
|
+
`K8a/AINcGX7`
|
|
171
|
+
|
|
172
|
+
`<TEMPLATE_LANGUAGE>`
|
|
173
|
+
|
|
174
|
+
_String_
|
|
175
|
+
|
|
176
|
+
**Obrigatório.**
|
|
177
|
+
|
|
178
|
+
O [código de localidade e idioma](/documentation/business-messaging/whatsapp/templates/supported-languages) do modelo.
|
|
179
|
+
|
|
180
|
+
`en_US`
|
|
181
|
+
|
|
182
|
+
`<TEMPLATE_NAME>`
|
|
183
|
+
|
|
184
|
+
_String_
|
|
185
|
+
|
|
186
|
+
**Obrigatório.**
|
|
187
|
+
|
|
188
|
+
O nome do modelo.
|
|
189
|
+
|
|
190
|
+
Máximo de 512 caracteres.
|
|
191
|
+
|
|
192
|
+
`verification_code`
|
|
193
|
+
|
|
194
|
+
`<TIME_TO_LIVE>`
|
|
195
|
+
|
|
196
|
+
_Número inteiro_
|
|
197
|
+
|
|
198
|
+
**Opcional.**
|
|
199
|
+
|
|
200
|
+
Valor do tempo de vida da mensagem de autenticação, em segundos. Consulte [Como personalizar o tempo de vida](/documentation/business-messaging/whatsapp/templates/overview#customizing-time-to-live).
|
|
201
|
+
|
|
202
|
+
`60`
|
|
203
|
+
|
|
204
|
+
### Exemplo de solicitação
|
|
205
|
+
|
|
206
|
+
Este exemplo cria um modelo chamado "authentication\_code\_autofill\_button" categorizado como `authentication` com todas as strings de texto opcionais habilitadas em um botão de preenchimento automático com um toque.
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
curl 'https://graph.facebook.com/v24.0/102290129340398/message_templates' \
|
|
210
|
+
-H 'Content-Type: application/json' \
|
|
211
|
+
-H 'Authorization: Bearer EAAJB...' \
|
|
212
|
+
-d '
|
|
213
|
+
{
|
|
214
|
+
"name": "authentication_code_autofill_button",
|
|
215
|
+
"language": "en_US",
|
|
216
|
+
"category": "authentication",
|
|
217
|
+
"message_send_ttl_seconds": 60,
|
|
218
|
+
"components": [
|
|
219
|
+
{
|
|
220
|
+
"type": "body",
|
|
221
|
+
"add_security_recommendation": true
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"type": "footer",
|
|
225
|
+
"code_expiration_minutes": 10
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"type": "buttons",
|
|
229
|
+
"buttons": [
|
|
230
|
+
{
|
|
231
|
+
"type": "otp",
|
|
232
|
+
"otp_type": "one_tap",
|
|
233
|
+
"text": "Copy Code",
|
|
234
|
+
"autofill_text": "Autofill",
|
|
235
|
+
"package_name": "com.example.luckyshrub",
|
|
236
|
+
"signature_hash": "K8a/AINcGX7"
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
}'
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Exemplo de resposta
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
{ "id": "594425479261596", "status": "PENDING", "category": "AUTHENTICATION"}
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Webhooks
|
|
251
|
+
|
|
252
|
+
O [webhook de mensagens de botão](/documentation/business-messaging/whatsapp/webhooks/reference/messages/button) é disparado quando o usuário toca no botão "Não pedi um código" na mensagem.
|
|
253
|
+
|
|
254
|
+
### Exemplo de webhook
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
{ "object": "whatsapp_business_account", "entry": [ { "id": "320580347795883", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "12345678", "phone_number_id": "1234567890" }, "contacts": [ { "profile": { "name": "John" }, "wa_id": "12345678" } ], "messages": [ { "context": { "from": "12345678", "id": "wamid.HBgLMTIxMTU1NTE0NTYVAgARGBJDMDEyMTFDNTE5NkFCOUU3QTEA" }, "from": "12345678", "id": "wamid.HBgLMTIxMTU1NTE0NTYVAgASGCBBQ0I3MjdCNUUzMTE0QjhFQkM4RkQ4MEU3QkE0MUNEMgA=", "timestamp": "1753919111", "from_logical_id": "131063108133020", "type": "button", "button": { "payload": "DID_NOT_REQUEST_CODE", "text": "I didn't request a code" } } ] }, "field": "messages" } ] } ]}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Hash de chave de assinatura do app
|
|
261
|
+
|
|
262
|
+
É preciso incluir o hash de chave de assinatura do seu app no corpo do post.
|
|
263
|
+
|
|
264
|
+
Para calcular o hash, siga as instruções do Google para [calcular a string de hash do app](https://l.facebook.com/l.php?u=https%3A%2F%2Fdevelopers.google.com%2Fidentity%2Fsms-retriever%2Fverify%23computing_your_apps_hash_string&h=AT01vO9pPSm9g2etzwOqPf-DEDGnrTeTALzY3O97fn-hEOuaQkijNYqhckgOt7bp6sD59c4iMAar7y0XbA7nqd3KzfV2Er6uuAvLgL2G4MR7rOkM3-pOTHRLK6CWQsup9jgd4bAn_p4czCboLVeI97wHc0A).
|
|
265
|
+
|
|
266
|
+
Como alternativa, se você seguir as instruções do Google e baixar o certificado da chave de assinatura do seu app (etapa 1), será possível usar o certificado com o script de shell [sms\_retriever\_hash\_v9.sh](https://l.facebook.com/l.php?u=http%3A%2F%2Ftinyurl.com%2F43bkdrdt&h=AT01vO9pPSm9g2etzwOqPf-DEDGnrTeTALzY3O97fn-hEOuaQkijNYqhckgOt7bp6sD59c4iMAar7y0XbA7nqd3KzfV2Er6uuAvLgL2G4MR7rOkM3-pOTHRLK6CWQsup9jgd4bAn_p4czCboLVeI97wHc0A) para calcular o hash. Por exemplo:
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
./sms_retriever_hash_v9.sh --package "com.example.myapplication" --keystore ~/.android/debug.keystore
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## apps compatíveis
|
|
273
|
+
|
|
274
|
+
A matriz `supported_apps` permite definir pares de nomes de pacote de apps e hashes de chave de assinatura para até cinco apps. Isso pode ser útil se você tem compilações diferentes do app e quer que cada uma delas seja capaz de iniciar o handshake:
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
"buttons": [
|
|
278
|
+
{
|
|
279
|
+
"type": "otp",
|
|
280
|
+
...
|
|
281
|
+
"supported_apps": [
|
|
282
|
+
{
|
|
283
|
+
"package_name": "<PACKAGE_NAME_1>",
|
|
284
|
+
"signature_hash": "<SIGNATURE_HASH_1>"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"package_name": "<PACKAGE_NAME_2>",
|
|
288
|
+
"signature_hash": "<SIGNATURE_HASH_2>"
|
|
289
|
+
},
|
|
290
|
+
...
|
|
291
|
+
]
|
|
292
|
+
}
|
|
293
|
+
]
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
Como alternativa, se você estiver usando a Graph API versão 20.0 ou anterior e tiver apenas um app, será possível definir o nome do pacote e o hash da chave de assinatura como propriedades de objeto de `buttons`. Porém, isso não é recomendado, já que esse método não será mais compatível a partir da versão 21.0:
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
"buttons": [
|
|
300
|
+
{
|
|
301
|
+
"type": "otp",
|
|
302
|
+
...
|
|
303
|
+
"package_name": "<PACKAGE_NAME>",
|
|
304
|
+
"signature_hash": "<SIGNATURE_HASH>"
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## Handshake
|
|
310
|
+
|
|
311
|
+
É preciso informar ao cliente do WhatsApp sobre a possível entrega de uma senha ou um código. Você pode fazer isso iniciando um "handshake".
|
|
312
|
+
|
|
313
|
+
Um handshake é uma classe pública e um intent do Android que você implementa, mas que pode ser iniciado pelo cliente do WhatsApp.
|
|
314
|
+
|
|
315
|
+
Quando um usuário do seu app solicitar uma senha ou um código de verificação descartável para ser entregue no WhatsApp, primeiro você precisará executar o handshake. Depois, faça uma chamada de API para enviar a mensagem do modelo de autenticação. Quando o cliente do WhatsApp receber a mensagem, será feita a verificação de qualificação. Se não houver erros, ele iniciará o intent e exibirá a mensagem ao usuário. Por fim, quando o usuário tocar no botão de preenchimento automático, abriremos seu app e transmitiremos a senha para ele.
|
|
316
|
+
|
|
317
|
+

|
|
318
|
+
|
|
319
|
+
Caso o handshake não seja realizado antes do envio ou a mensagem não esteja qualificada, o botão exibido será o de copiar código, em vez do botão de um toque.
|
|
320
|
+
|
|
321
|
+
### Verificação de qualificação
|
|
322
|
+
|
|
323
|
+
Ao receber uma mensagem de modelo de autenticação, o cliente do WhatsApp faz as verificações a seguir. Se alguma delas falhar, o botão de preenchimento automático com um toque será substituído pelo de copiar código.
|
|
324
|
+
|
|
325
|
+
- O handshake foi iniciado há não mais que 10 minutos (ou não mais que o número de minutos indicado pela propriedade `code_expiration_minutes` do modelo, se o valor estiver presente).- O nome do pacote na mensagem (definido na propriedade `package_name` na matriz `components` ao criar o modelo) é o mesmo definido na intenção. A correspondência é determinada por meio do método `getCreatorPackage` chamado no objeto `PendingIntent` fornecido pelo aplicativo.- Nenhum dos outros apps que você incluiu na lista de `supported_apps` do modelo iniciou um handshake nos últimos 10 minutos (ou o número de minutos indicado pela propriedade `code_expiration_minutes` do modelo, se estiver presente).- O hash da chave de assinatura do app na mensagem (definido na propriedade `signature_hash` na matriz de componentes ao criar o modelo) corresponde ao do seu app instalado.- A mensagem inclui o texto do botão de preenchimento automático com um toque.- Seu app definiu uma atividade para receber a senha ou o código.
|
|
326
|
+
|
|
327
|
+
### Notificações no Android
|
|
328
|
+
|
|
329
|
+
As notificações que indicam o recebimento da mensagem do modelo de autenticação do WhatsApp só aparecerão no dispositivo Android do usuário se:
|
|
330
|
+
|
|
331
|
+
- o usuário estiver conectado ao app WhatsApp ou WhatsApp Business com o número de telefone (conta) para o qual a mensagem foi enviada;- o usuário estiver conectado ao seu app;- o SO do Android for KitKat (4.4, API 19) ou posterior;- **Mostrar notificações** estiver habilitado (**Configurações** > **Notificações**) no app WhatsApp ou WhatsApp Business;- as notificações de nível do dispositivo estiverem habilitadas para o app WhatsApp ou WhatsApp Business;- os tópicos de mensagens anteriores no app WhatsApp ou WhatsApp Business entre o usuário e sua empresa não estiverem silenciados.
|
|
332
|
+
|
|
333
|
+
### Usar o SDK (beta)
|
|
334
|
+
|
|
335
|
+
O Android SDK para senha descartável está disponível na versão beta. Ele pode ser usado para executar handshakes, bem como outras funções em modelos de autenticação de um toque e sem toque.
|
|
336
|
+
|
|
337
|
+
Para acessar a funcionalidade do SDK, adicione a seguinte configuração ao arquivo Gradle:
|
|
338
|
+
|
|
339
|
+
```
|
|
340
|
+
dependencies {
|
|
341
|
+
…
|
|
342
|
+
implementation 'com.whatsapp.otp:whatsapp-otp-android-sdk:0.1.0'
|
|
343
|
+
…
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Nos seus repositórios, inclua `mavenCentral()`:
|
|
348
|
+
|
|
349
|
+
```
|
|
350
|
+
repositories {
|
|
351
|
+
…
|
|
352
|
+
mavenCentral()
|
|
353
|
+
…
|
|
354
|
+
}
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Atividade
|
|
358
|
+
|
|
359
|
+
Declare um filtro de atividade e intent que possa receber a senha ou o código descartável. O filtro de intent deve ter o nome da ação `com.whatsapp.otp.OTP_RETRIEVED`.
|
|
360
|
+
|
|
361
|
+
```
|
|
362
|
+
<activity
|
|
363
|
+
android:name=".ReceiveCodeActivity"
|
|
364
|
+
android:enabled="true"
|
|
365
|
+
android:exported="true"
|
|
366
|
+
android:launchMode="standard">
|
|
367
|
+
<intent-filter><action android:name="com.whatsapp.otp.OTP_RETRIEVED" /></intent-filter></activity>
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
Essa é a atividade que o app WhatsApp ou WhatsApp Business iniciará quando a mensagem do modelo de autenticação for recebida e passar pelas [verificações de qualificação](#eligibility-checks).
|
|
371
|
+
|
|
372
|
+
### Classe de atividade
|
|
373
|
+
|
|
374
|
+
#### Usar o SDK (recomendado)
|
|
375
|
+
|
|
376
|
+
Defina a classe pública da atividade e instancie um objeto `WhatsAppOtpIncomingIntentHandler` para gerenciar o intent, validar a senha descartável e lidar com os erros.
|
|
377
|
+
|
|
378
|
+
```
|
|
379
|
+
public class ReceiveCodeActivity extends AppCompatActivity {
|
|
380
|
+
|
|
381
|
+
@Override
|
|
382
|
+
protected void onCreate(Bundle savedInstanceState) {
|
|
383
|
+
super.onCreate(savedInstanceState);
|
|
384
|
+
WhatsAppOtpIncomingIntentHandler incomingIntentHandler = new WhatsAppOtpIncomingIntentHandler();
|
|
385
|
+
incomingIntentHandler.processOtpCode(
|
|
386
|
+
intent,
|
|
387
|
+
// call your function to validate
|
|
388
|
+
(code) -> validateCode(code),
|
|
389
|
+
// call your function to handle errors
|
|
390
|
+
(error, exception) -> handleError(error, exception));
|
|
391
|
+
}
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
#### Sem o SDK
|
|
395
|
+
|
|
396
|
+
Defina a classe pública da atividade que pode aceitar o código depois que ele for passado para o app.
|
|
397
|
+
|
|
398
|
+
```
|
|
399
|
+
public class ReceiveCodeActivity extends AppCompatActivity {
|
|
400
|
+
|
|
401
|
+
@Override
|
|
402
|
+
protected void onCreate(Bundle savedInstanceState) {
|
|
403
|
+
super.onCreate(savedInstanceState);
|
|
404
|
+
Intent intent = getIntent();
|
|
405
|
+
// retrieve PendingIntent from extras bundle
|
|
406
|
+
PendingIntent pendingIntent = intent.getParcelableExtra("_ci_");
|
|
407
|
+
// verify source of the pendingIntent
|
|
408
|
+
String pendingIntentCreatorPackage = pendingIntent.getCreatorPackage();
|
|
409
|
+
// check if creatorPackage is "com.whatsapp" -> WA consumer app Or
|
|
410
|
+
// "com.whatsapp.w4b" -> WA business app
|
|
411
|
+
if ("com.whatsapp".equals(creatorPackage) || "com.whatsapp.w4b".equals(creatorPackage)) {
|
|
412
|
+
// use OTP code
|
|
413
|
+
String otpCode = intent.getStringExtra("code");
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### Iniciar o handshake
|
|
420
|
+
|
|
421
|
+
#### Usar o SDK (recomendado)
|
|
422
|
+
|
|
423
|
+
Para executar um handshake, você pode instanciar o objeto `WhatsAppOtpHandler` e passar no seu contexto para o método `.sendOtpIntentToWhatsApp()`:
|
|
424
|
+
|
|
425
|
+
```
|
|
426
|
+
WhatsAppOtpHandler whatsAppOtpHandler = new WhatsAppOtpHandler();
|
|
427
|
+
whatsAppOtpHandler.sendOtpIntentToWhatsApp(context);
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
#### Sem o SDK
|
|
431
|
+
|
|
432
|
+
Este exemplo mostra uma maneira de iniciar um handshake com o cliente do WhatsApp.
|
|
433
|
+
|
|
434
|
+
```
|
|
435
|
+
public void sendOtpIntentToWhatsApp() {
|
|
436
|
+
// Send OTP_REQUESTED intent to both WA and WA Business App
|
|
437
|
+
sendOtpIntentToWhatsApp("com.whatsapp");
|
|
438
|
+
sendOtpIntentToWhatsApp("com.whatsapp.w4b");
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
private void sendOtpIntentToWhatsApp(String packageName) {
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Starting with Build.VERSION_CODES.S, it will be required to explicitly
|
|
445
|
+
* specify the mutability of PendingIntents on creation with either
|
|
446
|
+
* (@link #FLAG_IMMUTABLE} or FLAG_MUTABLE
|
|
447
|
+
*/
|
|
448
|
+
int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ? FLAG_IMMUTABLE : 0;
|
|
449
|
+
PendingIntent pi = PendingIntent.getActivity(
|
|
450
|
+
getApplicationContext(),
|
|
451
|
+
0,
|
|
452
|
+
new Intent(),
|
|
453
|
+
flags);
|
|
454
|
+
|
|
455
|
+
// Send OTP_REQUESTED intent to WhatsApp
|
|
456
|
+
Intent intentToWhatsApp = new Intent();
|
|
457
|
+
intentToWhatsApp.setPackage(packageName);
|
|
458
|
+
intentToWhatsApp.setAction("com.whatsapp.otp.OTP_REQUESTED");
|
|
459
|
+
// WA will use this to verify the identity of the caller app.
|
|
460
|
+
Bundle extras = intentToWhatsApp.getExtras();
|
|
461
|
+
if (extras == null) {
|
|
462
|
+
extras = new Bundle();
|
|
463
|
+
}
|
|
464
|
+
extras.putParcelable("_ci_", pi);
|
|
465
|
+
intentToWhatsApp.putExtras(extras);
|
|
466
|
+
getApplicationContext().sendBroadcast(intentToWhatsApp);
|
|
467
|
+
}
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
### Verificar se o WhatsApp está instalado no Android
|
|
471
|
+
|
|
472
|
+
É possível verificar o status de instalação do WhatsApp antes de oferecê-lo como opção caso você acredite que o WhatsApp e seu app estejam presentes no mesmo dispositivo.
|
|
473
|
+
|
|
474
|
+
Primeiro, adicione o seguinte ao seu arquivo `AndroidManifest.xml`:
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
<queries><package android:name="com.whatsapp"/><package android:name="com.whatsapp.w4b"/></queries>
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
#### Usar o SDK (recomendado)
|
|
481
|
+
|
|
482
|
+
Instancie o objeto `WhatsAppOtpHandler`:
|
|
483
|
+
|
|
484
|
+
```
|
|
485
|
+
WhatsAppOtpHandler whatsAppOtpHandler = new WhatsAppOtpHandler();
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
Verifique se o cliente do WhatsApp está instalado passando o método `isWhatsAppInstalled` como a cláusula de uma instrução `If`:
|
|
489
|
+
|
|
490
|
+
```
|
|
491
|
+
If (whatsAppOtpHandler.isWhatsAppInstalled(context)) {
|
|
492
|
+
// ... do something
|
|
493
|
+
}
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
#### Sem o SDK
|
|
497
|
+
|
|
498
|
+
```
|
|
499
|
+
if (this.isWhatsAppInstalled(context)) {
|
|
500
|
+
// ... do something
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
public boolean isWhatsAppInstalled(final @NonNull Context context){
|
|
504
|
+
return isWhatsAppInstalled(context, "com.whatsapp") ||
|
|
505
|
+
isWhatsAppInstalled(context, "com.whatsapp.w4b");
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
public boolean isWhatsAppInstalled(final @NonNull Context context,
|
|
509
|
+
final @NonNull String type){
|
|
510
|
+
final Intent intent = new Intent();
|
|
511
|
+
intent.setPackage(type);
|
|
512
|
+
intent.setAction("com.whatsapp.otp.OTP_REQUESTED");
|
|
513
|
+
PackageManager packageManager = context.getPackageManager();
|
|
514
|
+
List<ResolveInfo> receivers = packageManager.queryBroadcastReceivers(intent, 0);
|
|
515
|
+
return !receivers.isEmpty();
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
### Verificar se o WhatsApp está instalado no iOS
|
|
521
|
+
|
|
522
|
+
Use o seguinte código no seu app iOS para verificar se o WhatsApp está instalado
|
|
523
|
+
|
|
524
|
+
```
|
|
525
|
+
let schemeURL = URL(string: "whatsapp://otp")!
|
|
526
|
+
let isWhatsAppInstalled = UIApplication.shared.canOpenURL(schemeURL)
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
### Sinais de erro
|
|
530
|
+
|
|
531
|
+
Consulte [Sinais de erro](/documentation/business-messaging/whatsapp/templates/authentication-templates/error-signals) para ajudar na depuração de erros.
|
|
532
|
+
|
|
533
|
+
### Exemplo de app
|
|
534
|
+
|
|
535
|
+
Veja o [exemplo de app de senha descartável do WhatsApp](https://l.facebook.com/l.php?u=https%3A%2F%2Fgithub.com%2FWhatsApp%2FWhatsApp-OTP-Sample-App&h=AT01vO9pPSm9g2etzwOqPf-DEDGnrTeTALzY3O97fn-hEOuaQkijNYqhckgOt7bp6sD59c4iMAar7y0XbA7nqd3KzfV2Er6uuAvLgL2G4MR7rOkM3-pOTHRLK6CWQsup9jgd4bAn_p4czCboLVeI97wHc0A) para Android no GitHub. O exemplo de app demonstra como enviar e receber códigos e senhas descartáveis por meio da API, como integrar botões de preencher automaticamente com um toque e de copiar código, como criar modelos e como preparar um exemplo de servidor.
|
|
536
|
+
|
|
537
|
+
## Enviar modelos de autenticação
|
|
538
|
+
|
|
539
|
+
Este documento explica como enviar [modelos de autenticação com botões de senha descartável](/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates) aprovados.
|
|
540
|
+
|
|
541
|
+
Importante: **primeiro, você precisa iniciar um handshake** entre seu app e o cliente do WhatsApp. Consulte a seção [Handshake](#handshake) acima.
|
|
542
|
+
|
|
543
|
+
### Solicitação
|
|
544
|
+
|
|
545
|
+
Use o ponto de extremidade em [WhatsApp Business Phone Number > Messages](/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/message-api) para enviar uma [mensagem de modelo de autenticação com um botão de senha descartável](/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates).
|
|
546
|
+
|
|
547
|
+
### Sintaxe da solicitação
|
|
548
|
+
|
|
549
|
+
```
|
|
550
|
+
curl -X POST "https://graph.facebook.com/v23.0/<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages" \
|
|
551
|
+
-H "Authorization: Bearer <ACCESS_TOKEN>" \
|
|
552
|
+
-H "Content-Type: application/json" \
|
|
553
|
+
-d '{
|
|
554
|
+
"messaging_product": "whatsapp",
|
|
555
|
+
"recipient_type": "individual",
|
|
556
|
+
"to": "<CUSTOMER_PHONE_NUMBER>",
|
|
557
|
+
"type": "template",
|
|
558
|
+
"template": {
|
|
559
|
+
"name": "<TEMPLATE_NAME>",
|
|
560
|
+
"language": {
|
|
561
|
+
"code": "<TEMPLATE_LANGUAGE_CODE>"
|
|
562
|
+
},
|
|
563
|
+
"components": [
|
|
564
|
+
{
|
|
565
|
+
"type": "body",
|
|
566
|
+
"parameters": [
|
|
567
|
+
{
|
|
568
|
+
"type": "text",
|
|
569
|
+
"text": "<ONE-TIME PASSWORD>"
|
|
570
|
+
}
|
|
571
|
+
]
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"type": "button",
|
|
575
|
+
"sub_type": "url",
|
|
576
|
+
"index": 0,
|
|
577
|
+
"parameters": [
|
|
578
|
+
{
|
|
579
|
+
"type": "text",
|
|
580
|
+
"text": "<ONE-TIME PASSWORD>"
|
|
581
|
+
}
|
|
582
|
+
]
|
|
583
|
+
}
|
|
584
|
+
]
|
|
585
|
+
}
|
|
586
|
+
}'
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
### Parâmetros da solicitação
|
|
590
|
+
|
|
591
|
+
Espaço reservado
|
|
592
|
+
|
|
593
|
+
Descrição
|
|
594
|
+
|
|
595
|
+
Exemplo de valor
|
|
596
|
+
|
|
597
|
+
`<CUSTOMER_PHONE_NUMBER>`
|
|
598
|
+
|
|
599
|
+
O número de telefone do WhatsApp do cliente.
|
|
600
|
+
|
|
601
|
+
`12015553931`
|
|
602
|
+
|
|
603
|
+
`<ONE-TIME PASSWORD>`
|
|
604
|
+
|
|
605
|
+
A senha descartável ou o código de verificação que será entregue ao cliente.
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
Esse valor precisa aparecer duas vezes na carga.
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
Máximo de 15 caracteres.
|
|
612
|
+
|
|
613
|
+
`J$FpnYnP`
|
|
614
|
+
|
|
615
|
+
`<TEMPLATE_LANGUAGE_CODE>`
|
|
616
|
+
|
|
617
|
+
O [código de localidade e idioma](/documentation/business-messaging/whatsapp/templates/supported-languages) do modelo.
|
|
618
|
+
|
|
619
|
+
`en_US`
|
|
620
|
+
|
|
621
|
+
`<TEMPLATE_NAME>`
|
|
622
|
+
|
|
623
|
+
O nome do modelo.
|
|
624
|
+
|
|
625
|
+
`verification_code`
|
|
626
|
+
|
|
627
|
+
### Resposta
|
|
628
|
+
|
|
629
|
+
Se o processo for bem-sucedido, a API enviará a seguinte resposta:
|
|
630
|
+
|
|
631
|
+
```
|
|
632
|
+
{
|
|
633
|
+
"messaging_product": "whatsapp",
|
|
634
|
+
"contacts": [
|
|
635
|
+
{
|
|
636
|
+
"input": "<INPUT>",
|
|
637
|
+
"wa_id": "<WA_ID>"
|
|
638
|
+
}
|
|
639
|
+
],
|
|
640
|
+
"messages": [
|
|
641
|
+
{
|
|
642
|
+
"id": "<ID>"
|
|
643
|
+
}
|
|
644
|
+
]
|
|
645
|
+
}
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
### Parâmetros da resposta
|
|
649
|
+
|
|
650
|
+
Espaço reservado
|
|
651
|
+
|
|
652
|
+
Descrição
|
|
653
|
+
|
|
654
|
+
Exemplo de valor
|
|
655
|
+
|
|
656
|
+
`<INPUT>`
|
|
657
|
+
|
|
658
|
+
_String_
|
|
659
|
+
|
|
660
|
+
O número de telefone do cliente para quem a mensagem foi enviada. Talvez esse valor não corresponda a `wa_id`.
|
|
661
|
+
|
|
662
|
+
`+16315551234`
|
|
663
|
+
|
|
664
|
+
`<WA_ID>`
|
|
665
|
+
|
|
666
|
+
_String_
|
|
667
|
+
|
|
668
|
+
O ID do cliente para quem a mensagem foi enviada. Talvez esse valor não corresponda a `input`.
|
|
669
|
+
|
|
670
|
+
`+16315551234`
|
|
671
|
+
|
|
672
|
+
`<ID>`
|
|
673
|
+
|
|
674
|
+
_String_
|
|
675
|
+
|
|
676
|
+
Identificação da mensagem do WhatsApp. Use o ID listado depois de "wamid." para acompanhar o status da mensagem.
|
|
677
|
+
|
|
678
|
+
`wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBI3N0EyQUJDMjFEQzZCQUMzODMA`
|
|
679
|
+
|
|
680
|
+
### Exemplo de solicitação
|
|
681
|
+
|
|
682
|
+
```
|
|
683
|
+
curl -L 'https://graph.facebook.com/v24.0/105954558954427/messages' \
|
|
684
|
+
-H 'Content-Type: application/json' \
|
|
685
|
+
-H 'Authorization: Bearer EAAJB...' \
|
|
686
|
+
-d '{
|
|
687
|
+
"messaging_product": "whatsapp",
|
|
688
|
+
"recipient_type": "individual",
|
|
689
|
+
"to": "12015553931",
|
|
690
|
+
"type": "template",
|
|
691
|
+
"template": {
|
|
692
|
+
"name": "verification_code",
|
|
693
|
+
"language": {
|
|
694
|
+
"code": "en_US"
|
|
695
|
+
},
|
|
696
|
+
"components": [
|
|
697
|
+
{
|
|
698
|
+
"type": "body",
|
|
699
|
+
"parameters": [
|
|
700
|
+
{
|
|
701
|
+
"type": "text",
|
|
702
|
+
"text": "J$FpnYnP"
|
|
703
|
+
}
|
|
704
|
+
]
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"type": "button",
|
|
708
|
+
"sub_type": "url",
|
|
709
|
+
"index": "0",
|
|
710
|
+
"parameters": [
|
|
711
|
+
{
|
|
712
|
+
"type": "text",
|
|
713
|
+
"text": "J$FpnYnP"
|
|
714
|
+
}
|
|
715
|
+
]
|
|
716
|
+
}
|
|
717
|
+
]
|
|
718
|
+
}
|
|
719
|
+
}'
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
### Exemplo de resposta
|
|
723
|
+
|
|
724
|
+
```
|
|
725
|
+
{ "messaging_product": "whatsapp", "contacts": [ { "input": "12015553931", "wa_id": "12015553931" } ], "messages": [ { "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBI4Qzc5QkNGNTc5NTMyMDU5QzEA" } ]}
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
Você achou esta página útil?
|
|
729
|
+
|
|
730
|
+

|
|
731
|
+
|
|
732
|
+

|