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.
Files changed (406) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +181 -0
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +65 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/prompts.d.ts +22 -0
  8. package/dist/prompts.d.ts.map +1 -0
  9. package/dist/prompts.js +305 -0
  10. package/dist/prompts.js.map +1 -0
  11. package/dist/resources.d.ts +24 -0
  12. package/dist/resources.d.ts.map +1 -0
  13. package/dist/resources.js +132 -0
  14. package/dist/resources.js.map +1 -0
  15. package/dist/tools.d.ts +6 -0
  16. package/dist/tools.d.ts.map +1 -0
  17. package/dist/tools.js +379 -0
  18. package/dist/tools.js.map +1 -0
  19. package/dist/utils/fileLoader.d.ts +19 -0
  20. package/dist/utils/fileLoader.d.ts.map +1 -0
  21. package/dist/utils/fileLoader.js +126 -0
  22. package/dist/utils/fileLoader.js.map +1 -0
  23. package/dist/utils/search.d.ts +27 -0
  24. package/dist/utils/search.d.ts.map +1 -0
  25. package/dist/utils/search.js +91 -0
  26. package/dist/utils/search.js.map +1 -0
  27. package/docs/QUICK_REFERENCE.md +223 -0
  28. package/docs/anuncios_com_clique_para_whatsapp/AGENTS.md +8 -0
  29. package/docs/anuncios_com_clique_para_whatsapp/welcome_message_sequences.md +449 -0
  30. package/docs/ativos_da_conta/AGENTS.md +9 -0
  31. package/docs/ativos_da_conta/outros_ativos/AGENTS.md +12 -0
  32. package/docs/ativos_da_conta/outros_ativos/business_profiles.md +137 -0
  33. package/docs/ativos_da_conta/outros_ativos/display_names.md +108 -0
  34. package/docs/ativos_da_conta/outros_ativos/official_business_accounts.md +123 -0
  35. package/docs/ativos_da_conta/outros_ativos/qr_codes.md +198 -0
  36. package/docs/ativos_da_conta/outros_ativos/whatsapp_business_accounts.md +99 -0
  37. package/docs/ativos_da_conta/telefones_comerciais/AGENTS.md +11 -0
  38. package/docs/ativos_da_conta/telefones_comerciais/conversational_components.md +347 -0
  39. package/docs/ativos_da_conta/telefones_comerciais/phone_numbers.md +486 -0
  40. package/docs/ativos_da_conta/telefones_comerciais/registration.md +171 -0
  41. package/docs/ativos_da_conta/telefones_comerciais/two_step_verification.md +66 -0
  42. package/docs/catalogos/AGENTS.md +12 -0
  43. package/docs/catalogos/receive_responses.md +28 -0
  44. package/docs/catalogos/sell_products_and_services.md +24 -0
  45. package/docs/catalogos/set_commerce_settings.md +163 -0
  46. package/docs/catalogos/share_products.md +401 -0
  47. package/docs/catalogos/upload_inventory.md +28 -0
  48. package/docs/comecar/AGENTS.md +8 -0
  49. package/docs/comecar/get_started.md +127 -0
  50. package/docs/dados_privacidade_e_politica/AGENTS.md +16 -0
  51. package/docs/dados_privacidade_e_politica/block_users.md +549 -0
  52. package/docs/dados_privacidade_e_politica/data_privacy_and_security.md +78 -0
  53. package/docs/dados_privacidade_e_politica/encryption.md +8 -0
  54. package/docs/dados_privacidade_e_politica/getting_opt_in.md +41 -0
  55. package/docs/dados_privacidade_e_politica/identity_change.md +34 -0
  56. package/docs/dados_privacidade_e_politica/local_storage.md +277 -0
  57. package/docs/dados_privacidade_e_politica/no_storage.md +132 -0
  58. package/docs/dados_privacidade_e_politica/policy_enforcement.md +85 -0
  59. package/docs/dados_privacidade_e_politica/policy_enforcement_violations.md +127 -0
  60. package/docs/grupos/AGENTS.md +15 -0
  61. package/docs/grupos/error_codes.md +170 -0
  62. package/docs/grupos/faq.md +30 -0
  63. package/docs/grupos/get_started.md +73 -0
  64. package/docs/grupos/groups.md +75 -0
  65. package/docs/grupos/groups_messaging.md +340 -0
  66. package/docs/grupos/pricing.md +322 -0
  67. package/docs/grupos/reference.md +1059 -0
  68. package/docs/grupos/webhooks.md +298 -0
  69. package/docs/index.md +318 -0
  70. package/docs/insights/AGENTS.md +8 -0
  71. package/docs/insights/analytics.md +944 -0
  72. package/docs/ligacoes/AGENTS.md +20 -0
  73. package/docs/ligacoes/app_review_guidelines.md +48 -0
  74. package/docs/ligacoes/business_initiated_calls.md +858 -0
  75. package/docs/ligacoes/call_button_messages_deep_links.md +454 -0
  76. package/docs/ligacoes/call_settings.md +643 -0
  77. package/docs/ligacoes/calling.md +130 -0
  78. package/docs/ligacoes/faq.md +468 -0
  79. package/docs/ligacoes/integration_patterns.md +121 -0
  80. package/docs/ligacoes/pricing.md +339 -0
  81. package/docs/ligacoes/reference.md +1923 -0
  82. package/docs/ligacoes/sip.md +1090 -0
  83. package/docs/ligacoes/troubleshooting.md +483 -0
  84. package/docs/ligacoes/user_call_permissions.md +672 -0
  85. package/docs/ligacoes/user_initiated_calls.md +1030 -0
  86. package/docs/mensagens/AGENTS.md +46 -0
  87. package/docs/mensagens/limites_de_mensagens/AGENTS.md +9 -0
  88. package/docs/mensagens/limites_de_mensagens/messaging_limits.md +91 -0
  89. package/docs/mensagens/limites_de_mensagens/upcoming_changes.md +8 -0
  90. package/docs/mensagens/recursos_adicionais/AGENTS.md +13 -0
  91. package/docs/mensagens/recursos_adicionais/contextual_replies.md +82 -0
  92. package/docs/mensagens/recursos_adicionais/link_previews.md +58 -0
  93. package/docs/mensagens/recursos_adicionais/mark_message_as_read.md +111 -0
  94. package/docs/mensagens/recursos_adicionais/media.md +419 -0
  95. package/docs/mensagens/recursos_adicionais/payload_encryption.md +8 -0
  96. package/docs/mensagens/recursos_adicionais/typing_indicators.md +117 -0
  97. package/docs/mensagens/tipos_de_mensagens/AGENTS.md +24 -0
  98. package/docs/mensagens/tipos_de_mensagens/address_messages.md +465 -0
  99. package/docs/mensagens/tipos_de_mensagens/audio_messages.md +211 -0
  100. package/docs/mensagens/tipos_de_mensagens/contacts_messages.md +482 -0
  101. package/docs/mensagens/tipos_de_mensagens/document_messages.md +232 -0
  102. package/docs/mensagens/tipos_de_mensagens/image_messages.md +176 -0
  103. package/docs/mensagens/tipos_de_mensagens/interactive_cta_url_messages.md +240 -0
  104. package/docs/mensagens/tipos_de_mensagens/interactive_flow_messages.md +8 -0
  105. package/docs/mensagens/tipos_de_mensagens/interactive_list_messages.md +300 -0
  106. package/docs/mensagens/tipos_de_mensagens/interactive_reply_buttons_messages.md +271 -0
  107. package/docs/mensagens/tipos_de_mensagens/location_messages.md +156 -0
  108. package/docs/mensagens/tipos_de_mensagens/location_request_messages.md +310 -0
  109. package/docs/mensagens/tipos_de_mensagens/message_with_link.md +8 -0
  110. package/docs/mensagens/tipos_de_mensagens/reaction_messages.md +144 -0
  111. package/docs/mensagens/tipos_de_mensagens/sticker_messages.md +157 -0
  112. package/docs/mensagens/tipos_de_mensagens/template_messages.md +20 -0
  113. package/docs/mensagens/tipos_de_mensagens/text_messages.md +142 -0
  114. package/docs/mensagens/tipos_de_mensagens/video_messages.md +149 -0
  115. package/docs/mensagens/visao_geral/AGENTS.md +8 -0
  116. package/docs/mensagens/visao_geral/send_messages.md +370 -0
  117. package/docs/mensagens_de_marketing/AGENTS.md +10 -0
  118. package/docs/mensagens_de_marketing/implementacao/AGENTS.md +10 -0
  119. package/docs/mensagens_de_marketing/implementacao/get_started.md +107 -0
  120. package/docs/mensagens_de_marketing/implementacao/onboard_business_customers.md +180 -0
  121. package/docs/mensagens_de_marketing/implementacao/send_marketing_messages.md +260 -0
  122. package/docs/mensagens_de_marketing/recursos/AGENTS.md +12 -0
  123. package/docs/mensagens_de_marketing/recursos/automatic_creative_optimization.md +8 -0
  124. package/docs/mensagens_de_marketing/recursos/conversion_measurement.md +8 -0
  125. package/docs/mensagens_de_marketing/recursos/deep_links.md +302 -0
  126. package/docs/mensagens_de_marketing/recursos/track_click_events.md +119 -0
  127. package/docs/mensagens_de_marketing/recursos/view_metrics.md +338 -0
  128. package/docs/mensagens_de_marketing/visao_geral/AGENTS.md +8 -0
  129. package/docs/mensagens_de_marketing/visao_geral/overview.md +26 -0
  130. package/docs/modelos/AGENTS.md +12 -0
  131. package/docs/modelos/gerenciamento_de_modelos/AGENTS.md +21 -0
  132. package/docs/modelos/gerenciamento_de_modelos/components.md +717 -0
  133. package/docs/modelos/gerenciamento_de_modelos/supported_languages.md +462 -0
  134. package/docs/modelos/gerenciamento_de_modelos/tap_target_url_title_override.md +211 -0
  135. package/docs/modelos/gerenciamento_de_modelos/template_categorization.md +499 -0
  136. package/docs/modelos/gerenciamento_de_modelos/template_comparison.md +136 -0
  137. package/docs/modelos/gerenciamento_de_modelos/template_library.md +526 -0
  138. package/docs/modelos/gerenciamento_de_modelos/template_management.md +148 -0
  139. package/docs/modelos/gerenciamento_de_modelos/template_media.md +8 -0
  140. package/docs/modelos/gerenciamento_de_modelos/template_migration.md +164 -0
  141. package/docs/modelos/gerenciamento_de_modelos/template_pacing.md +38 -0
  142. package/docs/modelos/gerenciamento_de_modelos/template_pausing.md +58 -0
  143. package/docs/modelos/gerenciamento_de_modelos/template_quality.md +47 -0
  144. package/docs/modelos/gerenciamento_de_modelos/template_review.md +74 -0
  145. package/docs/modelos/gerenciamento_de_modelos/time_to_live.md +88 -0
  146. package/docs/modelos/modelos_de_autenticacao/AGENTS.md +13 -0
  147. package/docs/modelos/modelos_de_autenticacao/authentication_best_practices.md +73 -0
  148. package/docs/modelos/modelos_de_autenticacao/authentication_templates.md +252 -0
  149. package/docs/modelos/modelos_de_autenticacao/autofill_button_authentication_templates.md +732 -0
  150. package/docs/modelos/modelos_de_autenticacao/copy_code_button_authentication_templates.md +402 -0
  151. package/docs/modelos/modelos_de_autenticacao/error_signals.md +143 -0
  152. package/docs/modelos/modelos_de_autenticacao/zero_tap_authentication_templates.md +742 -0
  153. package/docs/modelos/modelos_de_marketing/AGENTS.md +18 -0
  154. package/docs/modelos/modelos_de_marketing/call_permission_request_message_template.md +221 -0
  155. package/docs/modelos/modelos_de_marketing/catalog_templates.md +308 -0
  156. package/docs/modelos/modelos_de_marketing/coupon_templates.md +425 -0
  157. package/docs/modelos/modelos_de_marketing/custom_marketing_templates.md +537 -0
  158. package/docs/modelos/modelos_de_marketing/limited_time_offer_templates.md +496 -0
  159. package/docs/modelos/modelos_de_marketing/marketing_templates.md +112 -0
  160. package/docs/modelos/modelos_de_marketing/media_card_carousel_templates.md +770 -0
  161. package/docs/modelos/modelos_de_marketing/mpm_templates.md +717 -0
  162. package/docs/modelos/modelos_de_marketing/per_user_limits.md +42 -0
  163. package/docs/modelos/modelos_de_marketing/product_card_carousel_templates.md +515 -0
  164. package/docs/modelos/modelos_de_marketing/spm_templates.md +466 -0
  165. package/docs/modelos/modelos_de_utilidade/AGENTS.md +8 -0
  166. package/docs/modelos/modelos_de_utilidade/utility_templates.md +583 -0
  167. package/docs/modelos/visao_geral/AGENTS.md +8 -0
  168. package/docs/modelos/visao_geral/overview.md +163 -0
  169. package/docs/pagamentos/AGENTS.md +9 -0
  170. package/docs/pagamentos/pagamentos_na_india/AGENTS.md +19 -0
  171. package/docs/pagamentos/pagamentos_na_india/checkout_button_templates.md +1332 -0
  172. package/docs/pagamentos/pagamentos_na_india/enhanced_payment_links.md +93 -0
  173. package/docs/pagamentos/pagamentos_na_india/onboarding_apis.md +580 -0
  174. package/docs/pagamentos/pagamentos_na_india/orderdetailstemplate.md +205 -0
  175. package/docs/pagamentos/pagamentos_na_india/orderstatustemplate.md +143 -0
  176. package/docs/pagamentos/pagamentos_na_india/overview.md +102 -0
  177. package/docs/pagamentos/pagamentos_na_india/payment_links.md +581 -0
  178. package/docs/pagamentos/pagamentos_na_india/pg.md +1228 -0
  179. package/docs/pagamentos/pagamentos_na_india/upi_intent/AGENTS.md +12 -0
  180. package/docs/pagamentos/pagamentos_na_india/upi_intent/dynamic_vpa.md +572 -0
  181. package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_billdesk.md +343 -0
  182. package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_cashfree.md +145 -0
  183. package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_ccavenue.md +146 -0
  184. package/docs/pagamentos/pagamentos_na_india/upi_intent/upi_intent.md +660 -0
  185. package/docs/pagamentos/pagamentos_no_brasil/AGENTS.md +14 -0
  186. package/docs/pagamentos/pagamentos_no_brasil/boleto.md +104 -0
  187. package/docs/pagamentos/pagamentos_no_brasil/offsite_pix.md +128 -0
  188. package/docs/pagamentos/pagamentos_no_brasil/one_click_payments.md +226 -0
  189. package/docs/pagamentos/pagamentos_no_brasil/orderdetailstemplate.md +180 -0
  190. package/docs/pagamentos/pagamentos_no_brasil/orders.md +768 -0
  191. package/docs/pagamentos/pagamentos_no_brasil/overview.md +32 -0
  192. package/docs/pagamentos/pagamentos_no_brasil/payment_links.md +104 -0
  193. package/docs/parceiros/AGENTS.md +12 -0
  194. package/docs/parceiros/analise_do_app/AGENTS.md +8 -0
  195. package/docs/parceiros/analise_do_app/app_review.md +91 -0
  196. package/docs/parceiros/gerenciamento/AGENTS.md +14 -0
  197. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/AGENTS.md +15 -0
  198. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_accounts.md +274 -0
  199. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_system_users.md +106 -0
  200. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_webhooks.md +277 -0
  201. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/AGENTS.md +9 -0
  202. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/manage_phone_numbers.md +248 -0
  203. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/registering_phone_numbers.md +373 -0
  204. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/share_and_revoke_credit_lines.md +551 -0
  205. package/docs/parceiros/gerenciamento/partner_led_business_verification.md +367 -0
  206. package/docs/parceiros/gerenciamento/pixel_tracking.md +35 -0
  207. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/AGENTS.md +18 -0
  208. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/adding_waba_to_mps.md +64 -0
  209. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/business_customer_support.md +102 -0
  210. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_embedded_signup.md +151 -0
  211. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_meta_business_suite.md +234 -0
  212. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_programmatically.md +292 -0
  213. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_via_embedded_signup.md +118 -0
  214. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solution_partners_via_embedded_signup.md +76 -0
  215. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_embedded_signup.md +90 -0
  216. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_meta_business_suite.md +265 -0
  217. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/support.md +48 -0
  218. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/transferring_wabas_to_customers.md +8 -0
  219. package/docs/parceiros/integracao_de_clientes/AGENTS.md +9 -0
  220. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/AGENTS.md +26 -0
  221. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/app_only_install.md +135 -0
  222. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/automatic_events_api.md +204 -0
  223. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/bypass_phone_addition.md +52 -0
  224. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/custom_flows.md +40 -0
  225. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/default_flow.md +90 -0
  226. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/errors.md +185 -0
  227. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/hosted_es.md +153 -0
  228. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/implementation.md +417 -0
  229. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_business_app_users.md +926 -0
  230. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_solution_partner.md +402 -0
  231. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_tech_provider.md +332 -0
  232. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/overview.md +168 -0
  233. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_filled_data.md +524 -0
  234. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_verified_numbers.md +291 -0
  235. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/AGENTS.md +12 -0
  236. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_2_public_preview.md +88 -0
  237. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3.md +98 -0
  238. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3_public_preview.md +88 -0
  239. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_4.md +92 -0
  240. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/versions.md +463 -0
  241. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/website_optional.md +57 -0
  242. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/AGENTS.md +11 -0
  243. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solution_embedded_creation.md +178 -0
  244. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solutions.md +775 -0
  245. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_solution_conversations.md +319 -0
  246. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/partner_initiated_waba_creation.md +74 -0
  247. package/docs/parceiros/seja_um_parceiro/AGENTS.md +11 -0
  248. package/docs/parceiros/seja_um_parceiro/get_started_for_solution_partners.md +280 -0
  249. package/docs/parceiros/seja_um_parceiro/get_started_for_tech_providers.md +194 -0
  250. package/docs/parceiros/seja_um_parceiro/measurement_partners.md +146 -0
  251. package/docs/parceiros/seja_um_parceiro/upgrade_to_tech_partner.md +94 -0
  252. package/docs/parceiros/visao_geral/AGENTS.md +8 -0
  253. package/docs/parceiros/visao_geral/overview.md +190 -0
  254. package/docs/recado/AGENTS.md +9 -0
  255. package/docs/recado/precos/AGENTS.md +11 -0
  256. package/docs/recado/precos/pricing.md +915 -0
  257. package/docs/recado/precos/pricing_authentication_international_rates.md +464 -0
  258. package/docs/recado/precos/pricing_conversation_based_pricing.md +773 -0
  259. package/docs/recado/precos/pricing_updates_to_pricing.md +8 -0
  260. package/docs/recado/sobre_a_plataforma/AGENTS.md +10 -0
  261. package/docs/recado/sobre_a_plataforma/about_the_platform.md +217 -0
  262. package/docs/recado/sobre_a_plataforma/access_tokens.md +110 -0
  263. package/docs/recado/sobre_a_plataforma/permissions.md +55 -0
  264. package/docs/referencia/AGENTS.md +92 -0
  265. package/docs/referencia/bot_do_whatsapp_business/AGENTS.md +8 -0
  266. package/docs/referencia/bot_do_whatsapp_business/bot_details_api.md +762 -0
  267. package/docs/referencia/business/AGENTS.md +14 -0
  268. package/docs/referencia/business/add_phone_numbers_api.md +726 -0
  269. package/docs/referencia/business/client_whatsapp_business_accounts_api.md +1006 -0
  270. package/docs/referencia/business/owned_whatsapp_business_accounts.md +802 -0
  271. package/docs/referencia/business/whatsapp_business_accounts_api.md +1550 -0
  272. package/docs/referencia/business/whatsapp_business_partner_onboarding_to_mm_lite_api.md +783 -0
  273. package/docs/referencia/business/whatsapp_business_pre_verified_phone_number_sharing_api.md +790 -0
  274. package/docs/referencia/business/whatsapp_business_pre_verified_phone_numbers_api.md +886 -0
  275. package/docs/referencia/changelog.md +10 -0
  276. package/docs/referencia/conta_do_whatsapp_business/AGENTS.md +24 -0
  277. package/docs/referencia/conta_do_whatsapp_business/assigned_users_management_api.md +2202 -0
  278. package/docs/referencia/conta_do_whatsapp_business/business_account_api.md +267 -0
  279. package/docs/referencia/conta_do_whatsapp_business/business_account_extended_credits_api.md +275 -0
  280. package/docs/referencia/conta_do_whatsapp_business/conversational_automation_api.md +782 -0
  281. package/docs/referencia/conta_do_whatsapp_business/flows_api.md +1532 -0
  282. package/docs/referencia/conta_do_whatsapp_business/in_progress_on_behalf_requests_api.md +8 -0
  283. package/docs/referencia/conta_do_whatsapp_business/migration_intent_api.md +1581 -0
  284. package/docs/referencia/conta_do_whatsapp_business/obo_mobility_intent_api.md +8 -0
  285. package/docs/referencia/conta_do_whatsapp_business/phone_number_management_api.md +1686 -0
  286. package/docs/referencia/conta_do_whatsapp_business/schedules_api.md +1772 -0
  287. package/docs/referencia/conta_do_whatsapp_business/set_obo_mobility_intent_api.md +8 -0
  288. package/docs/referencia/conta_do_whatsapp_business/set_solution_migration_intent_api.md +8 -0
  289. package/docs/referencia/conta_do_whatsapp_business/subscribed_apps_api.md +2178 -0
  290. package/docs/referencia/conta_do_whatsapp_business/template_api.md +976 -0
  291. package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_activities_api.md +842 -0
  292. package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_api.md +1384 -0
  293. package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_solutions_list_api.md +854 -0
  294. package/docs/referencia/grupo/AGENTS.md +11 -0
  295. package/docs/referencia/grupo/groups_invite_link_api.md +304 -0
  296. package/docs/referencia/grupo/groups_join_requests_api.md +686 -0
  297. package/docs/referencia/grupo/groups_participants_api.md +274 -0
  298. package/docs/referencia/grupo/groups_query_api.md +436 -0
  299. package/docs/referencia/historico_de_mensagens/AGENTS.md +8 -0
  300. package/docs/referencia/historico_de_mensagens/whatsapp_business_message_history_events_api.md +866 -0
  301. package/docs/referencia/inscricao/AGENTS.md +10 -0
  302. package/docs/referencia/inscricao/application_connected_client_businesses.md +812 -0
  303. package/docs/referencia/inscricao/application_solutions_api.md +874 -0
  304. package/docs/referencia/inscricao/solution_creation_api.md +824 -0
  305. package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/AGENTS.md +8 -0
  306. package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/migration_intent_details_api.md +724 -0
  307. package/docs/referencia/midias/AGENTS.md +9 -0
  308. package/docs/referencia/midias/media_api.md +342 -0
  309. package/docs/referencia/midias/media_download_api.md +160 -0
  310. package/docs/referencia/numero_da_conta_do_whatsapp/AGENTS.md +8 -0
  311. package/docs/referencia/numero_da_conta_do_whatsapp/whatsapp_account_number_api.md +778 -0
  312. package/docs/referencia/perfil_do_whatsapp_business/AGENTS.md +8 -0
  313. package/docs/referencia/perfil_do_whatsapp_business/whatsapp_business_profile_node_api.md +1494 -0
  314. package/docs/referencia/solucao_do_whatsapp_business/AGENTS.md +14 -0
  315. package/docs/referencia/solucao_do_whatsapp_business/accept_deactivation_request_api.md +762 -0
  316. package/docs/referencia/solucao_do_whatsapp_business/access_token_api.md +704 -0
  317. package/docs/referencia/solucao_do_whatsapp_business/reject_deactivation_request_api.md +812 -0
  318. package/docs/referencia/solucao_do_whatsapp_business/send_deactivation_request_api.md +778 -0
  319. package/docs/referencia/solucao_do_whatsapp_business/solution_accept_api.md +812 -0
  320. package/docs/referencia/solucao_do_whatsapp_business/solution_details_api.md +768 -0
  321. package/docs/referencia/solucao_do_whatsapp_business/solution_reject_api.md +798 -0
  322. package/docs/referencia/telefone_do_whatsapp_business/AGENTS.md +29 -0
  323. package/docs/referencia/telefone_do_whatsapp_business/block_api.md +542 -0
  324. package/docs/referencia/telefone_do_whatsapp_business/business_compliance_information_api.md +1608 -0
  325. package/docs/referencia/telefone_do_whatsapp_business/business_encryption_api.md +1402 -0
  326. package/docs/referencia/telefone_do_whatsapp_business/calling_api.md +598 -0
  327. package/docs/referencia/telefone_do_whatsapp_business/encrypted_messages_api.md +482 -0
  328. package/docs/referencia/telefone_do_whatsapp_business/groups_management_api.md +485 -0
  329. package/docs/referencia/telefone_do_whatsapp_business/marketing_messages_lite_api.md +315 -0
  330. package/docs/referencia/telefone_do_whatsapp_business/media_upload_api.md +188 -0
  331. package/docs/referencia/telefone_do_whatsapp_business/message_api.md +1798 -0
  332. package/docs/referencia/telefone_do_whatsapp_business/phone_number_api.md +377 -0
  333. package/docs/referencia/telefone_do_whatsapp_business/phone_number_deregister_api.md +714 -0
  334. package/docs/referencia/telefone_do_whatsapp_business/phone_number_registration.md +780 -0
  335. package/docs/referencia/telefone_do_whatsapp_business/phone_number_verification_request_code_api.md +734 -0
  336. package/docs/referencia/telefone_do_whatsapp_business/register_api.md +411 -0
  337. package/docs/referencia/telefone_do_whatsapp_business/settings_api.md +674 -0
  338. package/docs/referencia/telefone_do_whatsapp_business/verify_code_api.md +746 -0
  339. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_message_history_api.md +932 -0
  340. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_official_business_account_status_api.md +1540 -0
  341. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_phone_number_api.md +1600 -0
  342. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_profile_api.md +1478 -0
  343. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_api.md +1179 -0
  344. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_management_api.md +1315 -0
  345. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/AGENTS.md +11 -0
  346. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/request_verification_code_api.md +778 -0
  347. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/verify_code_api.md +768 -0
  348. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_api.md +1382 -0
  349. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_partners_api.md +820 -0
  350. package/docs/referencia/usuario/AGENTS.md +8 -0
  351. package/docs/referencia/usuario/assigned_whatsapp_business_accounts_api.md +864 -0
  352. package/docs/referencia/webhooks/AGENTS.md +8 -0
  353. package/docs/referencia/webhooks/whatsapp_incoming_webhook_payload.md +1655 -0
  354. package/docs/suporte/AGENTS.md +13 -0
  355. package/docs/suporte/api_status_page.md +134 -0
  356. package/docs/suporte/error_codes.md +1194 -0
  357. package/docs/suporte/experiments.md +26 -0
  358. package/docs/suporte/health_status.md +225 -0
  359. package/docs/suporte/load_testing.md +340 -0
  360. package/docs/suporte/support.md +408 -0
  361. package/docs/visao_geral/AGENTS.md +8 -0
  362. package/docs/visao_geral/overview.md +2590 -0
  363. package/docs/webhooks/AGENTS.md +41 -0
  364. package/docs/webhooks/referencia/AGENTS.md +20 -0
  365. package/docs/webhooks/referencia/account_alerts.md +190 -0
  366. package/docs/webhooks/referencia/account_review_update.md +90 -0
  367. package/docs/webhooks/referencia/account_update.md +379 -0
  368. package/docs/webhooks/referencia/business_capability_update.md +121 -0
  369. package/docs/webhooks/referencia/history.md +302 -0
  370. package/docs/webhooks/referencia/message_template_components_update.md +179 -0
  371. package/docs/webhooks/referencia/message_template_quality_update.md +136 -0
  372. package/docs/webhooks/referencia/message_template_status_update.md +253 -0
  373. package/docs/webhooks/referencia/messages/AGENTS.md +24 -0
  374. package/docs/webhooks/referencia/messages/audio.md +298 -0
  375. package/docs/webhooks/referencia/messages/button.md +170 -0
  376. package/docs/webhooks/referencia/messages/contacts.md +491 -0
  377. package/docs/webhooks/referencia/messages/document.md +307 -0
  378. package/docs/webhooks/referencia/messages/errors.md +132 -0
  379. package/docs/webhooks/referencia/messages/image.md +304 -0
  380. package/docs/webhooks/referencia/messages/interactive.md +225 -0
  381. package/docs/webhooks/referencia/messages/location.md +296 -0
  382. package/docs/webhooks/referencia/messages/messages.md +44 -0
  383. package/docs/webhooks/referencia/messages/order.md +208 -0
  384. package/docs/webhooks/referencia/messages/reaction.md +178 -0
  385. package/docs/webhooks/referencia/messages/status.md +364 -0
  386. package/docs/webhooks/referencia/messages/sticker.md +298 -0
  387. package/docs/webhooks/referencia/messages/system.md +140 -0
  388. package/docs/webhooks/referencia/messages/text.md +322 -0
  389. package/docs/webhooks/referencia/messages/unsupported.md +165 -0
  390. package/docs/webhooks/referencia/messages/video.md +304 -0
  391. package/docs/webhooks/referencia/outros_webhooks/AGENTS.md +16 -0
  392. package/docs/webhooks/referencia/outros_webhooks/partner_solutions.md +114 -0
  393. package/docs/webhooks/referencia/outros_webhooks/payment_configuration_update.md +135 -0
  394. package/docs/webhooks/referencia/outros_webhooks/phone_number_name_update.md +129 -0
  395. package/docs/webhooks/referencia/outros_webhooks/phone_number_quality_update.md +172 -0
  396. package/docs/webhooks/referencia/outros_webhooks/security.md +108 -0
  397. package/docs/webhooks/referencia/outros_webhooks/smb_app_state_sync.md +146 -0
  398. package/docs/webhooks/referencia/outros_webhooks/smb_message_echoes.md +143 -0
  399. package/docs/webhooks/referencia/outros_webhooks/template_category_update.md +154 -0
  400. package/docs/webhooks/referencia/outros_webhooks/user_preferences.md +150 -0
  401. package/docs/webhooks/visao_geral/AGENTS.md +11 -0
  402. package/docs/webhooks/visao_geral/message_echoes.md +8 -0
  403. package/docs/webhooks/visao_geral/override.md +235 -0
  404. package/docs/webhooks/visao_geral/overview.md +158 -0
  405. package/docs/webhooks/visao_geral/set_up_whatsapp_echo_bot.md +109 -0
  406. 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
