whatsapp-docs-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +181 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +65 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts.d.ts +22 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +305 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +24 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +132 -0
- package/dist/resources.js.map +1 -0
- package/dist/tools.d.ts +6 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +379 -0
- package/dist/tools.js.map +1 -0
- package/dist/utils/fileLoader.d.ts +19 -0
- package/dist/utils/fileLoader.d.ts.map +1 -0
- package/dist/utils/fileLoader.js +126 -0
- package/dist/utils/fileLoader.js.map +1 -0
- package/dist/utils/search.d.ts +27 -0
- package/dist/utils/search.d.ts.map +1 -0
- package/dist/utils/search.js +91 -0
- package/dist/utils/search.js.map +1 -0
- package/docs/QUICK_REFERENCE.md +223 -0
- package/docs/anuncios_com_clique_para_whatsapp/AGENTS.md +8 -0
- package/docs/anuncios_com_clique_para_whatsapp/welcome_message_sequences.md +449 -0
- package/docs/ativos_da_conta/AGENTS.md +9 -0
- package/docs/ativos_da_conta/outros_ativos/AGENTS.md +12 -0
- package/docs/ativos_da_conta/outros_ativos/business_profiles.md +137 -0
- package/docs/ativos_da_conta/outros_ativos/display_names.md +108 -0
- package/docs/ativos_da_conta/outros_ativos/official_business_accounts.md +123 -0
- package/docs/ativos_da_conta/outros_ativos/qr_codes.md +198 -0
- package/docs/ativos_da_conta/outros_ativos/whatsapp_business_accounts.md +99 -0
- package/docs/ativos_da_conta/telefones_comerciais/AGENTS.md +11 -0
- package/docs/ativos_da_conta/telefones_comerciais/conversational_components.md +347 -0
- package/docs/ativos_da_conta/telefones_comerciais/phone_numbers.md +486 -0
- package/docs/ativos_da_conta/telefones_comerciais/registration.md +171 -0
- package/docs/ativos_da_conta/telefones_comerciais/two_step_verification.md +66 -0
- package/docs/catalogos/AGENTS.md +12 -0
- package/docs/catalogos/receive_responses.md +28 -0
- package/docs/catalogos/sell_products_and_services.md +24 -0
- package/docs/catalogos/set_commerce_settings.md +163 -0
- package/docs/catalogos/share_products.md +401 -0
- package/docs/catalogos/upload_inventory.md +28 -0
- package/docs/comecar/AGENTS.md +8 -0
- package/docs/comecar/get_started.md +127 -0
- package/docs/dados_privacidade_e_politica/AGENTS.md +16 -0
- package/docs/dados_privacidade_e_politica/block_users.md +549 -0
- package/docs/dados_privacidade_e_politica/data_privacy_and_security.md +78 -0
- package/docs/dados_privacidade_e_politica/encryption.md +8 -0
- package/docs/dados_privacidade_e_politica/getting_opt_in.md +41 -0
- package/docs/dados_privacidade_e_politica/identity_change.md +34 -0
- package/docs/dados_privacidade_e_politica/local_storage.md +277 -0
- package/docs/dados_privacidade_e_politica/no_storage.md +132 -0
- package/docs/dados_privacidade_e_politica/policy_enforcement.md +85 -0
- package/docs/dados_privacidade_e_politica/policy_enforcement_violations.md +127 -0
- package/docs/grupos/AGENTS.md +15 -0
- package/docs/grupos/error_codes.md +170 -0
- package/docs/grupos/faq.md +30 -0
- package/docs/grupos/get_started.md +73 -0
- package/docs/grupos/groups.md +75 -0
- package/docs/grupos/groups_messaging.md +340 -0
- package/docs/grupos/pricing.md +322 -0
- package/docs/grupos/reference.md +1059 -0
- package/docs/grupos/webhooks.md +298 -0
- package/docs/index.md +318 -0
- package/docs/insights/AGENTS.md +8 -0
- package/docs/insights/analytics.md +944 -0
- package/docs/ligacoes/AGENTS.md +20 -0
- package/docs/ligacoes/app_review_guidelines.md +48 -0
- package/docs/ligacoes/business_initiated_calls.md +858 -0
- package/docs/ligacoes/call_button_messages_deep_links.md +454 -0
- package/docs/ligacoes/call_settings.md +643 -0
- package/docs/ligacoes/calling.md +130 -0
- package/docs/ligacoes/faq.md +468 -0
- package/docs/ligacoes/integration_patterns.md +121 -0
- package/docs/ligacoes/pricing.md +339 -0
- package/docs/ligacoes/reference.md +1923 -0
- package/docs/ligacoes/sip.md +1090 -0
- package/docs/ligacoes/troubleshooting.md +483 -0
- package/docs/ligacoes/user_call_permissions.md +672 -0
- package/docs/ligacoes/user_initiated_calls.md +1030 -0
- package/docs/mensagens/AGENTS.md +46 -0
- package/docs/mensagens/limites_de_mensagens/AGENTS.md +9 -0
- package/docs/mensagens/limites_de_mensagens/messaging_limits.md +91 -0
- package/docs/mensagens/limites_de_mensagens/upcoming_changes.md +8 -0
- package/docs/mensagens/recursos_adicionais/AGENTS.md +13 -0
- package/docs/mensagens/recursos_adicionais/contextual_replies.md +82 -0
- package/docs/mensagens/recursos_adicionais/link_previews.md +58 -0
- package/docs/mensagens/recursos_adicionais/mark_message_as_read.md +111 -0
- package/docs/mensagens/recursos_adicionais/media.md +419 -0
- package/docs/mensagens/recursos_adicionais/payload_encryption.md +8 -0
- package/docs/mensagens/recursos_adicionais/typing_indicators.md +117 -0
- package/docs/mensagens/tipos_de_mensagens/AGENTS.md +24 -0
- package/docs/mensagens/tipos_de_mensagens/address_messages.md +465 -0
- package/docs/mensagens/tipos_de_mensagens/audio_messages.md +211 -0
- package/docs/mensagens/tipos_de_mensagens/contacts_messages.md +482 -0
- package/docs/mensagens/tipos_de_mensagens/document_messages.md +232 -0
- package/docs/mensagens/tipos_de_mensagens/image_messages.md +176 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_cta_url_messages.md +240 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_flow_messages.md +8 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_list_messages.md +300 -0
- package/docs/mensagens/tipos_de_mensagens/interactive_reply_buttons_messages.md +271 -0
- package/docs/mensagens/tipos_de_mensagens/location_messages.md +156 -0
- package/docs/mensagens/tipos_de_mensagens/location_request_messages.md +310 -0
- package/docs/mensagens/tipos_de_mensagens/message_with_link.md +8 -0
- package/docs/mensagens/tipos_de_mensagens/reaction_messages.md +144 -0
- package/docs/mensagens/tipos_de_mensagens/sticker_messages.md +157 -0
- package/docs/mensagens/tipos_de_mensagens/template_messages.md +20 -0
- package/docs/mensagens/tipos_de_mensagens/text_messages.md +142 -0
- package/docs/mensagens/tipos_de_mensagens/video_messages.md +149 -0
- package/docs/mensagens/visao_geral/AGENTS.md +8 -0
- package/docs/mensagens/visao_geral/send_messages.md +370 -0
- package/docs/mensagens_de_marketing/AGENTS.md +10 -0
- package/docs/mensagens_de_marketing/implementacao/AGENTS.md +10 -0
- package/docs/mensagens_de_marketing/implementacao/get_started.md +107 -0
- package/docs/mensagens_de_marketing/implementacao/onboard_business_customers.md +180 -0
- package/docs/mensagens_de_marketing/implementacao/send_marketing_messages.md +260 -0
- package/docs/mensagens_de_marketing/recursos/AGENTS.md +12 -0
- package/docs/mensagens_de_marketing/recursos/automatic_creative_optimization.md +8 -0
- package/docs/mensagens_de_marketing/recursos/conversion_measurement.md +8 -0
- package/docs/mensagens_de_marketing/recursos/deep_links.md +302 -0
- package/docs/mensagens_de_marketing/recursos/track_click_events.md +119 -0
- package/docs/mensagens_de_marketing/recursos/view_metrics.md +338 -0
- package/docs/mensagens_de_marketing/visao_geral/AGENTS.md +8 -0
- package/docs/mensagens_de_marketing/visao_geral/overview.md +26 -0
- package/docs/modelos/AGENTS.md +12 -0
- package/docs/modelos/gerenciamento_de_modelos/AGENTS.md +21 -0
- package/docs/modelos/gerenciamento_de_modelos/components.md +717 -0
- package/docs/modelos/gerenciamento_de_modelos/supported_languages.md +462 -0
- package/docs/modelos/gerenciamento_de_modelos/tap_target_url_title_override.md +211 -0
- package/docs/modelos/gerenciamento_de_modelos/template_categorization.md +499 -0
- package/docs/modelos/gerenciamento_de_modelos/template_comparison.md +136 -0
- package/docs/modelos/gerenciamento_de_modelos/template_library.md +526 -0
- package/docs/modelos/gerenciamento_de_modelos/template_management.md +148 -0
- package/docs/modelos/gerenciamento_de_modelos/template_media.md +8 -0
- package/docs/modelos/gerenciamento_de_modelos/template_migration.md +164 -0
- package/docs/modelos/gerenciamento_de_modelos/template_pacing.md +38 -0
- package/docs/modelos/gerenciamento_de_modelos/template_pausing.md +58 -0
- package/docs/modelos/gerenciamento_de_modelos/template_quality.md +47 -0
- package/docs/modelos/gerenciamento_de_modelos/template_review.md +74 -0
- package/docs/modelos/gerenciamento_de_modelos/time_to_live.md +88 -0
- package/docs/modelos/modelos_de_autenticacao/AGENTS.md +13 -0
- package/docs/modelos/modelos_de_autenticacao/authentication_best_practices.md +73 -0
- package/docs/modelos/modelos_de_autenticacao/authentication_templates.md +252 -0
- package/docs/modelos/modelos_de_autenticacao/autofill_button_authentication_templates.md +732 -0
- package/docs/modelos/modelos_de_autenticacao/copy_code_button_authentication_templates.md +402 -0
- package/docs/modelos/modelos_de_autenticacao/error_signals.md +143 -0
- package/docs/modelos/modelos_de_autenticacao/zero_tap_authentication_templates.md +742 -0
- package/docs/modelos/modelos_de_marketing/AGENTS.md +18 -0
- package/docs/modelos/modelos_de_marketing/call_permission_request_message_template.md +221 -0
- package/docs/modelos/modelos_de_marketing/catalog_templates.md +308 -0
- package/docs/modelos/modelos_de_marketing/coupon_templates.md +425 -0
- package/docs/modelos/modelos_de_marketing/custom_marketing_templates.md +537 -0
- package/docs/modelos/modelos_de_marketing/limited_time_offer_templates.md +496 -0
- package/docs/modelos/modelos_de_marketing/marketing_templates.md +112 -0
- package/docs/modelos/modelos_de_marketing/media_card_carousel_templates.md +770 -0
- package/docs/modelos/modelos_de_marketing/mpm_templates.md +717 -0
- package/docs/modelos/modelos_de_marketing/per_user_limits.md +42 -0
- package/docs/modelos/modelos_de_marketing/product_card_carousel_templates.md +515 -0
- package/docs/modelos/modelos_de_marketing/spm_templates.md +466 -0
- package/docs/modelos/modelos_de_utilidade/AGENTS.md +8 -0
- package/docs/modelos/modelos_de_utilidade/utility_templates.md +583 -0
- package/docs/modelos/visao_geral/AGENTS.md +8 -0
- package/docs/modelos/visao_geral/overview.md +163 -0
- package/docs/pagamentos/AGENTS.md +9 -0
- package/docs/pagamentos/pagamentos_na_india/AGENTS.md +19 -0
- package/docs/pagamentos/pagamentos_na_india/checkout_button_templates.md +1332 -0
- package/docs/pagamentos/pagamentos_na_india/enhanced_payment_links.md +93 -0
- package/docs/pagamentos/pagamentos_na_india/onboarding_apis.md +580 -0
- package/docs/pagamentos/pagamentos_na_india/orderdetailstemplate.md +205 -0
- package/docs/pagamentos/pagamentos_na_india/orderstatustemplate.md +143 -0
- package/docs/pagamentos/pagamentos_na_india/overview.md +102 -0
- package/docs/pagamentos/pagamentos_na_india/payment_links.md +581 -0
- package/docs/pagamentos/pagamentos_na_india/pg.md +1228 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/AGENTS.md +12 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/dynamic_vpa.md +572 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_billdesk.md +343 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_cashfree.md +145 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_ccavenue.md +146 -0
- package/docs/pagamentos/pagamentos_na_india/upi_intent/upi_intent.md +660 -0
- package/docs/pagamentos/pagamentos_no_brasil/AGENTS.md +14 -0
- package/docs/pagamentos/pagamentos_no_brasil/boleto.md +104 -0
- package/docs/pagamentos/pagamentos_no_brasil/offsite_pix.md +128 -0
- package/docs/pagamentos/pagamentos_no_brasil/one_click_payments.md +226 -0
- package/docs/pagamentos/pagamentos_no_brasil/orderdetailstemplate.md +180 -0
- package/docs/pagamentos/pagamentos_no_brasil/orders.md +768 -0
- package/docs/pagamentos/pagamentos_no_brasil/overview.md +32 -0
- package/docs/pagamentos/pagamentos_no_brasil/payment_links.md +104 -0
- package/docs/parceiros/AGENTS.md +12 -0
- package/docs/parceiros/analise_do_app/AGENTS.md +8 -0
- package/docs/parceiros/analise_do_app/app_review.md +91 -0
- package/docs/parceiros/gerenciamento/AGENTS.md +14 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/AGENTS.md +15 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_accounts.md +274 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_system_users.md +106 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_webhooks.md +277 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/AGENTS.md +9 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/manage_phone_numbers.md +248 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/registering_phone_numbers.md +373 -0
- package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/share_and_revoke_credit_lines.md +551 -0
- package/docs/parceiros/gerenciamento/partner_led_business_verification.md +367 -0
- package/docs/parceiros/gerenciamento/pixel_tracking.md +35 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/AGENTS.md +18 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/adding_waba_to_mps.md +64 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/business_customer_support.md +102 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_embedded_signup.md +151 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_meta_business_suite.md +234 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_programmatically.md +292 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_via_embedded_signup.md +118 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solution_partners_via_embedded_signup.md +76 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_embedded_signup.md +90 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_meta_business_suite.md +265 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/support.md +48 -0
- package/docs/parceiros/gerenciamento/suporte_ao_parceiro/transferring_wabas_to_customers.md +8 -0
- package/docs/parceiros/integracao_de_clientes/AGENTS.md +9 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/AGENTS.md +26 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/app_only_install.md +135 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/automatic_events_api.md +204 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/bypass_phone_addition.md +52 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/custom_flows.md +40 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/default_flow.md +90 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/errors.md +185 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/hosted_es.md +153 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/implementation.md +417 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_business_app_users.md +926 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_solution_partner.md +402 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_tech_provider.md +332 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/overview.md +168 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_filled_data.md +524 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_verified_numbers.md +291 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/AGENTS.md +12 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_2_public_preview.md +88 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3.md +98 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3_public_preview.md +88 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_4.md +92 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/versions.md +463 -0
- package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/website_optional.md +57 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/AGENTS.md +11 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solution_embedded_creation.md +178 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solutions.md +775 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_solution_conversations.md +319 -0
- package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/partner_initiated_waba_creation.md +74 -0
- package/docs/parceiros/seja_um_parceiro/AGENTS.md +11 -0
- package/docs/parceiros/seja_um_parceiro/get_started_for_solution_partners.md +280 -0
- package/docs/parceiros/seja_um_parceiro/get_started_for_tech_providers.md +194 -0
- package/docs/parceiros/seja_um_parceiro/measurement_partners.md +146 -0
- package/docs/parceiros/seja_um_parceiro/upgrade_to_tech_partner.md +94 -0
- package/docs/parceiros/visao_geral/AGENTS.md +8 -0
- package/docs/parceiros/visao_geral/overview.md +190 -0
- package/docs/recado/AGENTS.md +9 -0
- package/docs/recado/precos/AGENTS.md +11 -0
- package/docs/recado/precos/pricing.md +915 -0
- package/docs/recado/precos/pricing_authentication_international_rates.md +464 -0
- package/docs/recado/precos/pricing_conversation_based_pricing.md +773 -0
- package/docs/recado/precos/pricing_updates_to_pricing.md +8 -0
- package/docs/recado/sobre_a_plataforma/AGENTS.md +10 -0
- package/docs/recado/sobre_a_plataforma/about_the_platform.md +217 -0
- package/docs/recado/sobre_a_plataforma/access_tokens.md +110 -0
- package/docs/recado/sobre_a_plataforma/permissions.md +55 -0
- package/docs/referencia/AGENTS.md +92 -0
- package/docs/referencia/bot_do_whatsapp_business/AGENTS.md +8 -0
- package/docs/referencia/bot_do_whatsapp_business/bot_details_api.md +762 -0
- package/docs/referencia/business/AGENTS.md +14 -0
- package/docs/referencia/business/add_phone_numbers_api.md +726 -0
- package/docs/referencia/business/client_whatsapp_business_accounts_api.md +1006 -0
- package/docs/referencia/business/owned_whatsapp_business_accounts.md +802 -0
- package/docs/referencia/business/whatsapp_business_accounts_api.md +1550 -0
- package/docs/referencia/business/whatsapp_business_partner_onboarding_to_mm_lite_api.md +783 -0
- package/docs/referencia/business/whatsapp_business_pre_verified_phone_number_sharing_api.md +790 -0
- package/docs/referencia/business/whatsapp_business_pre_verified_phone_numbers_api.md +886 -0
- package/docs/referencia/changelog.md +10 -0
- package/docs/referencia/conta_do_whatsapp_business/AGENTS.md +24 -0
- package/docs/referencia/conta_do_whatsapp_business/assigned_users_management_api.md +2202 -0
- package/docs/referencia/conta_do_whatsapp_business/business_account_api.md +267 -0
- package/docs/referencia/conta_do_whatsapp_business/business_account_extended_credits_api.md +275 -0
- package/docs/referencia/conta_do_whatsapp_business/conversational_automation_api.md +782 -0
- package/docs/referencia/conta_do_whatsapp_business/flows_api.md +1532 -0
- package/docs/referencia/conta_do_whatsapp_business/in_progress_on_behalf_requests_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/migration_intent_api.md +1581 -0
- package/docs/referencia/conta_do_whatsapp_business/obo_mobility_intent_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/phone_number_management_api.md +1686 -0
- package/docs/referencia/conta_do_whatsapp_business/schedules_api.md +1772 -0
- package/docs/referencia/conta_do_whatsapp_business/set_obo_mobility_intent_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/set_solution_migration_intent_api.md +8 -0
- package/docs/referencia/conta_do_whatsapp_business/subscribed_apps_api.md +2178 -0
- package/docs/referencia/conta_do_whatsapp_business/template_api.md +976 -0
- package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_activities_api.md +842 -0
- package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_api.md +1384 -0
- package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_solutions_list_api.md +854 -0
- package/docs/referencia/grupo/AGENTS.md +11 -0
- package/docs/referencia/grupo/groups_invite_link_api.md +304 -0
- package/docs/referencia/grupo/groups_join_requests_api.md +686 -0
- package/docs/referencia/grupo/groups_participants_api.md +274 -0
- package/docs/referencia/grupo/groups_query_api.md +436 -0
- package/docs/referencia/historico_de_mensagens/AGENTS.md +8 -0
- package/docs/referencia/historico_de_mensagens/whatsapp_business_message_history_events_api.md +866 -0
- package/docs/referencia/inscricao/AGENTS.md +10 -0
- package/docs/referencia/inscricao/application_connected_client_businesses.md +812 -0
- package/docs/referencia/inscricao/application_solutions_api.md +874 -0
- package/docs/referencia/inscricao/solution_creation_api.md +824 -0
- package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/AGENTS.md +8 -0
- package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/migration_intent_details_api.md +724 -0
- package/docs/referencia/midias/AGENTS.md +9 -0
- package/docs/referencia/midias/media_api.md +342 -0
- package/docs/referencia/midias/media_download_api.md +160 -0
- package/docs/referencia/numero_da_conta_do_whatsapp/AGENTS.md +8 -0
- package/docs/referencia/numero_da_conta_do_whatsapp/whatsapp_account_number_api.md +778 -0
- package/docs/referencia/perfil_do_whatsapp_business/AGENTS.md +8 -0
- package/docs/referencia/perfil_do_whatsapp_business/whatsapp_business_profile_node_api.md +1494 -0
- package/docs/referencia/solucao_do_whatsapp_business/AGENTS.md +14 -0
- package/docs/referencia/solucao_do_whatsapp_business/accept_deactivation_request_api.md +762 -0
- package/docs/referencia/solucao_do_whatsapp_business/access_token_api.md +704 -0
- package/docs/referencia/solucao_do_whatsapp_business/reject_deactivation_request_api.md +812 -0
- package/docs/referencia/solucao_do_whatsapp_business/send_deactivation_request_api.md +778 -0
- package/docs/referencia/solucao_do_whatsapp_business/solution_accept_api.md +812 -0
- package/docs/referencia/solucao_do_whatsapp_business/solution_details_api.md +768 -0
- package/docs/referencia/solucao_do_whatsapp_business/solution_reject_api.md +798 -0
- package/docs/referencia/telefone_do_whatsapp_business/AGENTS.md +29 -0
- package/docs/referencia/telefone_do_whatsapp_business/block_api.md +542 -0
- package/docs/referencia/telefone_do_whatsapp_business/business_compliance_information_api.md +1608 -0
- package/docs/referencia/telefone_do_whatsapp_business/business_encryption_api.md +1402 -0
- package/docs/referencia/telefone_do_whatsapp_business/calling_api.md +598 -0
- package/docs/referencia/telefone_do_whatsapp_business/encrypted_messages_api.md +482 -0
- package/docs/referencia/telefone_do_whatsapp_business/groups_management_api.md +485 -0
- package/docs/referencia/telefone_do_whatsapp_business/marketing_messages_lite_api.md +315 -0
- package/docs/referencia/telefone_do_whatsapp_business/media_upload_api.md +188 -0
- package/docs/referencia/telefone_do_whatsapp_business/message_api.md +1798 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_api.md +377 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_deregister_api.md +714 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_registration.md +780 -0
- package/docs/referencia/telefone_do_whatsapp_business/phone_number_verification_request_code_api.md +734 -0
- package/docs/referencia/telefone_do_whatsapp_business/register_api.md +411 -0
- package/docs/referencia/telefone_do_whatsapp_business/settings_api.md +674 -0
- package/docs/referencia/telefone_do_whatsapp_business/verify_code_api.md +746 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_message_history_api.md +932 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_official_business_account_status_api.md +1540 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_phone_number_api.md +1600 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_profile_api.md +1478 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_api.md +1179 -0
- package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_management_api.md +1315 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/AGENTS.md +11 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/request_verification_code_api.md +778 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/verify_code_api.md +768 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_api.md +1382 -0
- package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_partners_api.md +820 -0
- package/docs/referencia/usuario/AGENTS.md +8 -0
- package/docs/referencia/usuario/assigned_whatsapp_business_accounts_api.md +864 -0
- package/docs/referencia/webhooks/AGENTS.md +8 -0
- package/docs/referencia/webhooks/whatsapp_incoming_webhook_payload.md +1655 -0
- package/docs/suporte/AGENTS.md +13 -0
- package/docs/suporte/api_status_page.md +134 -0
- package/docs/suporte/error_codes.md +1194 -0
- package/docs/suporte/experiments.md +26 -0
- package/docs/suporte/health_status.md +225 -0
- package/docs/suporte/load_testing.md +340 -0
- package/docs/suporte/support.md +408 -0
- package/docs/visao_geral/AGENTS.md +8 -0
- package/docs/visao_geral/overview.md +2590 -0
- package/docs/webhooks/AGENTS.md +41 -0
- package/docs/webhooks/referencia/AGENTS.md +20 -0
- package/docs/webhooks/referencia/account_alerts.md +190 -0
- package/docs/webhooks/referencia/account_review_update.md +90 -0
- package/docs/webhooks/referencia/account_update.md +379 -0
- package/docs/webhooks/referencia/business_capability_update.md +121 -0
- package/docs/webhooks/referencia/history.md +302 -0
- package/docs/webhooks/referencia/message_template_components_update.md +179 -0
- package/docs/webhooks/referencia/message_template_quality_update.md +136 -0
- package/docs/webhooks/referencia/message_template_status_update.md +253 -0
- package/docs/webhooks/referencia/messages/AGENTS.md +24 -0
- package/docs/webhooks/referencia/messages/audio.md +298 -0
- package/docs/webhooks/referencia/messages/button.md +170 -0
- package/docs/webhooks/referencia/messages/contacts.md +491 -0
- package/docs/webhooks/referencia/messages/document.md +307 -0
- package/docs/webhooks/referencia/messages/errors.md +132 -0
- package/docs/webhooks/referencia/messages/image.md +304 -0
- package/docs/webhooks/referencia/messages/interactive.md +225 -0
- package/docs/webhooks/referencia/messages/location.md +296 -0
- package/docs/webhooks/referencia/messages/messages.md +44 -0
- package/docs/webhooks/referencia/messages/order.md +208 -0
- package/docs/webhooks/referencia/messages/reaction.md +178 -0
- package/docs/webhooks/referencia/messages/status.md +364 -0
- package/docs/webhooks/referencia/messages/sticker.md +298 -0
- package/docs/webhooks/referencia/messages/system.md +140 -0
- package/docs/webhooks/referencia/messages/text.md +322 -0
- package/docs/webhooks/referencia/messages/unsupported.md +165 -0
- package/docs/webhooks/referencia/messages/video.md +304 -0
- package/docs/webhooks/referencia/outros_webhooks/AGENTS.md +16 -0
- package/docs/webhooks/referencia/outros_webhooks/partner_solutions.md +114 -0
- package/docs/webhooks/referencia/outros_webhooks/payment_configuration_update.md +135 -0
- package/docs/webhooks/referencia/outros_webhooks/phone_number_name_update.md +129 -0
- package/docs/webhooks/referencia/outros_webhooks/phone_number_quality_update.md +172 -0
- package/docs/webhooks/referencia/outros_webhooks/security.md +108 -0
- package/docs/webhooks/referencia/outros_webhooks/smb_app_state_sync.md +146 -0
- package/docs/webhooks/referencia/outros_webhooks/smb_message_echoes.md +143 -0
- package/docs/webhooks/referencia/outros_webhooks/template_category_update.md +154 -0
- package/docs/webhooks/referencia/outros_webhooks/user_preferences.md +150 -0
- package/docs/webhooks/visao_geral/AGENTS.md +11 -0
- package/docs/webhooks/visao_geral/message_echoes.md +8 -0
- package/docs/webhooks/visao_geral/override.md +235 -0
- package/docs/webhooks/visao_geral/overview.md +158 -0
- package/docs/webhooks/visao_geral/set_up_whatsapp_echo_bot.md +109 -0
- package/package.json +50 -0
|
@@ -0,0 +1,1923 @@
|
|
|
1
|
+
<!-- Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/calling/reference -->
|
|
2
|
+
<!-- Scraped: 2025-12-20T17:41:33.529Z -->
|
|
3
|
+
|
|
4
|
+
# Referência de API e webhook
|
|
5
|
+
|
|
6
|
+
Updated: 13 de nov de 2025
|
|
7
|
+
|
|
8
|
+
## Chamar pontos de extremidade da API
|
|
9
|
+
|
|
10
|
+
### Configurar/atualizar as configurações de ligação
|
|
11
|
+
|
|
12
|
+
Chame o ponto de extremidade de atualização das configurações do número de telefone e inclua os parâmetros específicos da API de Ligações para configurar ou atualizar as definições dessa API em um número de telefone comercial específico indicado na solicitação.
|
|
13
|
+
|
|
14
|
+
#### Sintaxe da solicitação
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
POST /<PHONE_NUMBER_ID>/settings
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### Parâmetros do ponto de extremidade
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
Espaço reservado
|
|
25
|
+
|
|
26
|
+
Descrição
|
|
27
|
+
|
|
28
|
+
Exemplo de valor
|
|
29
|
+
|
|
30
|
+
`<PHONE_NUMBER_ID>`
|
|
31
|
+
|
|
32
|
+
_Número inteiro_
|
|
33
|
+
|
|
34
|
+
**Obrigatório**
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
O número de telefone comercial cujas configurações da API de Ligações estão sendo atualizadas.
|
|
38
|
+
|
|
39
|
+
`+12784358810`
|
|
40
|
+
|
|
41
|
+
#### Corpo da solicitação
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
{ "calling": { "status": "ENABLED", "call_icon_visibility": "DEFAULT", "call_hours": { "status": "ENABLED", "timezone_id": "America/Manaus", "weekly_operating_hours": [ { "day_of_week": "MONDAY", "open_time": "0400", "close_time": "1020" }, { "day_of_week": "TUESDAY", "open_time": "0108", "close_time": "1020" } ], "holiday_schedule": [ { "date": "2026-01-01", "start_time": "0000", "end_time": "2359" } ] }, "callback_permission_status": "ENABLED", "sip": { "status": "ENABLED | DISABLED (default)", "servers": [ { "hostname": SIP_SERVER_HOSTNAME, "port": SIP_SERVER_PORT, "request_uri_user_params": { "KEY1": "VALUE1", "KEY2": "VALUE2" } } ] } }}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### Parâmetros do corpo
|
|
48
|
+
|
|
49
|
+
Parâmetro
|
|
50
|
+
|
|
51
|
+
Descrição
|
|
52
|
+
|
|
53
|
+
Exemplo de valor
|
|
54
|
+
|
|
55
|
+
`status`
|
|
56
|
+
|
|
57
|
+
_String_
|
|
58
|
+
|
|
59
|
+
**Opcional**
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
Habilite ou desabilite a API de Ligações para o número de telefone comercial em questão.
|
|
63
|
+
|
|
64
|
+
`“ENABLED”`
|
|
65
|
+
|
|
66
|
+
`“DISABLED”`
|
|
67
|
+
|
|
68
|
+
`call_icon_visibility`
|
|
69
|
+
|
|
70
|
+
_String_
|
|
71
|
+
|
|
72
|
+
**Opcional**
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
Defina se o ícone do botão de ligação do WhatsApp será mostrado aos usuários enquanto eles conversam com a empresa.
|
|
76
|
+
|
|
77
|
+
[Veja abaixo os detalhes do comportamento de visibilidade do ícone de ligação](#configure-call-settings-parameter-details)
|
|
78
|
+
|
|
79
|
+
[Veja abaixo os detalhes do comportamento de visibilidade do ícone de ligação](#configure-call-settings-parameter-details)
|
|
80
|
+
|
|
81
|
+
`call_hours`
|
|
82
|
+
|
|
83
|
+
_Objeto JSON_
|
|
84
|
+
|
|
85
|
+
**Opcional**
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
Permite que você especifique e acione configurações para ligações recebidas com base no seu fuso horário, no horário de funcionamento da empresa e em feriados.
|
|
89
|
+
|
|
90
|
+
Todos os valores configurados anteriormente em `call_hours` serão substituídos pelos valores transmitidos no corpo da solicitação desta chamada à API.
|
|
91
|
+
|
|
92
|
+
[Veja abaixo os detalhes do comportamento do horário de atendimento](#configure-call-settings-parameter-details)
|
|
93
|
+
|
|
94
|
+
[Veja abaixo os detalhes do comportamento do horário de atendimento](#configure-call-settings-parameter-details)
|
|
95
|
+
|
|
96
|
+
`callback_permission_status`
|
|
97
|
+
|
|
98
|
+
_String_
|
|
99
|
+
|
|
100
|
+
**Opcional**
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
Ajuste a configuração para decidir se o usuário do WhatsApp receberá um pedido de permissão para ligação após ligar para sua empresa.
|
|
104
|
+
|
|
105
|
+
Observação: o pedido de permissão para ligação é acionado após uma ligação perdida ou conectada.
|
|
106
|
+
|
|
107
|
+
[Veja abaixo os detalhes do comportamento de status da permissão de retorno de ligação](#configure-call-settings-parameter-details)
|
|
108
|
+
|
|
109
|
+
`“ENABLED”`
|
|
110
|
+
|
|
111
|
+
`“DISABLED”`
|
|
112
|
+
|
|
113
|
+
`sip`
|
|
114
|
+
|
|
115
|
+
_Objeto JSON_
|
|
116
|
+
|
|
117
|
+
**Opcional**
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
Configure o sinalizador de ligação por meio do protocolo de iniciação de sinal (SIP).
|
|
121
|
+
|
|
122
|
+
**Observação: quando o SIP está habilitado, não é possível usar pontos de extremidade relacionados a ligações, e você não receberá webhooks relacionados a ligações.**
|
|
123
|
+
|
|
124
|
+
[Saiba como configurar e usar o sinalizador de ligação de SIP](/documentation/business-messaging/whatsapp/calling/sip)
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
"sip": { "status": "ENABLED | DISABLED (default)", "servers": [// one server per app] { "hostname": SIP_SERVER_HOSTNAME "port": SIP_SERVER_PORT, "request_uri_user_params": { "KEY1": "VALUE1", // for cases like TGRP "KEY2": "VALUE2", } } ] }
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
#### Detalhes do parâmetro
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
##### Status da ligação
|
|
135
|
+
|
|
136
|
+
Quando o parâmetro `status` é definido como `“ENABLED”`, os recursos de ligação são habilitados para o número de telefone comercial. Os apps de cliente do WhatsApp renderizam o ícone de botão de ligação tanto na conversa comercial quanto no perfil da conversa comercial.
|
|
137
|
+
|
|
138
|
+
Quando o parâmetro `status` é definido como `“DISABLED”`, os recursos de ligação são **desabilitados**. Além disso, a conversa comercial e o perfil da conversa comercial **não exibem o ícone de botão de ligação.**
|
|
139
|
+
|
|
140
|
+
As atualizações de `status` serão aplicadas ao ícone do botão de ligação nas conversas comerciais existentes quase em tempo real quando o número de telefone comercial estiver nos contatos do usuário do WhatsApp.
|
|
141
|
+
|
|
142
|
+
Caso contrário, as atualizações são feitas em tempo real para um número limitado de usuários em conversa com a empresa e são casuais para o restante das conversas.
|
|
143
|
+
|
|
144
|
+
##### Exibição do ícone do botão de ligação
|
|
145
|
+
|
|
146
|
+
Quando os recursos da API de Ligações estão habilitados para um número comercial, você ainda pode escolher se quer mostrar o ícone do botão de ligação ou não usando o parâmetro `call_icon_visibility`. Observação: desabilitar a visibilidade do ícone do botão de ligação **não** impede que um usuário do WhatsApp faça ligações não solicitadas para sua empresa.
|
|
147
|
+
|
|
148
|
+
O comportamento das opções compatíveis é o seguinte:
|
|
149
|
+
|
|
150
|
+
`DEFAULT`
|
|
151
|
+
|
|
152
|
+
O ícone do botão de ligação será exibido na barra de menu da conversa e na página de informações da empresa, permitindo ligações não solicitadas para a empresa por usuários do WhatsApp.
|
|
153
|
+
|
|
154
|
+

|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
`DISABLE ALL`
|
|
159
|
+
|
|
160
|
+
O ícone do botão de ligação fica oculto na barra de menu da conversa e na página de informações da empresa. Além disso, todos os outros pontos de entrada externos à conversa são desabilitados. Os consumidores não podem fazer ligações não solicitadas para a empresa.
|
|
161
|
+
|
|
162
|
+
Sua empresa ainda pode [enviar mensagens interativas](/documentation/business-messaging/whatsapp/calling/call-button-messages-deep-links#send-interactive-message-with-a-whatsapp-call-button) ou [mensagens de modelo](/documentation/business-messaging/whatsapp/calling/call-button-messages-deep-links#create-and-send-whatsapp-call-button-template-message) com um botão de CTA da API de Ligações.
|
|
163
|
+
|
|
164
|
+

|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
##### Permissões de retorno de ligação
|
|
169
|
+
|
|
170
|
+
Para fazer uma ligação a um usuário do WhatsApp, é preciso ter permissão explícita dele. Uma forma de obter permissão para ligação é solicitá-la quando o usuário do WhatsApp liga para a empresa.
|
|
171
|
+
|
|
172
|
+
É possível configurar a interface do usuário da permissão para ligação, assim ela será exibida automaticamente no app do cliente do usuário do WhatsApp quando ele ligar para seu número comercial. O usuário pode alterar a seleção de permissão a qualquer momento.
|
|
173
|
+
|
|
174
|
+

|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
#### Horário de atendimento
|
|
179
|
+
|
|
180
|
+
Com a configuração `call_hours`, é possível especificar o fuso horário, o horário de funcionamento da empresa e os feriados que serão aplicados a todas as ligações iniciadas pelo usuário.
|
|
181
|
+
|
|
182
|
+
Ao definir essa configuração, você restringe as ligações aos horários semanais disponíveis que configurar. As ligações iniciadas pelo usuário ficam indisponíveis fora do horário semanal e dos feriados que você definir.
|
|
183
|
+
|
|
184
|
+
O app do cliente do WhatsApp mostrará aos usuários a opção de conversar com a empresa ou solicitar um retorno de ligação se `callback_permission_status` for `ENABLED`. O usuário também verá o próximo horário para ligação disponível na tela de opções.
|
|
185
|
+
|
|
186
|
+

|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
"call_hours": { "status": "ENABLED", "timezone_id": "America/Manaus", "weekly_operating_hours": [ { "day_of_week": "MONDAY", "open_time": "04:00", "close_time": "10:20" }, { "day_of_week": "TUESDAY", "open_time": "01:08", "close_time": "10:20" } ], "holiday_schedule": [ { "date": "2026-01-01", "start_time": "00:00", "end_time": "23:59" } ]}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Parâmetro
|
|
195
|
+
|
|
196
|
+
Descrição
|
|
197
|
+
|
|
198
|
+
Exemplo de valores
|
|
199
|
+
|
|
200
|
+
`status`
|
|
201
|
+
|
|
202
|
+
_String_
|
|
203
|
+
|
|
204
|
+
**Obrigatório**
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
Habilite ou desabilite o horário de atendimento da empresa.
|
|
208
|
+
|
|
209
|
+
Se o horário de atendimento estiver desabilitado, a empresa será considerada aberta 24 horas por dia, 7 dias por semana.
|
|
210
|
+
|
|
211
|
+
`“ENABLED”`
|
|
212
|
+
|
|
213
|
+
`“DISABLED”`
|
|
214
|
+
|
|
215
|
+
`timezone_id`
|
|
216
|
+
|
|
217
|
+
_String_
|
|
218
|
+
|
|
219
|
+
**Obrigatório**
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
O fuso horário em que a empresa está operando.
|
|
223
|
+
|
|
224
|
+
[Saiba mais sobre os valores compatíveis com `timezone_id`](/docs/facebook-business-extension/fbe/reference#time-zones)
|
|
225
|
+
|
|
226
|
+
`“America/Menominee”`
|
|
227
|
+
|
|
228
|
+
`“Asia/Singapore”`
|
|
229
|
+
|
|
230
|
+
`weekly_operating_hours`
|
|
231
|
+
|
|
232
|
+
_Lista de objetos JSON_
|
|
233
|
+
|
|
234
|
+
**Obrigatório**
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
O horário de funcionamento para cada dia da semana.
|
|
238
|
+
|
|
239
|
+
Cada entrada é um objeto JSON com três pares de chave/valor:
|
|
240
|
+
|
|
241
|
+
`day_of_week` — (_Enumeração_) **\[Obrigatório\]**
|
|
242
|
+
|
|
243
|
+
O dia da semana.
|
|
244
|
+
|
|
245
|
+
Pode conter um destes sete valores: `"MONDAY"`, `“TUESDAY”`, `“WEDNESDAY”`, `“THURSDAY”`, `“FRIDAY”`, `“SATURDAY”`, `“SUNDAY”`
|
|
246
|
+
|
|
247
|
+
`open_time`
|
|
248
|
+
|
|
249
|
+
`close_time` — (_Número inteiro_) **\[Obrigatório\]**
|
|
250
|
+
|
|
251
|
+
Horários de abertura e fechamento no formato de 24 horas, por exemplo, `”1130”` = 11:30
|
|
252
|
+
|
|
253
|
+
- Máximo de duas entradas permitidas por dia da semana- `open_time` deve ser anterior a `close_time`- Não são permitidas entradas sobrepostas
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
`holiday_schedule`
|
|
259
|
+
|
|
260
|
+
_String_
|
|
261
|
+
|
|
262
|
+
**Opcional**
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
Uma substituição opcional para a programação semanal.
|
|
266
|
+
|
|
267
|
+
É possível especificar até 20 substituições.
|
|
268
|
+
|
|
269
|
+
Observação: se `holiday_schedule` não for enviada na solicitação, a `holiday_schedule` existente será excluída e substituída por uma programação vazia.
|
|
270
|
+
|
|
271
|
+
`date` – (_String_) **\[Obrigatório\]**
|
|
272
|
+
|
|
273
|
+
Data para a qual você deseja especificar a substituição.
|
|
274
|
+
|
|
275
|
+
Formato DD-MM-AAAA.
|
|
276
|
+
|
|
277
|
+
`open_time`
|
|
278
|
+
|
|
279
|
+
`close_time` — (_Número inteiro_) **\[Obrigatório\]**
|
|
280
|
+
|
|
281
|
+
Horários de abertura e fechamento no formato de 24 horas, por exemplo, `”1130”` = 11:30
|
|
282
|
+
|
|
283
|
+
- Máximo de duas entradas permitidas por dia da semana- `open_time` deve ser anterior a `close_time`- Não são permitidas entradas sobrepostas
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
#### Resposta de sucesso
|
|
289
|
+
|
|
290
|
+
```
|
|
291
|
+
{ "success": true}
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
#### Resposta de erro
|
|
295
|
+
|
|
296
|
+
Veja os problemas que podem ocorrer:
|
|
297
|
+
|
|
298
|
+
- Erros de permissão/autorização- Status inválido- Programação inválida para `call_hours`- O feriado fornecido em `call_hours` é uma data anterior à atual- O fuso horário é inválido em `call_hours`- `weekly_operating_hours` em `call_hours` não pode estar vazio- O formato de data em `holiday_schedule` para call\_hours é inválido- Não são permitidas mais de duas entradas na programação `weekly_operating_hours` em `call_hours`- Não é permitida a sobreposição de programação em `call_hours`
|
|
299
|
+
|
|
300
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
301
|
+
|
|
302
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
### Obter as configurações de ligação do número de telefone
|
|
309
|
+
|
|
310
|
+
Chame o ponto de extremidade de obtenção das configurações do número de telefone para recuperar as configurações da API de Ligações em um número de telefone comercial individual indicado na solicitação.
|
|
311
|
+
|
|
312
|
+
Esse ponto de extremidade pode retornar informações sobre as configurações de outros recursos da API de Nuvem.
|
|
313
|
+
|
|
314
|
+
#### Sintaxe da solicitação
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
POST /<PHONE_NUMBER_ID>/settings
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
#### Parâmetros do ponto de extremidade
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
Parâmetro
|
|
325
|
+
|
|
326
|
+
Descrição
|
|
327
|
+
|
|
328
|
+
Exemplo de valor
|
|
329
|
+
|
|
330
|
+
`<PHONE_NUMBER_ID>`
|
|
331
|
+
|
|
332
|
+
_Número inteiro_
|
|
333
|
+
|
|
334
|
+
**Obrigatório**
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
O número de telefone comercial cujas configurações da API de Ligações estão sendo obtidas.
|
|
338
|
+
|
|
339
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
340
|
+
|
|
341
|
+
`+12784358810`
|
|
342
|
+
|
|
343
|
+
#### Permissão do app necessária
|
|
344
|
+
|
|
345
|
+
`whatsapp_business_management`: é necessário ter acesso avançado para atualizar o uso da API para clientes empresariais finais
|
|
346
|
+
|
|
347
|
+
#### Corpo da resposta
|
|
348
|
+
|
|
349
|
+
```
|
|
350
|
+
{ "calling": { "status": "ENABLED", "call_icon_visibility": "DEFAULT", "call_hours": { "status": "ENABLED", "timezone_id": "America/Manaus", "weekly_operating_hours": [ { "day_of_week": "MONDAY", "open_time": "0400", "close_time": "1020" }, { "day_of_week": "TUESDAY", "open_time": "0108", "close_time": "1020" } ], "holiday_schedule": [ { "date": "2026-01-01", "start_time": "0000", "end_time": "2359" } ] }, "callback_permission_status": "ENABLED", "sip": { "status": "ENABLED | DISABLED (default)", "servers": [ { "hostname": SIP_SERVER_HOSTNAME, "port": SIP_SERVER_PORT, "request_uri_user_params": { "KEY1": "VALUE1", "KEY2": "VALUE2" } } ] } }}
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
#### Incluir senha de usuário do SIP
|
|
354
|
+
|
|
355
|
+
Como opção, você pode incluir credenciais de usuário do SIP no corpo da resposta. Para isso, basta adicionar o parâmetro de consulta de credenciais do SIP na solicitação POST:
|
|
356
|
+
|
|
357
|
+
```
|
|
358
|
+
POST /<PHONE_NUMBER_ID>/settings?include_sip_credentials=true
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
A resposta será semelhante a esta:
|
|
362
|
+
|
|
363
|
+
```
|
|
364
|
+
{ "calling": { ... // other calling api settings "sip": { "status": "ENABLED", "servers": [ { "hostname": "sip.example.com", "sip_user_password": "{SIP_USER_PASSWORD}" } ] } }}
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
#### Detalhes da resposta
|
|
368
|
+
|
|
369
|
+
O ponto de extremidade `GET /<PHONE_NUMBER_ID>/settings` retorna as configurações da API de Ligações, além de outras informações de configuração do seu número de telefone comercial do WhatsApp.
|
|
370
|
+
|
|
371
|
+
[Saiba mais sobre as configurações da API de Ligações e os respectivos valores](/documentation/business-messaging/whatsapp/calling/call-settings#body-parameters)
|
|
372
|
+
|
|
373
|
+
#### Resposta de erro
|
|
374
|
+
|
|
375
|
+
Veja os problemas que podem ocorrer:
|
|
376
|
+
|
|
377
|
+
- Erros de permissão/autorização
|
|
378
|
+
|
|
379
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
380
|
+
|
|
381
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
382
|
+
|
|
383
|
+
### Aceitar ligações previamente
|
|
384
|
+
|
|
385
|
+
Basicamente, aceitando previamente uma ligação recebida, você permite que a conexão de mídia seja estabelecida antes de tentar enviar a mídia da ligação por meio da conexão.
|
|
386
|
+
|
|
387
|
+
Quando você chamar o ponto de extremidade de aceitação de ligação, a mídia começará a fluir imediatamente, já que a conexão já foi estabelecida.
|
|
388
|
+
|
|
389
|
+
Recomendamos aceitar as ligações previamente, pois isso facilita o contato mais rápido e evita [problemas de clipe de áudio](/documentation/business-messaging/whatsapp/calling/troubleshooting#audio-clipping-issue-and-solution).
|
|
390
|
+
|
|
391
|
+
Após o envio do [webhook de conexão de ligação](/#call-connect-webhook), a empresa terá de 30 a 60 segundos para aceitar a ligação telefônica. Se a empresa não atender, a ligação será encerrada para o usuário do WhatsApp com uma notificação "Não atendida", e você receberá um [webhook de encerramento](/#call-terminate-webhook).
|
|
392
|
+
|
|
393
|
+
**Observação:** como a conexão WebRTC é estabelecida antes da ligação ao [ponto de extremidade Aceitar Ligação](/#accept-call), processe a mídia da ligação somente após receber a resposta 200 OK.
|
|
394
|
+
|
|
395
|
+
Se o fluxo de mídia da ligação começar muito cedo, a pessoa que está ligando não ouvirá as primeiras palavras. Se o fluxo de mídia da ligação começar muito tarde, a pessoa que está ligando não ouvirá nada.
|
|
396
|
+
|
|
397
|
+
#### Sintaxe da solicitação
|
|
398
|
+
|
|
399
|
+
```
|
|
400
|
+
POST <PHONE_NUMBER_ID/calls
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
Espaço reservado
|
|
404
|
+
|
|
405
|
+
Descrição
|
|
406
|
+
|
|
407
|
+
Exemplo de valor
|
|
408
|
+
|
|
409
|
+
`<PHONE_NUMBER_ID>`
|
|
410
|
+
|
|
411
|
+
_Número inteiro_
|
|
412
|
+
|
|
413
|
+
**Obrigatório**
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
O número de telefone comercial do qual você está usando os recursos da API de Ligações.
|
|
417
|
+
|
|
418
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
419
|
+
|
|
420
|
+
`+12784358810`
|
|
421
|
+
|
|
422
|
+
#### Corpo da solicitação
|
|
423
|
+
|
|
424
|
+
```
|
|
425
|
+
{
|
|
426
|
+
"messaging_product": "whatsapp",
|
|
427
|
+
"call_id": "wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh",
|
|
428
|
+
"action": "pre_accept",
|
|
429
|
+
"session" : {
|
|
430
|
+
"sdp_type" : "answer",
|
|
431
|
+
"sdp" : "<<RFC 8866 SDP>>"
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
#### Parâmetros do corpo
|
|
437
|
+
|
|
438
|
+
Parâmetro
|
|
439
|
+
|
|
440
|
+
Descrição
|
|
441
|
+
|
|
442
|
+
Exemplo de valor
|
|
443
|
+
|
|
444
|
+
`call_id`
|
|
445
|
+
|
|
446
|
+
_String_
|
|
447
|
+
|
|
448
|
+
**Obrigatório**
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
O ID da ligação telefônica.
|
|
452
|
+
|
|
453
|
+
Para ligações recebidas, você obtém uma identificação de ligação do [webhook de conexão de ligação](/#call-connect-webhook) quando um usuário do WhatsApp inicia a ligação.
|
|
454
|
+
|
|
455
|
+
`“wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”`
|
|
456
|
+
|
|
457
|
+
`action`
|
|
458
|
+
|
|
459
|
+
_String_
|
|
460
|
+
|
|
461
|
+
**Opcional**
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
A ação sendo realizada na ligação em questão.
|
|
465
|
+
|
|
466
|
+
Os valores podem ser `connect` | `pre_accept` | `accept` | `reject` | `terminate`
|
|
467
|
+
|
|
468
|
+
`“pre_accept”`
|
|
469
|
+
|
|
470
|
+
`session`
|
|
471
|
+
|
|
472
|
+
_Objeto JSON_
|
|
473
|
+
|
|
474
|
+
**Opcional**
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
Contém o tipo de protocolo de descrição de sessão (SDP) e a descrição do idioma.
|
|
478
|
+
|
|
479
|
+
Exige dois valores:
|
|
480
|
+
|
|
481
|
+
`sdp_type` – (_String_) **Obrigatório**
|
|
482
|
+
|
|
483
|
+
"oferta", para indicar a oferta de SDP
|
|
484
|
+
|
|
485
|
+
`sdp` – (_String_) **Obrigatório**
|
|
486
|
+
|
|
487
|
+
As informações do SDP do dispositivo do outro lado da ligação. O SDP deve estar em conformidade com o [RFC 8866](https://l.facebook.com/l.php?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8866&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo).
|
|
488
|
+
|
|
489
|
+
[Saiba mais sobre o Protocolo de Descrição de Sessão (SDP)](https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc8866.html&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo)
|
|
490
|
+
|
|
491
|
+
[Exemplo de estruturas SDP](/#sdp-overview-and-sample-sdp-structures)
|
|
492
|
+
|
|
493
|
+
```
|
|
494
|
+
"session" :
|
|
495
|
+
{
|
|
496
|
+
"sdp_type" : "offer",
|
|
497
|
+
"sdp" : "<<RFC 8866 SDP>>"
|
|
498
|
+
}
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
#### Resposta de sucesso
|
|
502
|
+
|
|
503
|
+
```
|
|
504
|
+
{
|
|
505
|
+
"messaging_product": "whatsapp",
|
|
506
|
+
"success" : true
|
|
507
|
+
}
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
#### Resposta de erro
|
|
511
|
+
|
|
512
|
+
Veja os problemas que podem ocorrer:
|
|
513
|
+
|
|
514
|
+
- `call-id` inválida- `phone-number-id` inválido- Erro relacionado à forma de pagamento- Informações de conexão inválidas, como sdp, ice- Aceitar/rejeitar uma ligação que já está em andamento/concluída/com falha- Erros de permissão/autorização
|
|
515
|
+
|
|
516
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
517
|
+
|
|
518
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
### Aceitar ligação
|
|
525
|
+
|
|
526
|
+
Use este ponto de extremidade para se conectar a uma ligação fornecendo o SDP de um agente de ligação.
|
|
527
|
+
|
|
528
|
+
Após o envio do [Webhook de conexão de ligação](/#call-connect-webhook), você terá de 30 a 60 segundos para aceitar a ligação. Se a empresa não atender, a ligação será encerrada para o usuário do WhatsApp com uma notificação "Não atendida", e você receberá um [webhook de encerramento](/#call-terminate-webhook).
|
|
529
|
+
|
|
530
|
+
#### Sintaxe da solicitação
|
|
531
|
+
|
|
532
|
+
```
|
|
533
|
+
POST <PHONE_NUMBER_ID/calls
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
Espaço reservado
|
|
537
|
+
|
|
538
|
+
Descrição
|
|
539
|
+
|
|
540
|
+
Exemplo de valor
|
|
541
|
+
|
|
542
|
+
`<PHONE_NUMBER_ID>`
|
|
543
|
+
|
|
544
|
+
_Número inteiro_
|
|
545
|
+
|
|
546
|
+
**Obrigatório**
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
O número de telefone comercial do qual você está usando os recursos da API de Ligações.
|
|
550
|
+
|
|
551
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
552
|
+
|
|
553
|
+
`+12784358810`
|
|
554
|
+
|
|
555
|
+
#### Corpo da solicitação
|
|
556
|
+
|
|
557
|
+
```
|
|
558
|
+
{
|
|
559
|
+
"messaging_product": "whatsapp",
|
|
560
|
+
"call_id": "wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh",
|
|
561
|
+
"action": "accept",
|
|
562
|
+
"session" : {
|
|
563
|
+
"sdp_type" : "answer",
|
|
564
|
+
"sdp" : "<<RFC 8866 SDP>>"
|
|
565
|
+
},
|
|
566
|
+
"biz_opaque_callback_data": "random_string",
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
#### Parâmetros do corpo
|
|
572
|
+
|
|
573
|
+
Parâmetro
|
|
574
|
+
|
|
575
|
+
Descrição
|
|
576
|
+
|
|
577
|
+
Exemplo de valor
|
|
578
|
+
|
|
579
|
+
`call_id`
|
|
580
|
+
|
|
581
|
+
_String_
|
|
582
|
+
|
|
583
|
+
**Obrigatório**
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
O ID da ligação telefônica.
|
|
587
|
+
|
|
588
|
+
Para ligações recebidas, você obtém uma identificação de ligação do [webhook de conexão de ligação](/#call-connect-webhook) quando um usuário do WhatsApp inicia a ligação.
|
|
589
|
+
|
|
590
|
+
`“wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”`
|
|
591
|
+
|
|
592
|
+
`action`
|
|
593
|
+
|
|
594
|
+
_String_
|
|
595
|
+
|
|
596
|
+
**Opcional**
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
A ação sendo realizada na ligação em questão.
|
|
600
|
+
|
|
601
|
+
Os valores podem ser `connect` | `pre_accept` | `accept` | `reject` | `terminate`
|
|
602
|
+
|
|
603
|
+
`“accept”`
|
|
604
|
+
|
|
605
|
+
`session`
|
|
606
|
+
|
|
607
|
+
_Objeto JSON_
|
|
608
|
+
|
|
609
|
+
**Opcional**
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
Contém o tipo de protocolo de descrição de sessão (SDP) e a descrição do idioma.
|
|
613
|
+
|
|
614
|
+
Exige dois valores:
|
|
615
|
+
|
|
616
|
+
`sdp_type` – (_String_) **Obrigatório**
|
|
617
|
+
|
|
618
|
+
"oferta", para indicar a oferta de SDP
|
|
619
|
+
|
|
620
|
+
`sdp` – (_String_) **Obrigatório**
|
|
621
|
+
|
|
622
|
+
As informações do SDP do dispositivo do outro lado da ligação. O SDP deve estar em conformidade com o [RFC 8866](https://l.facebook.com/l.php?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8866&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo).
|
|
623
|
+
|
|
624
|
+
[Saiba mais sobre o Protocolo de Descrição de Sessão (SDP)](https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc8866.html&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo)
|
|
625
|
+
|
|
626
|
+
[Exemplo de estruturas SDP](/#sdp-overview-and-sample-sdp-structures)
|
|
627
|
+
|
|
628
|
+
```
|
|
629
|
+
"session" :
|
|
630
|
+
{
|
|
631
|
+
"sdp_type" : "offer",
|
|
632
|
+
"sdp" : "<<RFC 8866 SDP>>"
|
|
633
|
+
}
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
`biz_opaque_callback_data`
|
|
637
|
+
|
|
638
|
+
_String_
|
|
639
|
+
|
|
640
|
+
**Opcional**
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
Uma string arbitrária que você pode incluir e que é útil para rastreamento e registro.
|
|
644
|
+
|
|
645
|
+
Qualquer app inscrito no campo de webhook "ligações" na sua conta do WhatsApp Business pode receber essa string, pois ela está incluída no objeto `calls` dentro da carga subsequente do [webhook de encerramento](#call-terminate-webhook).
|
|
646
|
+
|
|
647
|
+
A API de Nuvem não processa esse campo; ela apenas o retorna como parte do [Webhook de encerramento](#call-terminate-webhook).
|
|
648
|
+
|
|
649
|
+
Máximo de 512 caracteres
|
|
650
|
+
|
|
651
|
+
`“8huas8d80nn”`
|
|
652
|
+
|
|
653
|
+
#### Resposta de sucesso
|
|
654
|
+
|
|
655
|
+
```
|
|
656
|
+
{
|
|
657
|
+
"messaging_product": "whatsapp",
|
|
658
|
+
"success" : true
|
|
659
|
+
}
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
#### Resposta de erro
|
|
663
|
+
|
|
664
|
+
Veja os problemas que podem ocorrer:
|
|
665
|
+
|
|
666
|
+
- `call-id` inválida- `phone-number-id` inválido- Erro relacionado à forma de pagamento- Informações de conexão inválidas, como sdp, ice etc.- Aceitar/rejeitar uma ligação que já está em andamento/concluída/com falha- Erros de permissão/autorização- A resposta de SDP fornecida na aceitação não corresponde à resposta de SDP dada no [ponto de extremidade de aceitação prévia](/#pre-accept-call) para o mesmo `call-id`
|
|
667
|
+
|
|
668
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
669
|
+
|
|
670
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
### Rejeitar ligação
|
|
677
|
+
|
|
678
|
+
Use este ponto de extremidade para rejeitar uma ligação.
|
|
679
|
+
|
|
680
|
+
Após o envio do [webhook de conexão de ligação](/#call-connect-webhook), você terá de 30 a 60 segundos para aceitar a ligação. Se a empresa não atender, a ligação será encerrada para o usuário do WhatsApp com uma notificação "Não atendida", e você receberá um [webhook de encerramento](/#call-terminate-webhook).
|
|
681
|
+
|
|
682
|
+
#### Sintaxe da solicitação
|
|
683
|
+
|
|
684
|
+
```
|
|
685
|
+
POST <PHONE_NUMBER_ID/calls
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
Espaço reservado
|
|
689
|
+
|
|
690
|
+
Descrição
|
|
691
|
+
|
|
692
|
+
Exemplo de valor
|
|
693
|
+
|
|
694
|
+
`<PHONE_NUMBER_ID>`
|
|
695
|
+
|
|
696
|
+
_Número inteiro_
|
|
697
|
+
|
|
698
|
+
**Obrigatório**
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
O número de telefone comercial do qual você está usando os recursos da API de Ligações.
|
|
702
|
+
|
|
703
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
704
|
+
|
|
705
|
+
`+12784358810`
|
|
706
|
+
|
|
707
|
+
#### Corpo da solicitação
|
|
708
|
+
|
|
709
|
+
```
|
|
710
|
+
{
|
|
711
|
+
"messaging_product": "whatsapp",
|
|
712
|
+
"call_id": "wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh",
|
|
713
|
+
"action": "reject"
|
|
714
|
+
}
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
#### Parâmetros do corpo
|
|
718
|
+
|
|
719
|
+
Parâmetro
|
|
720
|
+
|
|
721
|
+
Descrição
|
|
722
|
+
|
|
723
|
+
Exemplo de valor
|
|
724
|
+
|
|
725
|
+
`call_id`
|
|
726
|
+
|
|
727
|
+
_String_
|
|
728
|
+
|
|
729
|
+
**Obrigatório**
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
O ID da ligação telefônica.
|
|
733
|
+
|
|
734
|
+
Para ligações recebidas, você obtém uma identificação de ligação do [webhook de conexão de ligação](/#call-connect-webhook) quando um usuário do WhatsApp inicia a ligação.
|
|
735
|
+
|
|
736
|
+
`“wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”`
|
|
737
|
+
|
|
738
|
+
`action`
|
|
739
|
+
|
|
740
|
+
_String_
|
|
741
|
+
|
|
742
|
+
**Opcional**
|
|
743
|
+
|
|
744
|
+
|
|
745
|
+
A ação sendo realizada na ligação em questão.
|
|
746
|
+
|
|
747
|
+
Os valores podem ser `connect` | `pre_accept` | `accept` | `reject` | `terminate`
|
|
748
|
+
|
|
749
|
+
`“reject”`
|
|
750
|
+
|
|
751
|
+
#### Resposta de sucesso
|
|
752
|
+
|
|
753
|
+
```
|
|
754
|
+
{
|
|
755
|
+
"messaging_product": "whatsapp",
|
|
756
|
+
"success" : true
|
|
757
|
+
}
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
#### Resposta de erro
|
|
761
|
+
|
|
762
|
+
Veja os problemas que podem ocorrer:
|
|
763
|
+
|
|
764
|
+
- `call-id` inválida- `phone-number-id` inválida- Aceitar/rejeitar uma ligação que já está em andamento/concluída/com falha- Erros de permissão/autorização
|
|
765
|
+
|
|
766
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
767
|
+
|
|
768
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
### Iniciar uma ligação
|
|
775
|
+
|
|
776
|
+
Use este ponto de extremidade para iniciar uma ligação para um usuário do WhatsApp. Para isso, basta fornecer um número de telefone e uma oferta de ligação WebRTC.
|
|
777
|
+
|
|
778
|
+
#### Sintaxe da solicitação
|
|
779
|
+
|
|
780
|
+
```
|
|
781
|
+
POST <PHONE_NUMBER_ID>/calls
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
Espaço reservado
|
|
785
|
+
|
|
786
|
+
Descrição
|
|
787
|
+
|
|
788
|
+
Exemplo de valor
|
|
789
|
+
|
|
790
|
+
`<PHONE_NUMBER_ID>`
|
|
791
|
+
|
|
792
|
+
_Número inteiro_
|
|
793
|
+
|
|
794
|
+
**Obrigatório**
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
O número de telefone comercial do qual você está iniciando uma nova ligação.
|
|
798
|
+
|
|
799
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
800
|
+
|
|
801
|
+
`+12784358810`
|
|
802
|
+
|
|
803
|
+
#### Corpo da solicitação
|
|
804
|
+
|
|
805
|
+
```
|
|
806
|
+
{
|
|
807
|
+
"messaging_product": "whatsapp",
|
|
808
|
+
"to": "14085551234",
|
|
809
|
+
"action": "connect",
|
|
810
|
+
"session": {
|
|
811
|
+
"sdp_type": "offer",
|
|
812
|
+
"sdp": "<<RFC 8866 SDP>>"
|
|
813
|
+
},
|
|
814
|
+
"biz_opaque_callback_data": "0fS5cePMok"
|
|
815
|
+
}
|
|
816
|
+
```
|
|
817
|
+
|
|
818
|
+
#### Parâmetros do corpo
|
|
819
|
+
|
|
820
|
+
Parâmetro
|
|
821
|
+
|
|
822
|
+
Descrição
|
|
823
|
+
|
|
824
|
+
Exemplo de valor
|
|
825
|
+
|
|
826
|
+
`to`
|
|
827
|
+
|
|
828
|
+
_Número inteiro_
|
|
829
|
+
|
|
830
|
+
**Obrigatório**
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
O número para o qual a ligação é feita (recebedor da ligação)
|
|
834
|
+
|
|
835
|
+
`“17863476655”`
|
|
836
|
+
|
|
837
|
+
`action`
|
|
838
|
+
|
|
839
|
+
_String_
|
|
840
|
+
|
|
841
|
+
**Obrigatório**
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
A ação sendo realizada na ligação em questão.
|
|
845
|
+
|
|
846
|
+
Os valores podem ser `connect` | `pre_accept` | `accept` | `reject` | `terminate`
|
|
847
|
+
|
|
848
|
+
`“connect”`
|
|
849
|
+
|
|
850
|
+
`session`
|
|
851
|
+
|
|
852
|
+
_Objeto JSON_
|
|
853
|
+
|
|
854
|
+
**Opcional**
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
Contém o tipo de protocolo de descrição de sessão (SDP) e a descrição do idioma.
|
|
858
|
+
|
|
859
|
+
Exige dois valores:
|
|
860
|
+
|
|
861
|
+
`sdp_type` – (_String_) **Obrigatório**
|
|
862
|
+
|
|
863
|
+
"oferta", para indicar a oferta de SDP
|
|
864
|
+
|
|
865
|
+
`sdp` – (_String_) **Obrigatório**
|
|
866
|
+
|
|
867
|
+
As informações do SDP do dispositivo do outro lado da ligação. O SDP deve estar em conformidade com o [RFC 8866](https://l.facebook.com/l.php?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8866&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo).
|
|
868
|
+
|
|
869
|
+
[Saiba mais sobre o Protocolo de Descrição de Sessão (SDP)](https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc8866.html&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo)
|
|
870
|
+
|
|
871
|
+
[Exemplo de estruturas SDP](/#sdp-overview-and-sample-sdp-structures)
|
|
872
|
+
|
|
873
|
+
```
|
|
874
|
+
"session" :
|
|
875
|
+
{
|
|
876
|
+
"sdp_type" : "offer",
|
|
877
|
+
"sdp" : "<<RFC 8866 SDP>>"
|
|
878
|
+
}
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
`biz_opaque_callback_data`
|
|
882
|
+
|
|
883
|
+
_String_
|
|
884
|
+
|
|
885
|
+
**Opcional**
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
Uma string arbitrária que você pode incluir e que é útil para rastreamento e registro.
|
|
889
|
+
|
|
890
|
+
Qualquer app inscrito no campo de webhook "ligações" na sua conta do WhatsApp Business pode receber essa string, pois ela está incluída no objeto `calls` dentro da carga subsequente do [Webhook de encerramento de ligação](/documentation/business-messaging/whatsapp/calling/business-initiated-calls#call-terminate-webhook).
|
|
891
|
+
|
|
892
|
+
A API de Nuvem não processa esse campo.
|
|
893
|
+
|
|
894
|
+
Máximo de 512 caracteres
|
|
895
|
+
|
|
896
|
+
`“0fS5cePMok”`
|
|
897
|
+
|
|
898
|
+
#### Resposta de sucesso
|
|
899
|
+
|
|
900
|
+
```
|
|
901
|
+
{
|
|
902
|
+
"messaging_product": "whatsapp",
|
|
903
|
+
"calls" : [{
|
|
904
|
+
"id" : "wacid.ABGGFjFVU2AfAgo6V",
|
|
905
|
+
}]
|
|
906
|
+
}
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
#### Resposta de erro
|
|
910
|
+
|
|
911
|
+
Veja os problemas que podem ocorrer:
|
|
912
|
+
|
|
913
|
+
- Inválido `phone-number-id`- Erros de permissão/autorização- Erros de validação de formato de solicitação, por exemplo, informações de conexão, sdp, ice- Erros de validação do SDP
|
|
914
|
+
|
|
915
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
916
|
+
|
|
917
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
918
|
+
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
### Encerrar ligação
|
|
924
|
+
|
|
925
|
+
Use este ponto de extremidade para encerrar uma ligação ativa.
|
|
926
|
+
|
|
927
|
+
Isso deve ser feito mesmo que exista um pacote `RTCP BYE` no caminho da mídia. Encerrar a ligação dessa forma também garante que o preço seja mais preciso.
|
|
928
|
+
|
|
929
|
+
Quando o usuário do WhatsApp encerrar a ligação, não será necessário chamar esse ponto de extremidade. Depois que a ligação for encerrada, você receberá um [Webhook de encerramento de ligação](/documentation/business-messaging/whatsapp/calling/business-initiated-calls#call-terminate-webhook).
|
|
930
|
+
|
|
931
|
+
#### Sintaxe da solicitação
|
|
932
|
+
|
|
933
|
+
```
|
|
934
|
+
POST <PHONE_NUMBER_ID/calls
|
|
935
|
+
```
|
|
936
|
+
|
|
937
|
+
Parâmetro
|
|
938
|
+
|
|
939
|
+
Descrição
|
|
940
|
+
|
|
941
|
+
Exemplo de valor
|
|
942
|
+
|
|
943
|
+
`<PHONE_NUMBER_ID>`
|
|
944
|
+
|
|
945
|
+
_Número inteiro_
|
|
946
|
+
|
|
947
|
+
**Obrigatório**
|
|
948
|
+
|
|
949
|
+
|
|
950
|
+
O número de telefone comercial do qual você está encerrando uma ligação.
|
|
951
|
+
|
|
952
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
953
|
+
|
|
954
|
+
`18274459827`
|
|
955
|
+
|
|
956
|
+
#### Corpo da solicitação
|
|
957
|
+
|
|
958
|
+
```
|
|
959
|
+
{
|
|
960
|
+
"messaging_product": "whatsapp",
|
|
961
|
+
"call_id": "wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh",
|
|
962
|
+
"action": "terminate"
|
|
963
|
+
}
|
|
964
|
+
```
|
|
965
|
+
|
|
966
|
+
#### Parâmetros do corpo
|
|
967
|
+
|
|
968
|
+
Parâmetro
|
|
969
|
+
|
|
970
|
+
Descrição
|
|
971
|
+
|
|
972
|
+
Exemplo de valor
|
|
973
|
+
|
|
974
|
+
`call_id`
|
|
975
|
+
|
|
976
|
+
_String_
|
|
977
|
+
|
|
978
|
+
**Obrigatório**
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
O ID da ligação telefônica.
|
|
982
|
+
|
|
983
|
+
Para ligações recebidas, você obtém uma identificação de ligação do [webhook de conexão de ligação](/documentation/business-messaging/whatsapp/calling/business-initiated-calls#call-connect-webhook) quando um usuário do WhatsApp inicia a ligação.
|
|
984
|
+
|
|
985
|
+
`“wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”`
|
|
986
|
+
|
|
987
|
+
`action`
|
|
988
|
+
|
|
989
|
+
_String_
|
|
990
|
+
|
|
991
|
+
**Obrigatório**
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
A ação sendo realizada na ligação em questão.
|
|
995
|
+
|
|
996
|
+
Os valores podem ser `connect` | `pre_accept` | `accept` | `reject` | `terminate`
|
|
997
|
+
|
|
998
|
+
`“terminate”`
|
|
999
|
+
|
|
1000
|
+
#### Resposta de sucesso
|
|
1001
|
+
|
|
1002
|
+
```
|
|
1003
|
+
{
|
|
1004
|
+
"messaging_product": "whatsapp",
|
|
1005
|
+
"success" : true
|
|
1006
|
+
}
|
|
1007
|
+
```
|
|
1008
|
+
|
|
1009
|
+
#### Resposta de erro
|
|
1010
|
+
|
|
1011
|
+
Veja os problemas que podem ocorrer:
|
|
1012
|
+
|
|
1013
|
+
- `call-id` inválida- `phone-number-id` inválida- O usuário do WhatsApp já encerrou a ligação- A rejeição da ligação já está em andamento- Erros de permissão/autorização
|
|
1014
|
+
|
|
1015
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
1016
|
+
|
|
1017
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
1018
|
+
|
|
1019
|
+
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
|
|
1023
|
+
### Verificar o estado atual da permissão para ligações
|
|
1024
|
+
|
|
1025
|
+
Use este ponto de extremidade para verificar o estado da permissão para ligação entre um número comercial e um único número de telefone de usuário do WhatsApp.
|
|
1026
|
+
|
|
1027
|
+
#### Sintaxe da solicitação
|
|
1028
|
+
|
|
1029
|
+
```
|
|
1030
|
+
GET /<PHONE_NUMBER_ID>/call_permissions?user_wa_id=<CONSUMER_WHATSAPP_ID>
|
|
1031
|
+
```
|
|
1032
|
+
|
|
1033
|
+
#### Parâmetros de solicitação
|
|
1034
|
+
|
|
1035
|
+
Parâmetro
|
|
1036
|
+
|
|
1037
|
+
Descrição
|
|
1038
|
+
|
|
1039
|
+
Exemplo de valor
|
|
1040
|
+
|
|
1041
|
+
`<PHONE_NUMBER_ID>`
|
|
1042
|
+
|
|
1043
|
+
_String_
|
|
1044
|
+
|
|
1045
|
+
**Obrigatório**
|
|
1046
|
+
|
|
1047
|
+
|
|
1048
|
+
O número de telefone comercial para o qual você está buscando permissões.
|
|
1049
|
+
|
|
1050
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
1051
|
+
|
|
1052
|
+
`+18762639988`
|
|
1053
|
+
|
|
1054
|
+
`<CONSUMER_WHATSAPP_ID>`
|
|
1055
|
+
|
|
1056
|
+
_Número inteiro_
|
|
1057
|
+
|
|
1058
|
+
**Obrigatório**
|
|
1059
|
+
|
|
1060
|
+
|
|
1061
|
+
O número de telefone do usuário do WhatsApp de quem você está solicitando permissões para ligação.
|
|
1062
|
+
|
|
1063
|
+
[Saiba mais sobre a formatação de números de telefone na API de Nuvem](/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
|
|
1064
|
+
|
|
1065
|
+
`+13057765456`
|
|
1066
|
+
|
|
1067
|
+
#### Corpo da resposta
|
|
1068
|
+
|
|
1069
|
+
```
|
|
1070
|
+
{
|
|
1071
|
+
"messaging_product": "whatsapp",
|
|
1072
|
+
"permission": {
|
|
1073
|
+
"status": "temporary",
|
|
1074
|
+
"expiration_time": 1745343479
|
|
1075
|
+
},
|
|
1076
|
+
"actions": [
|
|
1077
|
+
{
|
|
1078
|
+
"action_name": "send_call_permission_request",
|
|
1079
|
+
"can_perform_action": true,
|
|
1080
|
+
"limits": [
|
|
1081
|
+
{
|
|
1082
|
+
"time_period": "PT24H",
|
|
1083
|
+
"max_allowed": 1,
|
|
1084
|
+
"current_usage": 0,
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"time_period": "P7D",
|
|
1088
|
+
"max_allowed": 2,
|
|
1089
|
+
"current_usage": 1,
|
|
1090
|
+
}
|
|
1091
|
+
]
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"action_name": "start_call",
|
|
1095
|
+
"can_perform_action": false,
|
|
1096
|
+
"limits": [
|
|
1097
|
+
{
|
|
1098
|
+
"time_period": "PT24H",
|
|
1099
|
+
"max_allowed": 5,
|
|
1100
|
+
"current_usage": 5,
|
|
1101
|
+
"limit_expiration_time": 1745622600,
|
|
1102
|
+
}
|
|
1103
|
+
]
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
```
|
|
1108
|
+
|
|
1109
|
+
#### Parâmetros da resposta
|
|
1110
|
+
|
|
1111
|
+
Parâmetro
|
|
1112
|
+
|
|
1113
|
+
Descrição
|
|
1114
|
+
|
|
1115
|
+
`permission`
|
|
1116
|
+
|
|
1117
|
+
_Objeto JSON_
|
|
1118
|
+
|
|
1119
|
+
O objeto de permissão contém dois valores:
|
|
1120
|
+
|
|
1121
|
+
`status`_(String)_ – o status atual da permissão.
|
|
1122
|
+
|
|
1123
|
+
Pode ser:
|
|
1124
|
+
|
|
1125
|
+
- `“no_permission”`- `"temporary"`
|
|
1126
|
+
|
|
1127
|
+
`expiration`_(Número inteiro)_ – o horário Unix em que a permissão expirará no fuso horário UTC.
|
|
1128
|
+
|
|
1129
|
+
`actions`
|
|
1130
|
+
|
|
1131
|
+
_Objeto JSON_
|
|
1132
|
+
|
|
1133
|
+
É a lista de ações que um número de telefone comercial pode realizar para facilitar uma permissão de ligação ou uma ligação iniciada pela empresa.
|
|
1134
|
+
|
|
1135
|
+
As ações atuais são:
|
|
1136
|
+
|
|
1137
|
+
`send_call_permission_request`: representa a ação de envio de novas mensagens de solicitação de permissão de ligação para o usuário do WhatsApp.
|
|
1138
|
+
|
|
1139
|
+
`start_call`: representa a ação de estabelecer uma nova ligação com o usuário do WhatsApp. Estabelecer uma nova ligação indica que a ligação foi atendida pelo consumidor.
|
|
1140
|
+
|
|
1141
|
+
Por exemplo, se `send_call_permission_request` tiver `can_perform_action` definido como `true`, isso significa que a empresa pode enviar uma solicitação de permissão para ligação ao usuário do WhatsApp em questão.
|
|
1142
|
+
|
|
1143
|
+
`can_perform_action` (_Booleano_) –
|
|
1144
|
+
|
|
1145
|
+
uma sinalização que indica se a ação pode ser realizada agora, levando em consideração todos os limites.
|
|
1146
|
+
|
|
1147
|
+
`limits`
|
|
1148
|
+
|
|
1149
|
+
_Objeto JSON_
|
|
1150
|
+
|
|
1151
|
+
Uma lista de restrições com limite de tempo para determinada ação `action_name`.
|
|
1152
|
+
|
|
1153
|
+
Cada `action_name` tem uma ou mais restrições, dependendo do período.
|
|
1154
|
+
|
|
1155
|
+
Por exemplo, uma empresa só pode enviar duas solicitações de permissão em um período de 24 horas.
|
|
1156
|
+
|
|
1157
|
+
`limits` contém os seguintes campos:
|
|
1158
|
+
|
|
1159
|
+
`time_period` (_String_) – o período em que o limite se aplica, representado no formato ISO 8601.
|
|
1160
|
+
|
|
1161
|
+
`max_allowed` (_Número inteiro_) – o número máximo de ações permitidas no período especificado.
|
|
1162
|
+
|
|
1163
|
+
`current_usage` (_Número inteiro_) – o número atual de ações realizadas pela empresa no período especificado.
|
|
1164
|
+
|
|
1165
|
+
`limit_expiration_time` (_Número inteiro_) – o horário Unix em que o limite expirará no fuso horário UTC.
|
|
1166
|
+
|
|
1167
|
+
Se `current_usage` estiver abaixo do limite máximo permitido, o campo não aparecerá.
|
|
1168
|
+
|
|
1169
|
+
#### Resposta de erro
|
|
1170
|
+
|
|
1171
|
+
Veja os problemas que podem ocorrer:
|
|
1172
|
+
|
|
1173
|
+
- `phone-number-id` inválida- Se não for possível ligar para o número de telefone do consumidor, a resposta da API será `no_permission`.- Erros de permissão/autorização.- O limite de volume foi atingido. É possível fazer um máximo de cinco solicitações em uma janela de um segundo à API.- As ligações não estão habilitadas para o número de telefone comercial.
|
|
1174
|
+
|
|
1175
|
+
[Consulte Códigos de erro e solução de problemas da API de Ligações para saber mais](/documentation/business-messaging/whatsapp/calling/troubleshooting)
|
|
1176
|
+
|
|
1177
|
+
[Veja os códigos de erro gerais da API de Nuvem aqui](/documentation/business-messaging/whatsapp/support/error-codes)
|
|
1178
|
+
|
|
1179
|
+
## Webhooks da API de Ligações
|
|
1180
|
+
|
|
1181
|
+
### Webhook de conexão de ligação
|
|
1182
|
+
|
|
1183
|
+
Uma notificação de webhook é enviada quase em tempo real quando uma ligação iniciada pela empresa está pronta para ser conectada ao usuário do WhatsApp (uma `SDP Answer`).
|
|
1184
|
+
|
|
1185
|
+
É importante destacar que o webhook contém informações necessárias para estabelecer uma conexão de chamada por meio do WebRTC.
|
|
1186
|
+
|
|
1187
|
+
Depois de receber o webhook de conexão de ligação, você pode aplicar a `SDP Answer` recebida no webhook à pilha de WebRTC para iniciar a conexão de mídia.
|
|
1188
|
+
|
|
1189
|
+
```
|
|
1190
|
+
{
|
|
1191
|
+
"object": "whatsapp_business_account",
|
|
1192
|
+
"entry": [
|
|
1193
|
+
{
|
|
1194
|
+
"id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
|
|
1195
|
+
"changes": [
|
|
1196
|
+
{
|
|
1197
|
+
"value": {
|
|
1198
|
+
"messaging_product": "whatsapp",
|
|
1199
|
+
"metadata": {
|
|
1200
|
+
"display_phone_number": "16315553601",
|
|
1201
|
+
"phone_number_id": "<PHONE_NUMBER_ID>"
|
|
1202
|
+
},
|
|
1203
|
+
"contacts": [
|
|
1204
|
+
{
|
|
1205
|
+
"profile": {
|
|
1206
|
+
"name": "<CALLEE_NAME>"
|
|
1207
|
+
},
|
|
1208
|
+
"wa_id": "16315553602"
|
|
1209
|
+
}
|
|
1210
|
+
],
|
|
1211
|
+
"calls": [
|
|
1212
|
+
{
|
|
1213
|
+
"id": "wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh",
|
|
1214
|
+
"to": "16315553601",
|
|
1215
|
+
"from": "16315553602",
|
|
1216
|
+
"event": "connect",
|
|
1217
|
+
"timestamp": "1671644824",
|
|
1218
|
+
"direction": "BUSINESS_INITIATED",
|
|
1219
|
+
"session": {
|
|
1220
|
+
"sdp_type": "answer",
|
|
1221
|
+
"sdp": "<<RFC 8866 SDP>>"
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
]
|
|
1225
|
+
},
|
|
1226
|
+
"field": "calls"
|
|
1227
|
+
}
|
|
1228
|
+
]
|
|
1229
|
+
}
|
|
1230
|
+
]
|
|
1231
|
+
}
|
|
1232
|
+
```
|
|
1233
|
+
|
|
1234
|
+
#### Valores de webhook para `"calls"`
|
|
1235
|
+
|
|
1236
|
+
Espaço reservado
|
|
1237
|
+
|
|
1238
|
+
Descrição
|
|
1239
|
+
|
|
1240
|
+
`id`
|
|
1241
|
+
|
|
1242
|
+
_String_
|
|
1243
|
+
|
|
1244
|
+
Uma identificação única para a ligação
|
|
1245
|
+
|
|
1246
|
+
`to`
|
|
1247
|
+
|
|
1248
|
+
_Número inteiro_
|
|
1249
|
+
|
|
1250
|
+
O número que está sendo chamado (recebedor da chamada)
|
|
1251
|
+
|
|
1252
|
+
`from`
|
|
1253
|
+
|
|
1254
|
+
_Número inteiro_
|
|
1255
|
+
|
|
1256
|
+
O número de telefone da pessoa realizando a ligação
|
|
1257
|
+
|
|
1258
|
+
`event`
|
|
1259
|
+
|
|
1260
|
+
_Número inteiro_
|
|
1261
|
+
|
|
1262
|
+
Evento de ligação sobre o qual esse webhook está notificando o assinante
|
|
1263
|
+
|
|
1264
|
+
`timestamp`
|
|
1265
|
+
|
|
1266
|
+
_Número inteiro_
|
|
1267
|
+
|
|
1268
|
+
O registro de data e hora UNIX do evento de webhook
|
|
1269
|
+
|
|
1270
|
+
`direction`
|
|
1271
|
+
|
|
1272
|
+
_String_
|
|
1273
|
+
|
|
1274
|
+
A direção da ligação que está sendo feita.
|
|
1275
|
+
|
|
1276
|
+
Pode conter:
|
|
1277
|
+
|
|
1278
|
+
`BUSINESS_INITIATED`, para ligações iniciadas pela empresa.
|
|
1279
|
+
|
|
1280
|
+
`USER_INITIATED`, para ligações iniciadas por um usuário do WhatsApp.
|
|
1281
|
+
|
|
1282
|
+
`session`
|
|
1283
|
+
|
|
1284
|
+
_Objeto JSON_
|
|
1285
|
+
|
|
1286
|
+
**Opcional**
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
Contém o tipo de protocolo de descrição de sessão (SDP) e a descrição do idioma.
|
|
1290
|
+
|
|
1291
|
+
Exige dois valores:
|
|
1292
|
+
|
|
1293
|
+
`sdp_type` – (_String_) **Obrigatório**
|
|
1294
|
+
|
|
1295
|
+
"oferta", para indicar a oferta de SDP
|
|
1296
|
+
|
|
1297
|
+
`sdp` – (_String_) **Obrigatório**
|
|
1298
|
+
|
|
1299
|
+
As informações do SDP do dispositivo do outro lado da ligação. O SDP deve estar em conformidade com o [RFC 8866](https://l.facebook.com/l.php?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8866&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo).
|
|
1300
|
+
|
|
1301
|
+
[Saiba mais sobre o Protocolo de Descrição de Sessão (SDP)](https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc8866.html&h=AT3G1PDlCyqFbV34w6YnoDjeRd0oO0qH7x-c0NKTRYAk0TFNOUJ8UFhCqQ7Ly2GvucDD3eD8uOd-Ysl2FXX0YGAtMcdhqgzq9uyG3zUxCHE1AynC8KCSegvC7WThNDUKrngJIQ45hclXKn-dm5bBMfVwwzo)
|
|
1302
|
+
|
|
1303
|
+
[Exemplo de estruturas SDP](/#sdp-overview-and-sample-sdp-structures)
|
|
1304
|
+
|
|
1305
|
+
`contacts`
|
|
1306
|
+
|
|
1307
|
+
_Objeto JSON_
|
|
1308
|
+
|
|
1309
|
+
As informações de perfil do usuário que recebe a ligação.
|
|
1310
|
+
|
|
1311
|
+
Contém dois valores:
|
|
1312
|
+
|
|
1313
|
+
`name` – o nome do perfil do WhatsApp do destinatário da ligação.
|
|
1314
|
+
|
|
1315
|
+
`wa_id` – a identificação do WhatsApp do destinatário da ligação.
|
|
1316
|
+
|
|
1317
|
+
|
|
1318
|
+
|
|
1319
|
+
|
|
1320
|
+
|
|
1321
|
+
### Webhook de status da ligação
|
|
1322
|
+
|
|
1323
|
+
Esse webhook é enviado durante os seguintes eventos de ligações:
|
|
1324
|
+
|
|
1325
|
+
- Chamando: quando o dispositivo do usuário do WhatsApp começa a tocar- Aceita: quando o usuário do WhatsApp aceita a ligação- Rejeitada: quando a ligação é rejeitada pelo usuário do WhatsApp
|
|
1326
|
+
|
|
1327
|
+
A estrutura de webhook aqui é semelhante aos webhooks de status usados para as mensagens da API de Nuvem.
|
|
1328
|
+
|
|
1329
|
+
```
|
|
1330
|
+
{
|
|
1331
|
+
"object": "whatsapp_business_account",
|
|
1332
|
+
"entry": [
|
|
1333
|
+
{
|
|
1334
|
+
"id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
|
|
1335
|
+
"changes": [
|
|
1336
|
+
{
|
|
1337
|
+
"value": {
|
|
1338
|
+
"messaging_product": "whatsapp",
|
|
1339
|
+
"metadata": {
|
|
1340
|
+
"display_phone_number": "16315553601",
|
|
1341
|
+
"phone_number_id": "<PHONE_NUMBER_ID>",
|
|
1342
|
+
},
|
|
1343
|
+
"statuses": [{
|
|
1344
|
+
"id": "wacid.ABGGFjFVU2AfAgo6V",
|
|
1345
|
+
"timestamp": "1671644824",
|
|
1346
|
+
"type": "call"
|
|
1347
|
+
"status": "[RINGING|ACCEPTED|REJECTED]",
|
|
1348
|
+
"recipient_id": "163155536021",
|
|
1349
|
+
"biz_opaque_callback_data": "random_string",
|
|
1350
|
+
}]
|
|
1351
|
+
},
|
|
1352
|
+
"field": "calls"
|
|
1353
|
+
}
|
|
1354
|
+
]
|
|
1355
|
+
}
|
|
1356
|
+
]
|
|
1357
|
+
}
|
|
1358
|
+
```
|
|
1359
|
+
|
|
1360
|
+
[_Saiba mais sobre webhooks de status da API de Nuvem_](/documentation/business-messaging/whatsapp/webhooks/reference/messages/status)
|
|
1361
|
+
|
|
1362
|
+
#### Valores de webhook para `"statuses"`
|
|
1363
|
+
|
|
1364
|
+
Espaço reservado
|
|
1365
|
+
|
|
1366
|
+
Descrição
|
|
1367
|
+
|
|
1368
|
+
`id`
|
|
1369
|
+
|
|
1370
|
+
_String_
|
|
1371
|
+
|
|
1372
|
+
Uma identificação única para a ligação
|
|
1373
|
+
|
|
1374
|
+
`timestamp`
|
|
1375
|
+
|
|
1376
|
+
_Número inteiro_
|
|
1377
|
+
|
|
1378
|
+
O registro de data e hora Unix do evento de webhook
|
|
1379
|
+
|
|
1380
|
+
`recipient_id`
|
|
1381
|
+
|
|
1382
|
+
_Número inteiro_
|
|
1383
|
+
|
|
1384
|
+
O número de telefone do usuário do WhatsApp que está recebendo a ligação
|
|
1385
|
+
|
|
1386
|
+
`status`
|
|
1387
|
+
|
|
1388
|
+
_Número inteiro_
|
|
1389
|
+
|
|
1390
|
+
O status atual da ligação.
|
|
1391
|
+
|
|
1392
|
+
Valores possíveis:
|
|
1393
|
+
|
|
1394
|
+
`RINGING`: o usuário está recebendo uma ligação da empresa
|
|
1395
|
+
|
|
1396
|
+
`ACCEPTED`: a ligação iniciada pela empresa é aceita pelo usuário
|
|
1397
|
+
|
|
1398
|
+
`REJECTED`: a ligação iniciada pela empresa é rejeitada pelo usuário
|
|
1399
|
+
|
|
1400
|
+
`biz_opaque_callback_date`
|
|
1401
|
+
|
|
1402
|
+
_String_
|
|
1403
|
+
|
|
1404
|
+
Uma string arbitrária que a empresa inclui na ligação para rastreamento e registro.
|
|
1405
|
+
|
|
1406
|
+
Só será retornado se fornecido por meio de solicitações à [API de Iniciação de Nova Ligação](/documentation/business-messaging/whatsapp/calling/business-initiated-calls#initiate-a-new-call)
|
|
1407
|
+
|
|
1408
|
+
|
|
1409
|
+
|
|
1410
|
+
### Webhook de encerramento de ligação
|
|
1411
|
+
|
|
1412
|
+
Uma notificação de webhook é enviada sempre que a ligação é encerrada por qualquer motivo, como quando o usuário do WhatsApp desliga ou quando a empresa faz uma chamada ao ponto de extremidade `POST /<PHONE_NUMBER_ID>/calls` com uma ação de `terminate` ou `reject`.
|
|
1413
|
+
|
|
1414
|
+
```
|
|
1415
|
+
{
|
|
1416
|
+
"object": "whatsapp_business_account",
|
|
1417
|
+
"entry": [
|
|
1418
|
+
{
|
|
1419
|
+
"id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
|
|
1420
|
+
"changes": [
|
|
1421
|
+
{
|
|
1422
|
+
"value": {
|
|
1423
|
+
"messaging_product": "whatsapp",
|
|
1424
|
+
"metadata": {
|
|
1425
|
+
"display_phone_number": "16505553602",
|
|
1426
|
+
"phone_number_id": "<PHONE_NUMBER_ID>",
|
|
1427
|
+
},
|
|
1428
|
+
"calls": [
|
|
1429
|
+
{
|
|
1430
|
+
"id": "wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh",
|
|
1431
|
+
"to": "16315553601",
|
|
1432
|
+
"from": "16315553602",
|
|
1433
|
+
"event": "terminate"
|
|
1434
|
+
"direction": "BUSINESS_INITIATED",
|
|
1435
|
+
"biz_opaque_callback_data": "random_string",
|
|
1436
|
+
"timestamp": "1671644824",
|
|
1437
|
+
"status" : [FAILED | COMPLETED],
|
|
1438
|
+
"start_time" : "1671644824",
|
|
1439
|
+
"end_time" : "1671644944",
|
|
1440
|
+
"duration" : 120
|
|
1441
|
+
}
|
|
1442
|
+
],
|
|
1443
|
+
"errors": [
|
|
1444
|
+
{
|
|
1445
|
+
"code": INT_CODE,
|
|
1446
|
+
"message": "ERROR_TITLE",
|
|
1447
|
+
"href": "ERROR_HREF",
|
|
1448
|
+
"error_data": {
|
|
1449
|
+
"details": "ERROR_DETAILS"
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
]
|
|
1453
|
+
},
|
|
1454
|
+
"field": "calls"
|
|
1455
|
+
}
|
|
1456
|
+
]
|
|
1457
|
+
}
|
|
1458
|
+
]
|
|
1459
|
+
}
|
|
1460
|
+
```
|
|
1461
|
+
|
|
1462
|
+
#### Valores de webhook para `"calls"`
|
|
1463
|
+
|
|
1464
|
+
Espaço reservado
|
|
1465
|
+
|
|
1466
|
+
Descrição
|
|
1467
|
+
|
|
1468
|
+
`id`
|
|
1469
|
+
|
|
1470
|
+
_String_
|
|
1471
|
+
|
|
1472
|
+
Uma identificação única para a ligação
|
|
1473
|
+
|
|
1474
|
+
`to`
|
|
1475
|
+
|
|
1476
|
+
_Número inteiro_
|
|
1477
|
+
|
|
1478
|
+
O número que está sendo chamado (recebedor da chamada)
|
|
1479
|
+
|
|
1480
|
+
`from`
|
|
1481
|
+
|
|
1482
|
+
_Número inteiro_
|
|
1483
|
+
|
|
1484
|
+
O número de telefone da pessoa realizando a ligação
|
|
1485
|
+
|
|
1486
|
+
`event`
|
|
1487
|
+
|
|
1488
|
+
_Número inteiro_
|
|
1489
|
+
|
|
1490
|
+
Evento de ligação sobre o qual esse webhook está notificando o assinante
|
|
1491
|
+
|
|
1492
|
+
`timestamp`
|
|
1493
|
+
|
|
1494
|
+
_Número inteiro_
|
|
1495
|
+
|
|
1496
|
+
O registro de data e hora UNIX do evento de webhook
|
|
1497
|
+
|
|
1498
|
+
`direction`
|
|
1499
|
+
|
|
1500
|
+
_String_
|
|
1501
|
+
|
|
1502
|
+
A direção da ligação que está sendo feita.
|
|
1503
|
+
|
|
1504
|
+
Pode conter:
|
|
1505
|
+
|
|
1506
|
+
`BUSINESS_INITIATED`, para ligações iniciadas pela empresa.
|
|
1507
|
+
|
|
1508
|
+
`USER_INITIATED`, para ligações iniciadas por um usuário do WhatsApp.
|
|
1509
|
+
|
|
1510
|
+
`start_time`
|
|
1511
|
+
|
|
1512
|
+
_Número inteiro_
|
|
1513
|
+
|
|
1514
|
+
O registro de data e hora Unix do início da ligação.
|
|
1515
|
+
|
|
1516
|
+
Apenas quando a chamada foi atendida pela outra parte.
|
|
1517
|
+
|
|
1518
|
+
`end_time`
|
|
1519
|
+
|
|
1520
|
+
_Número inteiro_
|
|
1521
|
+
|
|
1522
|
+
O registro de data e hora Unix do término da ligação.
|
|
1523
|
+
|
|
1524
|
+
Presente apenas quando a ligação foi atendida pela outra parte.
|
|
1525
|
+
|
|
1526
|
+
`duration`
|
|
1527
|
+
|
|
1528
|
+
_Número inteiro_
|
|
1529
|
+
|
|
1530
|
+
Duração da ligação em segundos.
|
|
1531
|
+
|
|
1532
|
+
Apenas quando a chamada foi atendida pela outra parte.
|
|
1533
|
+
|
|
1534
|
+
`biz_opaque_callback_date`
|
|
1535
|
+
|
|
1536
|
+
_String_
|
|
1537
|
+
|
|
1538
|
+
Uma string arbitrária que a empresa inclui na ligação para rastreamento e registro.
|
|
1539
|
+
|
|
1540
|
+
Só será retornado se fornecido por meio de solicitações à [Nova API de Ligação](/documentation/business-messaging/whatsapp/calling/reference#initiate-call) ou [Solicitações de aceitação de ligação](/documentation/business-messaging/whatsapp/calling/reference#accept-call).
|
|
1541
|
+
|
|
1542
|
+
|
|
1543
|
+
|
|
1544
|
+
|
|
1545
|
+
|
|
1546
|
+
### Webhook de solicitação de permissão para ligação do usuário
|
|
1547
|
+
|
|
1548
|
+
Esse webhook é retornado após solicitar as permissões para ligação do usuário.
|
|
1549
|
+
|
|
1550
|
+
O webhook muda dependendo do que o usuário faz:
|
|
1551
|
+
|
|
1552
|
+
- aceita ou rejeita a solicitação- concede permissão respondendo a uma solicitação ou ligando para a empresa
|
|
1553
|
+
|
|
1554
|
+
#### Exemplo de webhook
|
|
1555
|
+
|
|
1556
|
+
```
|
|
1557
|
+
{
|
|
1558
|
+
. . .
|
|
1559
|
+
|
|
1560
|
+
"messages": [{
|
|
1561
|
+
"from": "{customer_phone_number}",
|
|
1562
|
+
"id": "wamid.sH0kFlaCGg0xcvZbgmg90lHrg2dL",
|
|
1563
|
+
"timestamp": "{timestamp}",
|
|
1564
|
+
"context": {
|
|
1565
|
+
"from": "{customer_phone_number}",
|
|
1566
|
+
"id": "wacid.gBGGFlaCmZ9plHrf2Mh-o"
|
|
1567
|
+
},
|
|
1568
|
+
"interactive": {
|
|
1569
|
+
"type": "call_permission_reply",
|
|
1570
|
+
"call_permission_reply": {
|
|
1571
|
+
"response":"accept",
|
|
1572
|
+
"is_permanent":false,
|
|
1573
|
+
"expiration_timestamp": "{timestamp}",
|
|
1574
|
+
"response_source": "[user_action|automatic]"
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
],
|
|
1578
|
+
. . .
|
|
1579
|
+
}
|
|
1580
|
+
```
|
|
1581
|
+
|
|
1582
|
+
#### Exemplo de webhook (com permissões permanentes)
|
|
1583
|
+
|
|
1584
|
+
```
|
|
1585
|
+
"messages": [{
|
|
1586
|
+
"from": "{customer_phone_number}",
|
|
1587
|
+
"id": "wamid.sH0kFlaCGg0xcvZbgmg90lHrg2dL",
|
|
1588
|
+
"timestamp": "{timestamp}",
|
|
1589
|
+
"context": {
|
|
1590
|
+
"from": "{customer_phone_number}",
|
|
1591
|
+
"id": "wacid.gBGGFlaCmZ9plHrf2Mh-o"
|
|
1592
|
+
},
|
|
1593
|
+
"interactive": {
|
|
1594
|
+
"type": "call_permission_reply",
|
|
1595
|
+
"call_permission_reply": {
|
|
1596
|
+
"response":"accept",
|
|
1597
|
+
"is_permanent":false,
|
|
1598
|
+
"expiration_timestamp": "{timestamp}",
|
|
1599
|
+
"response_source": "[user_action|automatic]"
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1602
|
+
],
|
|
1603
|
+
. . .
|
|
1604
|
+
}
|
|
1605
|
+
```
|
|
1606
|
+
|
|
1607
|
+
#### Valores de webhook
|
|
1608
|
+
|
|
1609
|
+
Espaço reservado
|
|
1610
|
+
|
|
1611
|
+
Descrição
|
|
1612
|
+
|
|
1613
|
+
`customer_phone_number`
|
|
1614
|
+
|
|
1615
|
+
_String_
|
|
1616
|
+
|
|
1617
|
+
O número de telefone do cliente
|
|
1618
|
+
|
|
1619
|
+
`context.id`
|
|
1620
|
+
|
|
1621
|
+
_String_
|
|
1622
|
+
|
|
1623
|
+
Pode ser um dos dois valores
|
|
1624
|
+
|
|
1625
|
+
- A identificação da mensagem de solicitação de permissão enviada pela empresa para o número do cliente. Mostra quando uma decisão de permissão é tomada pelo usuário em resposta a uma solicitação de permissão para ligação.- A identificação da ligação perdida feita pela empresa para o número do cliente. Mostra quando a permissão de retorno de ligação está habilitada nas configurações e o usuário faz uma ligação para a empresa.
|
|
1626
|
+
|
|
1627
|
+
`response`
|
|
1628
|
+
|
|
1629
|
+
_String_
|
|
1630
|
+
|
|
1631
|
+
A resposta dos usuários do WhatsApp à mensagem de solicitação de permissão para ligação.
|
|
1632
|
+
|
|
1633
|
+
Pode ser `accept` ou `reject`.
|
|
1634
|
+
|
|
1635
|
+
`expiration_timestamp`
|
|
1636
|
+
|
|
1637
|
+
_Número inteiro_
|
|
1638
|
+
|
|
1639
|
+
Tempo, em segundos, até que a permissão desta ligação expire, caso o usuário do WhatsApp a tenha aprovado.
|
|
1640
|
+
|
|
1641
|
+
`response_source`
|
|
1642
|
+
|
|
1643
|
+
_String_
|
|
1644
|
+
|
|
1645
|
+
A fonte da permissão
|
|
1646
|
+
|
|
1647
|
+
Os valores possíveis para permissões para ligação aceitas são:
|
|
1648
|
+
|
|
1649
|
+
- `user_action`: o usuário aprovou ou rejeitou a permissão- `automatic`: aprovação automática de permissão devido ao usuário do WhatsApp ter iniciado a ligação
|
|
1650
|
+
|
|
1651
|
+
## Visão geral e exemplos de estruturas SDP
|
|
1652
|
+
|
|
1653
|
+
O Protocolo de Descrição de Sessão (SDP) é um formato baseado em texto usado para descrever as características das sessões multimídia, como ligações de voz e de vídeo, em apps de comunicação em tempo real. O SDP fornece uma maneira padronizada de transmitir informações sobre os fluxos de mídia da sessão, incluindo o tipo de mídia, codecs, protocolos e outros parâmetros necessários para estabelecer e gerenciar a sessão.
|
|
1654
|
+
|
|
1655
|
+
No contexto do WebRTC, o SDP é usado para negociar os parâmetros de mídia entre remetente e destinatário, permitindo que eles cheguem a um acordo sobre os detalhes da troca de mídia.
|
|
1656
|
+
|
|
1657
|
+
### Exemplos de estruturas SDP iniciadas pela empresa
|
|
1658
|
+
|
|
1659
|
+
#### Exemplo de estrutura de oferta SDP
|
|
1660
|
+
|
|
1661
|
+
```
|
|
1662
|
+
v=0
|
|
1663
|
+
o=- 3626166318745852955 2 IN IP4 127.0.0.1
|
|
1664
|
+
s=-
|
|
1665
|
+
t=0 0
|
|
1666
|
+
a=group:BUNDLE 0
|
|
1667
|
+
a=extmap-allow-mixed
|
|
1668
|
+
a=msid-semantic: WMS d8b26053-4474-4eb7-b3c3-c93d6c8c9b2e
|
|
1669
|
+
m=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 110 126
|
|
1670
|
+
c=IN IP4 0.0.0.0
|
|
1671
|
+
a=rtcp:9 IN IP4 0.0.0.0
|
|
1672
|
+
a=ice-ufrag:4g1c
|
|
1673
|
+
a=ice-pwd:qY/Bb+jQzg5ICn6X4fhJQetk
|
|
1674
|
+
a=ice-options:trickle
|
|
1675
|
+
a=fingerprint:sha-256 35:47:24:24:9F:93:C4:3E:DB:37:7F:BB:ED:F8:20:B5:AD:AC:DC:35:C2:7D:67:EE:6C:35:54:DF:A6:00:5C:4A
|
|
1676
|
+
a=setup:actpass
|
|
1677
|
+
a=mid:0
|
|
1678
|
+
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
|
|
1679
|
+
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
|
|
1680
|
+
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
|
|
1681
|
+
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
|
|
1682
|
+
a=sendrecv
|
|
1683
|
+
a=msid:d8b26053-4474-4eb7-b3c3-c93d6c8c9b2e 5b4d3d96-ea9b-44a8-87e6-11a1ad21a3bc
|
|
1684
|
+
a=rtcp-mux
|
|
1685
|
+
a=rtpmap:111 opus/48000/2
|
|
1686
|
+
a=rtcp-fb:111 transport-cc
|
|
1687
|
+
a=fmtp:111 minptime=10;useinbandfec=1
|
|
1688
|
+
a=rtpmap:63 red/48000/2
|
|
1689
|
+
a=fmtp:63 111/111
|
|
1690
|
+
a=rtpmap:9 G722/8000
|
|
1691
|
+
a=rtpmap:0 PCMU/8000
|
|
1692
|
+
a=rtpmap:8 PCMA/8000
|
|
1693
|
+
a=rtpmap:110 telephone-event/48000
|
|
1694
|
+
a=rtpmap:126 telephone-event/8000
|
|
1695
|
+
a=ssrc:2220762577 cname:w/zwpg3jXNiTFTdZ
|
|
1696
|
+
a=ssrc:2220762577 msid:d8b26053-4474-4eb7-b3c3-c93d6c8c9b2e 5b4d3d96-ea9b-44a8-87e6-11a1ad21a3bc
|
|
1697
|
+
```
|
|
1698
|
+
|
|
1699
|
+
#### Exemplo de estrutura de resposta SDP
|
|
1700
|
+
|
|
1701
|
+
```
|
|
1702
|
+
v=0
|
|
1703
|
+
o=- 741807839102053725 2 IN IP4 127.0.0.1
|
|
1704
|
+
s=-
|
|
1705
|
+
t=0 0
|
|
1706
|
+
a=group:BUNDLE 0
|
|
1707
|
+
a=extmap-allow-mixed
|
|
1708
|
+
a=msid-semantic: WMS 798a9670-c0d6-47a8-925e-5f082ef4d8a0
|
|
1709
|
+
a=ice-lite
|
|
1710
|
+
m=audio 3482 UDP/TLS/RTP/SAVPF 111 9 0 8 110 126
|
|
1711
|
+
c=IN IP4 31.13.65.130
|
|
1712
|
+
a=rtcp:9 IN IP4 0.0.0.0
|
|
1713
|
+
a=candidate:2754936280 1 udp 2113937151 31.13.65.130 3482 typ host generation 0 network-cost 50 ufrag JHqAXFH4HcAY/8
|
|
1714
|
+
a=candidate:1581496399 1 udp 2113939711 2a03:2880:f211:d1:face:b00c:0:699c 3482 typ host generation 0 network-cost 50 ufrag JHqAXFH4HcAY/8
|
|
1715
|
+
a=ice-ufrag:JHqAXFH4HcAY/8
|
|
1716
|
+
a=ice-pwd:dNNMmR8wUcGezvfBZOO0Qgcwl2m86GP/
|
|
1717
|
+
a=ice-options:trickle
|
|
1718
|
+
a=fingerprint:sha-256 9C:97:5C:4C:A9:BE:9E:2F:06:94:F5:BB:38:2C:A1:29:B5:69:B8:FA:94:10:56:1D:0B:5D:80:28:C1:FD:F0:F6
|
|
1719
|
+
a=setup:active
|
|
1720
|
+
a=mid:0
|
|
1721
|
+
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
|
|
1722
|
+
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
|
|
1723
|
+
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
|
|
1724
|
+
a=sendrecv
|
|
1725
|
+
a=rtcp-mux
|
|
1726
|
+
a=rtpmap:111 opus/48000/2
|
|
1727
|
+
a=rtcp-fb:111 transport-cc
|
|
1728
|
+
a=fmtp:111 minptime=10;useinbandfec=1
|
|
1729
|
+
a=rtpmap:9 G722/8000
|
|
1730
|
+
a=rtpmap:0 PCMU/8000
|
|
1731
|
+
a=rtpmap:8 PCMA/8000
|
|
1732
|
+
a=rtpmap:110 telephone-event/48000
|
|
1733
|
+
a=rtpmap:126 telephone-event/8000
|
|
1734
|
+
a=ssrc:3407645770 cname:bg8KQDoIk2UJa6sf
|
|
1735
|
+
a=ssrc:3407645770 msid:798a9670-c0d6-47a8-925e-5f082ef4d8a0 audio#nuxVMf9EAJX
|
|
1736
|
+
a=ssrc:3407645770 mslabel:798a9670-c0d6-47a8-925e-5f082ef4d8a0
|
|
1737
|
+
a=ssrc:3407645770 label:audio#nuxVMf9EAJX
|
|
1738
|
+
```
|
|
1739
|
+
|
|
1740
|
+
### Exemplo de estruturas SDP iniciadas pelo usuário
|
|
1741
|
+
|
|
1742
|
+
#### Exemplo de estrutura de oferta SDP
|
|
1743
|
+
|
|
1744
|
+
```
|
|
1745
|
+
v=0
|
|
1746
|
+
o=- 7602563789789945080 2 IN IP4 127.0.0.1
|
|
1747
|
+
s=-
|
|
1748
|
+
t=0 0
|
|
1749
|
+
a=group:BUNDLE audio
|
|
1750
|
+
a=msid-semantic: WMS 6932bc1c-db1a-4abe-b437-0c4168be8a13
|
|
1751
|
+
a=ice-lite
|
|
1752
|
+
m=audio 40012 UDP/TLS/RTP/SAVPF 111 126
|
|
1753
|
+
c=IN IP4 31.13.65.60
|
|
1754
|
+
a=rtcp:9 IN IP4 0.0.0.0
|
|
1755
|
+
a=candidate:1972637320 1 udp 2113937151 31.13.65.60 40012 typ host generation 0 network-cost 50 ufrag 6k2qP1R6kBfI/2
|
|
1756
|
+
a=candidate:1652262791 1 udp 2113939711 2a03:2880:f211:cf:face:b00c:0:6443 40012 typ host generation 0 network-cost 50 ufrag 6k2qP1R6kBfI/2
|
|
1757
|
+
a=ice-ufrag:6k2qP1R6kBfI/2
|
|
1758
|
+
a=ice-pwd:UApvJw3NcwFRDvIMKdM0vWCdlXah25E9
|
|
1759
|
+
a=fingerprint:sha-256 1B:B6:6B:40:A5:0B:8C:75:0D:8C:CB:90:2F:99:74:1E:26:45:AE:AF:45:C1:51:60:8F:73:C9:2D:10:6D:8A:88
|
|
1760
|
+
a=setup:actpass
|
|
1761
|
+
a=mid:audio
|
|
1762
|
+
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
|
|
1763
|
+
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
|
|
1764
|
+
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
|
|
1765
|
+
a=sendrecv
|
|
1766
|
+
a=rtcp-mux
|
|
1767
|
+
a=rtpmap:111 opus/48000/2
|
|
1768
|
+
a=rtcp-fb:111 transport-cc
|
|
1769
|
+
a=fmtp:111 minptime=10;useinbandfec=1
|
|
1770
|
+
a=rtpmap:126 telephone-event/8000
|
|
1771
|
+
a=ssrc:4208138518 cname:gAXq2V9TKltrnapv
|
|
1772
|
+
a=ssrc:4208138518 msid:6932bc1c-db1a-4abe-b437-0c4168be8a13 audio#R5wfXFcdmT6
|
|
1773
|
+
a=ssrc:4208138518 mslabel:6932bc1c-db1a-4abe-b437-0c4168be8a13
|
|
1774
|
+
a=ssrc:4208138518 label:audio#R5wfXFcdmT6
|
|
1775
|
+
```
|
|
1776
|
+
|
|
1777
|
+
#### Exemplo de estrutura de resposta SDP
|
|
1778
|
+
|
|
1779
|
+
```
|
|
1780
|
+
v=0
|
|
1781
|
+
o=- 2822644248144643933 2 IN IP4 127.0.0.1
|
|
1782
|
+
s=-
|
|
1783
|
+
t=0 0
|
|
1784
|
+
a=group:BUNDLE audio
|
|
1785
|
+
a=msid-semantic: WMS eb909cf0-87f0-4358-a4c9-7861680d9431
|
|
1786
|
+
m=audio 9 UDP/TLS/RTP/SAVPF 111 126
|
|
1787
|
+
c=IN IP4 0.0.0.0
|
|
1788
|
+
a=rtcp:9 IN IP4 0.0.0.0
|
|
1789
|
+
a=ice-ufrag:X1ho
|
|
1790
|
+
a=ice-pwd:7fJSbV2N5qWiA5QiDKwK3vuh
|
|
1791
|
+
a=fingerprint:sha-256 2E:35:9F:21:9E:63:72:E5:42:74:76:2D:B3:70:F7:CB:24:14:9B:14:52:71:05:48:DA:4D:67:31:09:58:2A:ED
|
|
1792
|
+
a=setup:active
|
|
1793
|
+
a=mid:audio
|
|
1794
|
+
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
|
|
1795
|
+
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
|
|
1796
|
+
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
|
|
1797
|
+
a=sendrecv
|
|
1798
|
+
a=rtcp-mux
|
|
1799
|
+
a=rtpmap:111 opus/48000/2
|
|
1800
|
+
a=rtcp-fb:111 transport-cc
|
|
1801
|
+
a=fmtp:111 minptime=10;useinbandfec=1
|
|
1802
|
+
a=rtpmap:126 telephone-event/8000
|
|
1803
|
+
a=ssrc:330833028 cname:EDc1JutBl8rwHQc2
|
|
1804
|
+
a=ssrc:330833028 msid:eb909cf0-87f0-4358-a4c9-7861680d9431 ea478c16-d9f7-493c-8cec-19bfac750a36
|
|
1805
|
+
```
|
|
1806
|
+
|
|
1807
|
+
## Exemplo de solicitações cURL
|
|
1808
|
+
|
|
1809
|
+
#### Nova ligação
|
|
1810
|
+
|
|
1811
|
+
```
|
|
1812
|
+
curl -i -X POST 'https://graph.facebook.com/v14.0/1234567890/calls' \
|
|
1813
|
+
-H 'Content-Type: application/json' \
|
|
1814
|
+
-H 'Authorization: Bearer EAADUMAze4GIBO1B7B.....<REPLACE_WITH_YOUR_TOKEN>' \
|
|
1815
|
+
-d '{
|
|
1816
|
+
"messaging_product": "whatsapp",
|
|
1817
|
+
"to": "14085550000",
|
|
1818
|
+
"session": {
|
|
1819
|
+
"sdp": "v=0\r\no=- 7669997803033704573 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS 3c28addc-03b7-4170-b5cd-535bfe767e75\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 110 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:6O0H\r\na=ice-pwd:TYCbtfOrBMPpfxFRgSbYnuTI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9F:45:2C:A8:C3:C0:CC:9B:59:4F:D1:02:56:52:FA:36:00:BE:C0:79:87:B3:D9:9C:3E:BF:60:98:25:B4:26:FC\r\na=setup:active\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendrecv\r\na=msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2430753100 cname:MPddPt/R2ioP4vCm\r\na=ssrc:2430753100 msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\n",
|
|
1820
|
+
"sdp_type": "answer"
|
|
1821
|
+
}
|
|
1822
|
+
}'
|
|
1823
|
+
```
|
|
1824
|
+
|
|
1825
|
+
#### Encerrar ligação
|
|
1826
|
+
|
|
1827
|
+
```
|
|
1828
|
+
curl -i -X POST 'https://graph.facebook.com/v14.0/1234567890/calls' \
|
|
1829
|
+
-H 'Content-Type: application/json' \
|
|
1830
|
+
-H 'Authorization: Bearer EAADUMAze4GIBO1B7B.....<REPLACE_WITH_YOUR_TOKEN>' \
|
|
1831
|
+
-d '{
|
|
1832
|
+
"messaging_product": "whatsapp",
|
|
1833
|
+
"action": "terminate",
|
|
1834
|
+
"call_id": "wacid.HBgLMTY1MDMxMzM5NzQVAgARGCBFRjNEODRBM0Q3NDZDM0Q0QzI4MzAwQjZBRkZGODM3NhwYCzEyMjQ1NTU0NDg5FQIAAA"
|
|
1835
|
+
}'
|
|
1836
|
+
```
|
|
1837
|
+
|
|
1838
|
+
#### Aceitar ligação
|
|
1839
|
+
|
|
1840
|
+
```
|
|
1841
|
+
curl -i -X POST 'https://graph.facebook.com/v14.0/1234567890/calls' \
|
|
1842
|
+
-H 'Content-Type: application/json' \
|
|
1843
|
+
-H 'Authorization: Bearer EAADUMAze4GIBO1B7B.....<REPLACE_WITH_YOUR_TOKEN>' \
|
|
1844
|
+
-d '{
|
|
1845
|
+
"messaging_product": "whatsapp",
|
|
1846
|
+
"to": "14085550000",
|
|
1847
|
+
"action": "accept",
|
|
1848
|
+
"call_id": "wacid.HBgLMTY1MDMxMzM5NzQVAgASGCA5ODkyMDk2RkM2NUM1QTYwRkM4NjFDQzk0NkQwNDBCRRwYCzEyMjQ1NTU0NDg5FQIAAA==",
|
|
1849
|
+
"session": {
|
|
1850
|
+
"sdp": "v=0\r\no=- 7669997803033704573 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS 3c28addc-03b7-4170-b5cd-535bfe767e75\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 110 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:6O0H\r\na=ice-pwd:TYCbtfOrBMPpfxFRgSbYnuTI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9F:45:2C:A8:C3:C0:CC:9B:59:4F:D1:02:56:52:FA:36:00:BE:C0:79:87:B3:D9:9C:3E:BF:60:98:25:B4:26:FC\r\na=setup:active\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendrecv\r\na=msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2430753100 cname:MPddPt/R2ioP4vCm\r\na=ssrc:2430753100 msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\n",
|
|
1851
|
+
"sdp_type": "answer"
|
|
1852
|
+
}
|
|
1853
|
+
}'
|
|
1854
|
+
```
|
|
1855
|
+
|
|
1856
|
+
#### Nova ligação (usando o parâmetro de conexão legado)
|
|
1857
|
+
|
|
1858
|
+
```
|
|
1859
|
+
curl -i -X POST 'https://graph.facebook.com/v14.0/123456789/calls' \
|
|
1860
|
+
-H 'Content-Type: application/json' \
|
|
1861
|
+
-H 'Authorization: Bearer EAADUMAze4GIBO1B7B.....<REPLACE_WITH_YOUR_TOKEN>' \
|
|
1862
|
+
-d '{
|
|
1863
|
+
"messaging_product": "whatsapp",
|
|
1864
|
+
"to": "14085550000",
|
|
1865
|
+
"connection": {
|
|
1866
|
+
"webrtc": {
|
|
1867
|
+
"sdp": "{\"sdp\":\"v=0\\r\\no=- 6314352886888624490 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=extmap-allow-mixed\\r\\na=msid-semantic: WMS ccd3f422-8d7d-49c9-936c-a152979ee4fa\\r\\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 110 126\\r\\nc=IN IP4 0.0.0.0\\r\\na=rtcp:9 IN IP4 0.0.0.0\\r\\na=ice-ufrag:/PSS\\r\\na=ice-pwd:buBIz+JlbmakiCT7JdJIq/j0\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 43:08:34:16:67:E3:D9:A2:F5:AA:6A:AE:03:97:C8:D5:B8:F2:4B:40:79:C8:1A:44:53:69:4B:9C:89:88:D7:22\\r\\na=setup:active\\r\\na=mid:0\\r\\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\\r\\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\\r\\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\\r\\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\\r\\na=sendrecv\\r\\na=msid:ccd3f422-8d7d-49c9-936c-a152979ee4fa 4e58b2a9-c864-4752-8f4f-23f9ced35971\\r\\na=rtcp-mux\\r\\na=rtcp-rsize\\r\\na=rtpmap:111 opus/48000/2\\r\\na=rtcp-fb:111 transport-cc\\r\\na=fmtp:111 minptime=10;useinbandfec=1\\r\\na=rtpmap:63 red/48000/2\\r\\na=fmtp:63 111/111\\r\\na=rtpmap:9 G722/8000\\r\\na=rtpmap:0 PCMU/8000\\r\\na=rtpmap:8 PCMA/8000\\r\\na=rtpmap:110 telephone-event/48000\\r\\na=rtpmap:126 telephone-event/8000\\r\\na=ssrc:3354317731 cname:zgqSj/r4rlErlW23\\r\\na=ssrc:3354317731 msid:ccd3f422-8d7d-49c9-936c-a152979ee4fa 4e58b2a9-c864-4752-8f4f-23f9ced35971\\r\\n\",\"type\":\"offer\"}"
|
|
1868
|
+
}
|
|
1869
|
+
}
|
|
1870
|
+
}'
|
|
1871
|
+
```
|
|
1872
|
+
|
|
1873
|
+
## Exemplo de webhook de conexão de ligação
|
|
1874
|
+
|
|
1875
|
+
#### Chamar webhook de conexão
|
|
1876
|
+
|
|
1877
|
+
```
|
|
1878
|
+
{
|
|
1879
|
+
"entry": [
|
|
1880
|
+
{
|
|
1881
|
+
"changes": [
|
|
1882
|
+
{
|
|
1883
|
+
"field": "calls",
|
|
1884
|
+
"value": {
|
|
1885
|
+
"calls": [
|
|
1886
|
+
{
|
|
1887
|
+
"session": {
|
|
1888
|
+
"sdp_type": "answer",
|
|
1889
|
+
"sdp": "v=0\r\no=- 8076734947255960322 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS 68a296ba-41cc-41db-8edb-3ddf4dbbb483\r\na=ice-lite\r\nm=audio 3482 UDP/TLS/RTP/SAVPF 111 9 0 8 110 126\r\nc=IN IP4 31.13.65.130\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:2754936280 1 udp 2113937151 31.13.65.130 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\r\na=candidate:1581496399 1 udp 2113939711 2a03:2880:f211:d1:face:b00c:0:699c 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\r\na=ice-ufrag:kv6Jn8vBmEds/8\r\na=ice-pwd:OhY8sT7v6PJe3bbs0Yx2TC/oPb5oatnK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 46:14:2B:31:B1:9D:AF:15:81:E2:EF:45:B1:2B:96:3D:64:0E:63:F1:CC:9A:BD:88:D6:32:8F:E9:2A:13:3A:38\r\na=setup:active\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:433528572 cname:VBDcSNi/cg1Wg6D3\r\na=ssrc:433528572 msid:68a296ba-41cc-41db-8edb-3ddf4dbbb483 audio#wx3mq6BITjB\r\na=ssrc:433528572 mslabel:68a296ba-41cc-41db-8edb-3ddf4dbbb483\r\na=ssrc:433528572 label:audio#wx3mq6BITjB\r\n"
|
|
1890
|
+
},
|
|
1891
|
+
"from": "15551112222",
|
|
1892
|
+
"connection": {
|
|
1893
|
+
"webrtc": {
|
|
1894
|
+
"sdp": "{\"sdp\":\"v=0\\r\\no=- 8076734947255960322 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=extmap-allow-mixed\\r\\na=msid-semantic: WMS 68a296ba-41cc-41db-8edb-3ddf4dbbb483\\r\\na=ice-lite\\r\\nm=audio 3482 UDP/TLS/RTP/SAVPF 111 9 0 8 110 126\\r\\nc=IN IP4 31.13.65.130\\r\\na=rtcp:9 IN IP4 0.0.0.0\\r\\na=candidate:2754936280 1 udp 2113937151 31.13.65.130 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\\r\\na=candidate:1581496399 1 udp 2113939711 2a03:2880:f211:d1:face:b00c:0:699c 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\\r\\na=ice-ufrag:kv6Jn8vBmEds/8\\r\\na=ice-pwd:OhY8sT7v6PJe3bbs0Yx2TC/oPb5oatnK\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 46:14:2B:31:B1:9D:AF:15:81:E2:EF:45:B1:2B:96:3D:64:0E:63:F1:CC:9A:BD:88:D6:32:8F:E9:2A:13:3A:38\\r\\na=setup:active\\r\\na=mid:0\\r\\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\\r\\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\\r\\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\\r\\na=sendrecv\\r\\na=rtcp-mux\\r\\na=rtpmap:111 opus/48000/2\\r\\na=rtcp-fb:111 transport-cc\\r\\na=fmtp:111 minptime=10;useinbandfec=1\\r\\na=rtpmap:9 G722/8000\\r\\na=rtpmap:0 PCMU/8000\\r\\na=rtpmap:8 PCMA/8000\\r\\na=rtpmap:110 telephone-event/48000\\r\\na=rtpmap:126 telephone-event/8000\\r\\na=ssrc:433528572 cname:VBDcSNi/cg1Wg6D3\\r\\na=ssrc:433528572 msid:68a296ba-41cc-41db-8edb-3ddf4dbbb483 audio#wx3mq6BITjB\\r\\na=ssrc:433528572 mslabel:68a296ba-41cc-41db-8edb-3ddf4dbbb483\\r\\na=ssrc:433528572 label:audio#wx3mq6BITjB\\r\\n\",\"type\":\"answer\"}"
|
|
1895
|
+
}
|
|
1896
|
+
},
|
|
1897
|
+
"id": "wacid.HBgLMTY1MDMxMzM5NzQVAgARGCAwQTJCRDYwNkEzQUNCQUVCMEFGMzYzRTYxNjMxMDdFMxwYCzE0MDg1NTUyODk5FQIAAA==",
|
|
1898
|
+
"to": "16501230000",
|
|
1899
|
+
"event": "connect",
|
|
1900
|
+
"timestamp": "1724467313",
|
|
1901
|
+
"direction": "BUSINESS_INITIATED"
|
|
1902
|
+
}
|
|
1903
|
+
],
|
|
1904
|
+
"metadata": {
|
|
1905
|
+
"phone_number_id": "105615555715855",
|
|
1906
|
+
"display_phone_number": "15551112222"
|
|
1907
|
+
},
|
|
1908
|
+
"messaging_product": "whatsapp"
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
],
|
|
1912
|
+
"id": "112735964992110"
|
|
1913
|
+
}
|
|
1914
|
+
],
|
|
1915
|
+
"object": "whatsapp_business_account"
|
|
1916
|
+
}
|
|
1917
|
+
```
|
|
1918
|
+
|
|
1919
|
+
Você achou esta página útil?
|
|
1920
|
+
|
|
1921
|
+

|
|
1922
|
+
|
|
1923
|
+

|