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,742 @@
1
+ <!-- Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/authentication-templates/zero-tap-authentication-templates -->
2
+ <!-- Scraped: 2025-12-20T17:30:46.220Z -->
3
+
4
+ # Modelos de autenticação sem toque
5
+
6
+ Updated: 4 de nov de 2025
7
+
8
+ Os modelos de autenticação de toque zero permitem que seus usuários recebam senhas ou códigos descartáveis via WhatsApp sem que precisem sair do app.
9
+
10
+ Quando um usuário solicita uma senha ou um código e você entrega essa chave usando um modelo de autenticação sem toque, o cliente do WhatsApp simplesmente transmite a senha ou o código incluído, que pode ser capturado pelo seu app usando um receptor de transmissão.
11
+
12
+ Do ponto de vista do usuário, ele solicita uma senha ou um código no seu app, e o item solicitado aparece automaticamente no app. Caso o usuário do app verifique a mensagem no cliente do WhatsApp, ele verá apenas uma mensagem exibindo o texto fixo padrão: _< code > é seu código de verificação._
13
+
14
+ Assim como acontece com os modelos de autenticação com botão de preencher automaticamente com um toque, quando o cliente do WhatsApp recebe o modelo de mensagem com a senha ou o código do usuário, realizamos uma série de verificações de qualificação. Se a mensagem falhar nessa verificação e não conseguirmos transmitir a senha ou o código, ela exibirá um botão de preencher automaticamente com um toque ou um botão de copiar código. Por isso, ao criar um modelo de autenticação sem toque, será preciso incluir o botão de preencher automaticamente com um toque e copiar código na carga do corpo do post, mesmo que o usuário não veja esses botões.
15
+
16
+ Observação: 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.
17
+
18
+ ## Limitações
19
+
20
+ O recurso de toque zero só é compatível com o Android. Se você enviar um modelo de autenticação sem toque a um usuário cujo dispositivo não seja Android, o cliente do WhatsApp exibirá um botão de copiar código.
21
+
22
+ URLs, mídia e emojis não são compatíveis.
23
+
24
+ ## Boas práticas
25
+
26
+ - Não use o WhatsApp como método de entrega de senha/código padrão.- Deixe claro para os usuários do app que a senha ou o código será entregue automaticamente no app quando eles selecionarem o WhatsApp como opção de entrega.- Confira o artigo da Central de Ajuda [Sobre códigos de segurança preenchidos automaticamente no WhatsApp](https://l.facebook.com/l.php?u=https%3A%2F%2Ffaq.whatsapp.com%2F659113242716268%2F&h=AT3ZepR5Nalg6VDCV1Va5hdioY0kJfJ4eMMjhimJpTtEpmx5tG2WjFwzHU-pckkaFwFseihRH1bM8B6ccsUt2r1lmAsQiAGb-NOGoXECYiSfRrFllNvE4CbgRF0neeSNsKRd2sPAIaRWj4V9v5uxttTXTqM) se os seus usuários estiverem preocupados com a entrega automática da senha ou do código.- Depois que a senha/código for usado no app, confirme ao usuário que ele foi recebido com sucesso.
27
+
28
+ Confira alguns exemplos que explicam ao usuário que o código será exibido automaticamente no app.
29
+
30
+ ![](https://scontent-gru2-1.xx.fbcdn.net/v/t39.2365-6/391694662_849209140220804_774216131431245181_n.png?_nc_cat=109&ccb=1-7&_nc_sid=e280be&_nc_ohc=SHmjhJ09Y0EQ7kNvwFhGL5Z&_nc_oc=Adl8NMo7RvcdnzgiKcqe1DQZIV-CLK6332B0FHjVS5HcKlcCQgfefOqHg7WUA9qTMUI&_nc_zt=14&_nc_ht=scontent-gru2-1.xx&_nc_gid=wFNVqpA4YlFnZ56pbJ-OJg&oh=00_AfkIGHaCTCSTBcQ-nd6TyvSlfuuQY7on-3YKt9vcsyb_fg&oe=696125AA)
31
+
32
+ ## Como criar modelos de autenticação
33
+
34
+ Use o ponto de extremidade em [Conta do WhatsApp Business > Modelos de mensagem](/documentation/business-messaging/whatsapp/reference/whatsapp-business-account/template-api) para criar um modelo de autenticação sem toque.
35
+
36
+ ### Sintaxe da solicitação
37
+
38
+ ```
39
+ curl -X POST "https://graph.facebook.com/v19.0/<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates" \
40
+ -H "Authorization: Bearer <ACCESS_TOKEN>" \
41
+ -H "Content-Type: application/json" \
42
+ -d '
43
+ {
44
+ "name": "<TEMPLATE_NAME>",
45
+ "language": "<TEMPLATE_LANGUAGE>",
46
+ "category": "authentication",
47
+ "message_send_ttl_seconds": <TIME_TO_LIVE>,
48
+ "components": [
49
+ {
50
+ "type": "body",
51
+ "add_security_recommendation": <SECURITY_RECOMMENDATION>
52
+ },
53
+ {
54
+ "type": "footer",
55
+ "code_expiration_minutes": <CODE_EXPIRATION>
56
+ },
57
+ {
58
+ "type": "buttons",
59
+ "buttons": [
60
+ {
61
+ "type": "otp",
62
+ "otp_type": "zero_tap",
63
+ "text": "<CODY_CODE_BUTTON_TEXT>",
64
+ "autofill_text": "<AUTOFILL_BUTTON_TEXT>",
65
+ "zero_tap_terms_accepted": <TERMS_ACCEPTED>,
66
+ "supported_apps": [
67
+ {
68
+ "package_name": "<PACKAGE_NAME>",
69
+ "signature_hash": "<SIGNATURE_HASH>"
70
+ }
71
+ ]
72
+ }
73
+ ]
74
+ }
75
+ ]
76
+ }'
77
+ ```
78
+
79
+ 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.
80
+
81
+ ### Parâmetros de solicitação
82
+
83
+ Espaço reservado
84
+
85
+ Descrição
86
+
87
+ Valor de exemplo
88
+
89
+ `<AUTOFILL_BUTTON_TEXT>`
90
+
91
+ _String_
92
+
93
+ **Opcional.**
94
+
95
+ O texto da etiqueta do botão de preencher automaticamente com um toque.
96
+
97
+ Em caso de omissão, o texto de preenchimento automático será, por padrão, um valor predefinido no idioma do modelo. Por exemplo, "Preenchimento automático para português (BR)".
98
+
99
+ Máximo de 25 caracteres.
100
+
101
+ `Autofill`
102
+
103
+ `<COPY_CODE_BUTTON_TEXT>`
104
+
105
+ _String_
106
+
107
+ **Opcional.**
108
+
109
+ O texto da etiqueta do botão de copiar código.
110
+
111
+ Se a mensagem não for aprovada na [verificação de qualificação](#eligibility-check) e exibir um botão de copiar código, o botão usará esse rótulo de texto.
112
+
113
+ Se for omitido, e a mensagem não for aprovada na verificação de qualificação e exibir um botão de copiar código, o texto padrão usará um valor predefinido localizado para o idioma do modelo. Por exemplo, `Copy Code` para português (BR).
114
+
115
+ Máximo de 25 caracteres.
116
+
117
+ `Copy Code`
118
+
119
+ `<CODE_EXPIRATION>`
120
+
121
+ _Número inteiro_
122
+
123
+ **Opcional.**
124
+
125
+ A validade da senha ou do código em minutos.
126
+
127
+ Se for incluído, o aviso de expiração do código e esse valor serão exibidos na mensagem entregue. Caso a mensagem não passe na [verificação de qualificação](#eligibility-check) e exiba um botão de preencher automaticamente com um toque, o botão será desabilitado na mensagem com base no número de minutos indicado, decorridos após o envio da mensagem.
128
+
129
+ Caso seja omitido, o aviso de expiração do código não será exibido na mensagem. Se a mensagem não for aprovada na verificação de qualificação e exibir um botão de preencher automaticamente com um toque, o botão será desabilitado dez minutos após o envio da mensagem.
130
+
131
+ Mínimo 1, máximo 90.
132
+
133
+ `5`
134
+
135
+ `<PACKAGE_NAME>`
136
+
137
+ _String_
138
+
139
+ **Obrigatório.**
140
+
141
+ O nome do pacote do app Android.
142
+
143
+ A string deve ter pelo menos dois segmentos (um ou mais pontos), e cada segmento precisa começar com uma letra.
144
+
145
+ Todos os caracteres devem ser alfanuméricos ou um sublinhado (`a-zA-Z0-9_`).
146
+
147
+ 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.
148
+
149
+ Máximo de 224 caracteres.
150
+
151
+ `com.example.luckyshrub`
152
+
153
+ `<SECURITY_RECOMMENDATION>`
154
+
155
+ _Booliano_
156
+
157
+ **Opcional.**
158
+
159
+ Defina como `true` se quiser que o modelo inclua a string fixa, Para sua segurança, não compartilhe este código. Caso contrário, defina como `false`.
160
+
161
+ `true`
162
+
163
+ `<SIGNATURE_HASH>`
164
+
165
+ _String_
166
+
167
+ **Obrigatório.**
168
+
169
+ O hash da chave de assinatura do app. Consulte [Hash da chave de assinatura do app](#app-signing-key-hash) abaixo.
170
+
171
+ Todos os caracteres devem ser alfanuméricos, `+`, `/` ou `=` (`a-zA-Z0-9+/=`).
172
+
173
+ 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.
174
+
175
+ Precisa ter exatamente 11 caracteres.
176
+
177
+ `K8a/AINcGX7`
178
+
179
+ `<TEMPLATE_LANGUAGE>`
180
+
181
+ _String_
182
+
183
+ **Obrigatório.**
184
+
185
+ O [código de localidade e idioma](/documentation/business-messaging/whatsapp/templates/supported-languages) do modelo.
186
+
187
+ `en_US`
188
+
189
+ `<TEMPLATE_NAME>`
190
+
191
+ _String_
192
+
193
+ **Obrigatório.**
194
+
195
+ O nome do modelo.
196
+
197
+
198
+ Máximo de 512 caracteres.
199
+
200
+ `zero_tap_auth_template`
201
+
202
+ `<TERMS_ACCEPTED>`
203
+
204
+ _Booliano_
205
+
206
+ **Obrigatório.**
207
+
208
+ Defina como `true` para indicar que você entende que o uso da autenticação de toque zero está sujeito aos Termos de Serviço do WhatsApp Business e que é sua responsabilidade garantir que os clientes esperem o preenchimento automático do código em nome deles quando optarem por recebê-lo por meio do WhatsApp.
209
+
210
+ Se estiver definido como `false`, o modelo **não** será criado, já que você precisa aceitar os termos da opção sem toque antes de criar modelos de mensagem habilitados para essa opção.
211
+
212
+ `true`
213
+
214
+ `<TIME_TO_LIVE>`
215
+
216
+ _Número inteiro_
217
+
218
+ **Opcional.**
219
+
220
+ Valor do tempo de vida da mensagem de autenticação, em segundos. Consulte a seção [Tempo de vida](/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates#time-to-live).
221
+
222
+ `60`
223
+
224
+ ### Exemplo de solicitação
225
+
226
+ ```
227
+ curl 'https://graph.facebook.com/v24.0/102290129340398/message_templates' \
228
+ -H 'Content-Type: application/json' \
229
+ -H 'Authorization: Bearer EAAJB...' \
230
+ -d '
231
+ {
232
+ "name": "zero_tap_auth_template",
233
+ "language": "en_US",
234
+ "category": "authentication",
235
+ "message_send_ttl_seconds": 60,
236
+ "components": [
237
+ {
238
+ "type": "body",
239
+ "add_security_recommendation": true
240
+ },
241
+ {
242
+ "type": "footer",
243
+ "code_expiration_minutes": 5
244
+ },
245
+ {
246
+ "type": "buttons",
247
+ "buttons": [
248
+ {
249
+ "type": "otp",
250
+ "otp_type": "zero_tap",
251
+ "text": "Copy Code",
252
+ "autofill_text": "Autofill",
253
+ "zero_tap_terms_accepted": true,
254
+ "supported_apps": [
255
+ {
256
+ "package_name": "com.example.luckyshrub",
257
+ "signature_hash": "K8a/AINcGX7"
258
+ }
259
+ ]
260
+ }
261
+ ]
262
+ }
263
+ ]
264
+ }'
265
+ ```
266
+
267
+ ### Exemplo de resposta
268
+
269
+ ```
270
+ {  "id": "594425479261596",  "status": "PENDING",  "category": "AUTHENTICATION"}
271
+ ```
272
+
273
+ ## Hash de chave de assinatura do app
274
+
275
+ É preciso incluir o hash de chave de assinatura do seu app no corpo do post.
276
+
277
+ 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=AT3ZepR5Nalg6VDCV1Va5hdioY0kJfJ4eMMjhimJpTtEpmx5tG2WjFwzHU-pckkaFwFseihRH1bM8B6ccsUt2r1lmAsQiAGb-NOGoXECYiSfRrFllNvE4CbgRF0neeSNsKRd2sPAIaRWj4V9v5uxttTXTqM).
278
+
279
+ 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=AT3ZepR5Nalg6VDCV1Va5hdioY0kJfJ4eMMjhimJpTtEpmx5tG2WjFwzHU-pckkaFwFseihRH1bM8B6ccsUt2r1lmAsQiAGb-NOGoXECYiSfRrFllNvE4CbgRF0neeSNsKRd2sPAIaRWj4V9v5uxttTXTqM) para calcular o hash. Por exemplo:
280
+
281
+ ```
282
+ ./sms_retriever_hash_v9.sh --package "com.example.myapplication" --keystore ~/.android/debug.keystore
283
+ ```
284
+
285
+ ## apps compatíveis
286
+
287
+ 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:
288
+
289
+ ```
290
+ "buttons": [
291
+ {
292
+ "type": "otp",
293
+ ...
294
+ "supported_apps": [
295
+ {
296
+ "package_name": "<PACKAGE_NAME_1>",
297
+ "signature_hash": "<SIGNATURE_HASH_1>"
298
+ },
299
+ {
300
+ "package_name": "<PACKAGE_NAME_2>",
301
+ "signature_hash": "<SIGNATURE_HASH_2>"
302
+ },
303
+ ...
304
+ ]
305
+ }
306
+ ]
307
+ ```
308
+
309
+ 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:
310
+
311
+ ```
312
+ "buttons": [
313
+ {
314
+ "type": "otp",
315
+ ...
316
+ "package_name": "<PACKAGE_NAME>",
317
+ "signature_hash": "<SIGNATURE_HASH>"
318
+ }
319
+ ]
320
+ ```
321
+
322
+ ## Handshake
323
+
324
+ É 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".
325
+
326
+ Um handshake é uma classe pública e um intent do Android que você implementa, mas que pode ser iniciado pelo cliente do WhatsApp.
327
+
328
+ Quando um usuário do seu app solicitar o envio de uma senha ou um código para o número do WhatsApp dele, primeiro você precisará [iniciar o handshake](#initiating-the-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](#eligibility-check). Se não houver erros, será iniciada uma transmissão.
329
+
330
+ Se você não iniciar o handshake antes de enviar a mensagem ou se a mensagem não for aprovada na verificação de qualificação, a transmissão não será iniciada. Em vez disso, a mensagem entregue exibirá um botão de preenchimento automático em um toque, se possível. Caso contrário, será exibido um botão de copiar código.
331
+
332
+ ### Verificação de qualificação
333
+
334
+ Ao receber uma mensagem de modelo de autenticação, o cliente do WhatsApp faz as verificações a seguir. Se alguma verificação falhar, o WhatsApp tentará exibir o botão de preencher automaticamente com um toque na mensagem. Se não for possível fazer isso, o usuário verá um botão de copiar código.
335
+
336
+ - O handshake foi iniciado há não mais que dez 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 app. Consulte [Classe do botão de preencher automaticamente com um toque](#one-tap-autofill-button-class--optional-).- 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.- O app definiu uma atividade e classe de botão de preencher automaticamente com um toque para receber a senha ou o código.- O app definiu uma classe e um recebedor de transmissão sem toque para receber a senha ou o código.
337
+
338
+ ### Notificações no Android
339
+
340
+ 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:
341
+
342
+ - 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.
343
+
344
+ ### Usar o SDK (beta)
345
+
346
+ 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.
347
+
348
+ Para acessar a funcionalidade do SDK, adicione a seguinte configuração ao arquivo Gradle:
349
+
350
+ ```
351
+ dependencies {
352
+
353
+ implementation 'com.whatsapp.otp:whatsapp-otp-android-sdk:0.1.0'
354
+
355
+ }
356
+ ```
357
+
358
+ Nos seus repositórios, inclua `mavenCentral()`:
359
+
360
+ ```
361
+ repositories {
362
+
363
+ mavenCentral()
364
+
365
+ }
366
+ ```
367
+
368
+ ### Destinatário da transmissão sem toque
369
+
370
+ Declare um filtro de intenção e um Destinatário que possa receber a senha ou o código descartável. O filtro de intenção deve ter o nome da ação com.whatsapp.otp.OTP\_RETRIEVED.
371
+
372
+ ```
373
+ <receiver
374
+ android:name=".app.receiver.OtpCodeReceiver"
375
+ android:enabled="true"
376
+ android:exported="true">
377
+ <intent-filter><action android:name="com.whatsapp.otp.OTP_RETRIEVED" /></intent-filter></receiver>
378
+ ```
379
+
380
+ Esse é o destinatário que o app WhatsApp ou WhatsApp Business iniciará quando a mensagem do modelo de autenticação for recebida e passar pelas [verificações de elegibilidade](/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates#eligibility-checks).
381
+
382
+ ### Classe de receptores sem toque
383
+
384
+ Usar o SDK (recomendado)
385
+
386
+ Defina uma classe que estenda `BroadcastReceiver` e, depois, defina o método `onReceive`, transmitindo seu contexto e intenção. Instancie um objeto `WhatsAppOtpIncomingIntentHandler` e execute o método `.processOtpCode()`, que receberá a intenção, validará o código OTP e lidará com os erros.
387
+
388
+ ```
389
+ public class OtpCodeReceiver extends BroadcastReceiver {
390
+
391
+ @Override
392
+ public void onReceive(Context context, Intent intent) {
393
+ WhatsAppOtpIncomingIntentHandler whatsAppOtpIncomingIntentHandler = new WhatsAppOtpIncomingIntentHandler();
394
+ whatsAppOtpIncomingIntentHandler.processOtpCode(intent,
395
+ // call your function to validate
396
+ (code) -> validateCode(code),
397
+ // call your function to handle errors
398
+ (error, exception) -> handleError(error, exception));
399
+ }
400
+ }
401
+ ```
402
+
403
+ #### Sem o SDK
404
+
405
+ A classe de receptores de transmissão deverá ficar assim:
406
+
407
+ ```
408
+ public class OtpCodeReceiver extends BroadcastReceiver
409
+
410
+ @Override
411
+ public void onReceive(Context context, Intent intent) {
412
+ PendingIntent pendingIntent = intent.getParcelableExtra("_ci_");
413
+ // verify source of the pendingIntent
414
+ String pendingIntentCreatorPackage = pendingIntent.getCreatorPackage();
415
+
416
+ String creatorPackage = pendingIntent.getCreatorPackage();
417
+ if ("com.whatsapp".equals(creatorPackage) ||
418
+ "com.whatsapp.w4b".equals(creatorPackage)) {
419
+ // use OTP code
420
+ String otpCode = intent.getStringExtra("code");
421
+ // ...
422
+ }
423
+ }
424
+ }
425
+ ```
426
+
427
+ ### Atividade do botão de preencher automaticamente com um toque (opcional)
428
+
429
+ Se quiser que mensagem entregue seja preenchida automaticamente com um toque, caso não seja aprovada na verificação de qualificação, implemente essa atividade e filtro de intenção no seu app para receber a senha ou o código de uso único.
430
+
431
+ O filtro de intenção deve ter o nome da ação `com.whatsapp.otp.OTP_RETRIEVED`.
432
+
433
+ ```
434
+ <activity
435
+ android:name=".ReceiveCodeActivity"
436
+ android:enabled="true"
437
+ android:exported="true"
438
+ android:launchMode="standard">
439
+ <intent-filter><action android:name="com.whatsapp.otp.OTP_RETRIEVED" /></intent-filter></activity>
440
+ ```
441
+
442
+ Essa é a atividade que será iniciada pelo cliente do WhatsApp se a mensagem não for aprovada na verificação de qualificação, mas ainda estiver qualificada para exibir um botão de preencher automaticamente com um toque.
443
+
444
+ ### Classe de atividade do botão de preencher automaticamente com um toque (opcional)
445
+
446
+ Se você quiser que a mensagem mostre um botão de preenchimento automático com um toque em caso de falha na verificação de qualificação, defina a classe pública de atividade que aceitará o código assim que o usuário tocar no botão.
447
+
448
+ ```
449
+ public class ReceiveCodeActivity extends AppCompatActivity {
450
+
451
+ @Override
452
+ protected void onCreate(Bundle savedInstanceState) {
453
+ super.onCreate(savedInstanceState);
454
+ Intent intent = getIntent();
455
+ // retrieve PendingIntent from extras bundle
456
+ PendingIntent pendingIntent = intent.getParcelableExtra("_ci_");
457
+ // verify source of the pendingIntent
458
+ String pendingIntentCreatorPackage = pendingIntent.getCreatorPackage();
459
+ // check if creatorPackage is "com.whatsapp" -> WA consumer app Or
460
+ // "com.whatsapp.w4b" -> WA business app
461
+ if ("com.whatsapp".equals(creatorPackage) || "com.whatsapp.w4b".equals(creatorPackage)) {
462
+ // use OTP code
463
+ String otpCode = intent.getStringExtra("code");
464
+ }
465
+ }
466
+ }
467
+ ```
468
+
469
+ ### Iniciar o handshake
470
+
471
+ #### Usar o SDK (recomendado)
472
+
473
+ Para executar um handshake, você pode instanciar o objeto `WhatsAppOtpHandler` e passar no seu contexto para o método `.sendOtpIntentToWhatsApp()`:
474
+
475
+ ```
476
+ WhatsAppOtpHandler whatsAppOtpHandler = new WhatsAppOtpHandler();
477
+ whatsAppOtpHandler.sendOtpIntentToWhatsApp(context);
478
+ ```
479
+
480
+ #### Sem o SDK
481
+
482
+ O exemplo abaixo demonstra uma forma de iniciar o handshake com o app WhatsApp ou WhatsApp Business.
483
+
484
+ ```
485
+ public void sendOtpIntentToWhatsApp() {
486
+ // Send OTP_REQUESTED intent to both WA and WA Business App
487
+ sendOtpIntentToWhatsApp("com.whatsapp");
488
+ sendOtpIntentToWhatsApp("com.whatsapp.w4b");
489
+ }
490
+
491
+ private void sendOtpIntentToWhatsApp(String packageName) {
492
+
493
+ /**
494
+ * Starting with Build.VERSION_CODES.S, it will be required to explicitly
495
+ * specify the mutability of PendingIntents on creation with either
496
+ * (@link #FLAG_IMMUTABLE} or FLAG_MUTABLE
497
+ */
498
+ int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ? FLAG_IMMUTABLE : 0;
499
+ PendingIntent pi = PendingIntent.getActivity(
500
+ getApplicationContext(),
501
+ 0,
502
+ new Intent(),
503
+ flags);
504
+
505
+ // Send OTP_REQUESTED intent to WhatsApp
506
+ Intent intentToWhatsApp = new Intent();
507
+ intentToWhatsApp.setPackage(packageName);
508
+ intentToWhatsApp.setAction("com.whatsapp.otp.OTP_REQUESTED");
509
+ // WA will use this to verify the identity of the caller app.
510
+ Bundle extras = intentToWhatsApp.getExtras();
511
+ if (extras == null) {
512
+ extras = new Bundle();
513
+ }
514
+ extras.putParcelable("_ci_", pi);
515
+ intentToWhatsApp.putExtras(extras);
516
+ getApplicationContext().sendBroadcast(intentToWhatsApp);
517
+ }
518
+ ```
519
+
520
+ ### Verificar se o WhatsApp foi instalado
521
+
522
+ É 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.
523
+
524
+ Primeiro, adicione o seguinte ao seu arquivo `AndroidManifest.xml`:
525
+
526
+ ```
527
+ <queries><package android:name="com.whatsapp"/><package android:name="com.whatsapp.w4b"/></queries>
528
+ ```
529
+
530
+ Instancie o objeto `WhatsAppOtpHandler`:
531
+
532
+ ```
533
+ WhatsAppOtpHandler whatsAppOtpHandler = new WhatsAppOtpHandler();
534
+ ```
535
+
536
+ Verifique se o cliente do WhatsApp está instalado passando o método `.isWhatsAppInstalled()` como a cláusula de uma instrução `If`:
537
+
538
+ ```
539
+ If (whatsAppOtpHandler.isWhatsAppInstalled(context)) {
540
+ // ... do something
541
+ }
542
+ ```
543
+
544
+ ## Sinais de erro
545
+
546
+ Consulte [Sinais de erro](/documentation/business-messaging/whatsapp/templates/authentication-templates/error-signals) para ajudar na depuração de erros.
547
+
548
+ ## Enviar modelos de autenticação
549
+
550
+ Importante: **primeiro, você precisa iniciar um handshake** entre seu app e o cliente do WhatsApp. Consulte a seção [Handshake](#handshake) acima.
551
+
552
+ ### Solicitação
553
+
554
+ Use o ponto de extremidade em [Número de telefone do WhatsApp Business > Mensagens](/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).
555
+
556
+ ### Sintaxe da solicitação
557
+
558
+ ```
559
+ curl -X POST "https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages" \
560
+ -H "Authorization: Bearer <ACCESS_TOKEN>" \
561
+ -H "Content-Type: application/json" \
562
+ -d '
563
+ {
564
+ "messaging_product": "whatsapp",
565
+ "recipient_type": "individual",
566
+ "to": "<CUSTOMER_PHONE_NUMBER>",
567
+ "type": "template",
568
+ "template": {
569
+ "name": "<TEMPLATE_NAME>",
570
+ "language": {
571
+ "code": "<TEMPLATE_LANGUAGE_CODE>"
572
+ },
573
+ "components": [
574
+ {
575
+ "type": "body",
576
+ "parameters": [
577
+ {
578
+ "type": "text",
579
+ "text": "<ONE-TIME PASSWORD>"
580
+ }
581
+ ]
582
+ },
583
+ {
584
+ "type": "button",
585
+ "sub_type": "url",
586
+ "index": "0",
587
+ "parameters": [
588
+ {
589
+ "type": "text",
590
+ "text": "<ONE-TIME PASSWORD>"
591
+ }
592
+ ]
593
+ }
594
+ ]
595
+ }
596
+ }'
597
+ ```
598
+
599
+ ### Parâmetros de solicitação
600
+
601
+ Espaço reservado
602
+
603
+ Descrição
604
+
605
+ Exemplo de valor
606
+
607
+ `<CUSTOMER_PHONE_NUMBER>`
608
+
609
+ O número de telefone do WhatsApp do cliente.
610
+
611
+ `12015553931`
612
+
613
+ `<ONE-TIME PASSWORD>`
614
+
615
+ A senha descartável ou o código de verificação que será entregue ao cliente.
616
+
617
+
618
+ Esse valor precisa aparecer duas vezes na carga.
619
+
620
+
621
+ Máximo de 15 caracteres.
622
+
623
+ `J$FpnYnP`
624
+
625
+ `<TEMPLATE_LANGUAGE_CODE>`
626
+
627
+ O [código de localidade e idioma](/documentation/business-messaging/whatsapp/templates/supported-languages) do modelo.
628
+
629
+ `en_US`
630
+
631
+ `<TEMPLATE_NAME>`
632
+
633
+ O nome do modelo.
634
+
635
+ `verification_code`
636
+
637
+ ### Resposta
638
+
639
+ Se o processo for bem-sucedido, a API enviará a seguinte resposta:
640
+
641
+ ```
642
+ {
643
+ "messaging_product": "whatsapp",
644
+ "contacts": [
645
+ {
646
+ "input": "<INPUT>",
647
+ "wa_id": "<WA_ID>"
648
+ }
649
+ ],
650
+ "messages": [
651
+ {
652
+ "id": "<ID>"
653
+ }
654
+ ]
655
+ }
656
+ ```
657
+
658
+ ### Parâmetros de resposta
659
+
660
+ Espaço reservado
661
+
662
+ Descrição
663
+
664
+ Exemplo de valor
665
+
666
+ `<INPUT>`
667
+
668
+ _String_
669
+
670
+ O número de telefone do cliente para quem a mensagem foi enviada. Talvez esse valor não corresponda a `wa_id`.
671
+
672
+ `+16315551234`
673
+
674
+ `<WA_ID>`
675
+
676
+ _String_
677
+
678
+ O ID do cliente para quem a mensagem foi enviada. Talvez esse valor não corresponda a `input`.
679
+
680
+ `+16315551234`
681
+
682
+ `<ID>`
683
+
684
+ _String_
685
+
686
+ ID da mensagem do WhatsApp. Use o ID listado depois de "wamid." para acompanhar o status da mensagem.
687
+
688
+ `wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBI3N0EyQUJDMjFEQzZCQUMzODMA`
689
+
690
+ ### Exemplo de solicitação
691
+
692
+ ```
693
+ curl -L 'https://graph.facebook.com/v24.0/105954558954427/messages' \
694
+ -H 'Content-Type: application/json' \
695
+ -H 'Authorization: Bearer EAAJB...' \
696
+ -d '{
697
+ "messaging_product": "whatsapp",
698
+ "recipient_type": "individual",
699
+ "to": "12015553931",
700
+ "type": "template",
701
+ "template": {
702
+ "name": "verification_code",
703
+ "language": {
704
+ "code": "en_US"
705
+ },
706
+ "components": [
707
+ {
708
+ "type": "body",
709
+ "parameters": [
710
+ {
711
+ "type": "text",
712
+ "text": "J$FpnYnP"
713
+ }
714
+ ]
715
+ },
716
+ {
717
+ "type": "button",
718
+ "sub_type": "url",
719
+ "index": "0",
720
+ "parameters": [
721
+ {
722
+ "type": "text",
723
+ "text": "J$FpnYnP"
724
+ }
725
+ ]
726
+ }
727
+ ]
728
+ }
729
+ }'
730
+ ```
731
+
732
+ ### Exemplo de resposta
733
+
734
+ ```
735
+ {  "messaging_product": "whatsapp",  "contacts": [    {      "input": "12015553931",      "wa_id": "12015553931"    }  ],  "messages": [    {      "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBI4Qzc5QkNGNTc5NTMyMDU5QzEA"    }  ]}
736
+ ```
737
+
738
+ Você achou esta página útil?
739
+
740
+ ![Ícone de polegar para cima](https://static.xx.fbcdn.net/rsrc.php/yR/r/OEXJ0_DJeZv.svg)
741
+
742
+ ![Ícone de polegar para baixo](https://static.xx.fbcdn.net/rsrc.php/yb/r/qKPgNVNeatU.svg)