+ ![](https://scontent-gru1-2.xx.fbcdn.net/v/t39.2365-6/544891318_1193716362844107_2249981522588832509_n.png?_nc_cat=103&ccb=1-7&_nc_sid=e280be&_nc_ohc=CbfjvbCCMq8Q7kNvwFqaflV&_nc_oc=AdlCvzxEsZ3jmk_4i9sE_Gv_L8yehRegI06uRPxTr5V77v828O6lzUccqeL7L7Klazs&_nc_zt=14&_nc_ht=scontent-gru1-2.xx&_nc_gid=HPZAxWPmCU9CKphkSEb-kA&oh=00_AfnYc6J5PtqWym8DAB7H6S1q6-4KAOShgyKp5KnP03pKqQ&oe=69611001)
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
+ ![](https://scontent-gru1-1.xx.fbcdn.net/v/t39.2365-6/335941006_3334832200114460_5878835743521475587_n.png?_nc_cat=101&ccb=1-7&_nc_sid=e280be&_nc_ohc=IFp8ypI95ZMQ7kNvwE86SRK&_nc_oc=Adn0cnItohLAJDu1RG36AU0PcRzwMYh8JB_Z0kiAIhZmkP6DqlQ6Ky-5tlO9-dNSZX4&_nc_zt=14&_nc_ht=scontent-gru1-1.xx&_nc_gid=HPZAxWPmCU9CKphkSEb-kA&oh=00_Afm7GzpEyYTrNUeJA1aOUJld_GWcpAsdZ3twuTNQ_-ZNJA&oe=69612EAC)
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
+ ![Ícone de polegar para cima](https://static.xx.fbcdn.net/rsrc.php/yR/r/OEXJ0_DJeZv.svg)
731
+
732
+ ![Ícone de polegar para baixo](https://static.xx.fbcdn.net/rsrc.php/yb/r/qKPgNVNeatU.svg)