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,26 @@
|
|
|
1
|
+
<!-- Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/support/experiments -->
|
|
2
|
+
<!-- Scraped: 2025-12-20T17:56:04.743Z -->
|
|
3
|
+
|
|
4
|
+
# Experimentos
|
|
5
|
+
|
|
6
|
+
Updated: 13 de nov de 2025
|
|
7
|
+
|
|
8
|
+
Por vezes realizamos experimentos para avaliar o impacto das mensagens na experiência e no engajamento dos usuários do WhatsApp. Essas são práticas padrão na nossa plataforma e nos ajudam a melhorar a experiência de envio de mensagens para você e seus clientes.
|
|
9
|
+
|
|
10
|
+
Os experimentos em andamento são descritos abaixo e não têm data de término fixa. Para proteger a validade do experimento e garantir a melhor experiência comercial e de consumo possível, não podemos fornecer exceções nem desativações para esses experimentos.
|
|
11
|
+
|
|
12
|
+
## Experiência com mensagem de marketing
|
|
13
|
+
|
|
14
|
+
Uma parcela muito pequena de usuários do WhatsApp não receberá mensagens de modelo de marketing de empresas, a menos que uma destas condições seja atendida:
|
|
15
|
+
|
|
16
|
+
- Há uma [janela de atendimento ao cliente](/documentation/business-messaging/whatsapp/messages/send-messages#customer-service-windows) entre o usuário e a empresa.- Há uma [janela de ponto de entrada gratuito](/documentation/business-messaging/whatsapp/pricing#free-entry-point-windows) aberta entre o usuário e a empresa.
|
|
17
|
+
|
|
18
|
+
Se você enviar uma mensagem de modelo de marketing para um usuário que faz parte do grupo de experimento, a mensagem não será enviada, e você não receberá uma cobrança por ela. Em vez disso, um webhook de [status de mensagens](/documentation/business-messaging/whatsapp/webhooks/reference/messages/status) será disparado com `status` definido como `failed` e erro `code` definido como `130472`.
|
|
19
|
+
|
|
20
|
+
Se você tentar reenviar a mensagem, verá o mesmo erro. Se for necessário entregar a mensagem de modelo de marketing ao usuário, recomendamos entrar em contato com ele por algum outro meio que não seja o WhatsApp e pedir que envie uma mensagem para você, assim será possível reenviar a mensagem dentro de uma janela aberta de atendimento ao cliente.
|
|
21
|
+
|
|
22
|
+
Você achou esta página útil?
|
|
23
|
+
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+

|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
<!-- Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/support/health-status -->
|
|
2
|
+
<!-- Scraped: 2025-12-20T17:55:49.697Z -->
|
|
3
|
+
|
|
4
|
+
# Status de integridade de mensagens e ligações
|
|
5
|
+
|
|
6
|
+
Updated: 22 de out de 2025
|
|
7
|
+
|
|
8
|
+
Este documento descreve como descobrir se você pode fazer ligações e enviar mensagens usando um recurso de API.
|
|
9
|
+
|
|
10
|
+
Os nós a seguir têm um campo `health_status`:
|
|
11
|
+
|
|
12
|
+
- [Conta do WhatsApp Business](/documentation/business-messaging/whatsapp/reference/whatsapp-business-account/whatsapp-business-account-api)- [Número de telefone do WhatsApp Business](/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/whatsapp-business-account-phone-number-api)- [Modelo de mensagem do WhatsApp](/documentation/business-messaging/whatsapp/reference/whatsapp-business-account/template-api)
|
|
13
|
+
|
|
14
|
+
Se você solicitar o campo `health_status` em um desses nós, a API retornará um resumo da integridade de envio de mensagens e ligações de todos os nós envolvidos nas solicitações relacionadas usando o nó em questão. Esse resumo indica se você poderá usar a API para enviar mensagens e fazer ligações com sucesso, enviar parcialmente (devido a uma limitação em um ou mais nós) ou se não conseguirá enviar mensagens nem fazer ligações.
|
|
15
|
+
|
|
16
|
+
## Sintaxe da solicitação
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
GET /<NODE_ID>?fields=health_status
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Resposta
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
{
|
|
26
|
+
"health_status": {
|
|
27
|
+
"can_send_message": "<OVERALL_MESSAGING_STATUS>",
|
|
28
|
+
"entities": [
|
|
29
|
+
|
|
30
|
+
/* Only included if targeting a business phone number */
|
|
31
|
+
{
|
|
32
|
+
"entity_type": "PHONE_NUMBER",
|
|
33
|
+
"id": "<BUSINESS_PHONE_NUMBER_ID>",
|
|
34
|
+
"can_send_message": "<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>",
|
|
35
|
+
"can_receive_call_sip": "<BUSINESS_PHONE_NUMBER_RECEIVE_CALL_SIP_STATUS>",
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
/* Only included if targeting a template */
|
|
39
|
+
{
|
|
40
|
+
"entity_type": "MESSAGE_TEMPLATE",
|
|
41
|
+
"id": "<TEMPLATE_ID>",
|
|
42
|
+
"can_send_message": "<TEMPLATE_MESSAGING_STATUS>"
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
/* WABA, business, and app always included */
|
|
46
|
+
{
|
|
47
|
+
"entity_type": "WABA",
|
|
48
|
+
"id": "<WABA_ID>",
|
|
49
|
+
"can_send_message": "<WABA_MESSAGING_STATUS>"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"entity_type": "BUSINESS",
|
|
53
|
+
"id": "<BUSINESS_PORTFOLIO_ID>",
|
|
54
|
+
"can_send_message": "<BUSINESS_PORTFOLIO_MESSAGING_STATUS>"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"entity_type": "APP",
|
|
58
|
+
"id": "<APP_ID>",
|
|
59
|
+
"can_send_message": "<APP_MESSAGING_STATUS>",
|
|
60
|
+
"can_receive_call_sip": "<APP_RECEIVE_CALL_SIP_STATUS>",
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"id": "<NODE_ID>"
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Conteúdos de resposta
|
|
69
|
+
|
|
70
|
+
Espaço reservado
|
|
71
|
+
|
|
72
|
+
Descrição
|
|
73
|
+
|
|
74
|
+
Valor de exemplo
|
|
75
|
+
|
|
76
|
+
`<APP_ID>`
|
|
77
|
+
|
|
78
|
+
ID do app.
|
|
79
|
+
|
|
80
|
+
`634974688087057`
|
|
81
|
+
|
|
82
|
+
`<APP_MESSAGING_STATUS>`
|
|
83
|
+
|
|
84
|
+
O status de integridade de envio de mensagens do app. Consulte [Status de integridade de envio de mensagens](#health-status-field).
|
|
85
|
+
|
|
86
|
+
`AVAILABLE`
|
|
87
|
+
|
|
88
|
+
`<APP_RECEIVE_CALL_SIP_STATUS>`
|
|
89
|
+
|
|
90
|
+
A capacidade do app de receber uma ligação por meio de [SIP](/documentation/business-messaging/whatsapp/calling/sip). Consulte [Status de integridade](#health-status-field). Outros campos relacionados a ligações serão lançados no futuro.
|
|
91
|
+
|
|
92
|
+
`AVAILABLE`
|
|
93
|
+
|
|
94
|
+
`<BUSINESS_PORTFOLIO_ID>`
|
|
95
|
+
|
|
96
|
+
A identificação do portfólio empresarial.
|
|
97
|
+
|
|
98
|
+
`506914307656634`
|
|
99
|
+
|
|
100
|
+
`<BUSINESS_PORTFOLIO_MESSAGING_STATUS>`
|
|
101
|
+
|
|
102
|
+
O status de integridade de envio de mensagens do portfólio empresarial. Consulte [Status de integridade de envio de mensagens](#health-status-field).
|
|
103
|
+
|
|
104
|
+
`AVAILABLE`
|
|
105
|
+
|
|
106
|
+
`<BUSINESS_PHONE_NUMBER_ID>`
|
|
107
|
+
|
|
108
|
+
A identificação do número de telefone comercial.
|
|
109
|
+
|
|
110
|
+
`106540352242922`
|
|
111
|
+
|
|
112
|
+
`<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>`
|
|
113
|
+
|
|
114
|
+
O status de integridade de envio de mensagens do número de telefone comercial. Consulte [Status de integridade de envio de mensagens](#health-status-field).
|
|
115
|
+
|
|
116
|
+
`AVAILABLE`
|
|
117
|
+
|
|
118
|
+
`<BUSINESS_PHONE_NUMBER_RECEIVE_CALL_SIP_STATUS>`
|
|
119
|
+
|
|
120
|
+
A capacidade do número de telefone comercial de receber uma chamada via [SIP](/documentation/business-messaging/whatsapp/calling/sip). Consulte [Status de integridade](#health-status-field). Outros campos relacionados a ligações serão lançados no futuro.
|
|
121
|
+
|
|
122
|
+
`AVAILABLE`
|
|
123
|
+
|
|
124
|
+
`<NODE_ID>`
|
|
125
|
+
|
|
126
|
+
A identificação do nó em questão.
|
|
127
|
+
|
|
128
|
+
`161311403722088`
|
|
129
|
+
|
|
130
|
+
`<OVERALL_MESSAGING_STATUS>`
|
|
131
|
+
|
|
132
|
+
O status geral de integridade de envio de mensagens, considerando todos os nós envolvidos em uma solicitação de envio de mensagens usando o nó em questão. Consulte [Status de integridade de envio de mensagens](#health-status-field).
|
|
133
|
+
|
|
134
|
+
`AVAILABLE`
|
|
135
|
+
|
|
136
|
+
`<TEMPLATE_ID>`
|
|
137
|
+
|
|
138
|
+
Identificação do modelo.
|
|
139
|
+
|
|
140
|
+
`1421988012088524`
|
|
141
|
+
|
|
142
|
+
`<TEMPLATE_MESSAGING_STATUS>`
|
|
143
|
+
|
|
144
|
+
O status de integridade de envio de mensagens do modelo. Consulte [Status de integridade de envio de mensagens](#health-status-field).
|
|
145
|
+
|
|
146
|
+
`AVAILABLE`
|
|
147
|
+
|
|
148
|
+
`<WABA_ID>`
|
|
149
|
+
|
|
150
|
+
Identificação da WABA.
|
|
151
|
+
|
|
152
|
+
`102290129340398`
|
|
153
|
+
|
|
154
|
+
`<WABA_MESSAGING_STATUS>`
|
|
155
|
+
|
|
156
|
+
O status de integridade de envio de mensagens da WABA. Consulte [Status de integridade de envio de mensagens](#health-status-field).
|
|
157
|
+
|
|
158
|
+
`AVAILABLE`
|
|
159
|
+
|
|
160
|
+
## Campo de status de integridade
|
|
161
|
+
|
|
162
|
+
Diversos nós estão envolvidos em uma tentativa de mensagem ou ligação, incluindo o app, o portfólio empresarial proprietário ou administrador, uma WABA, um número de telefone comercial e um modelo (em caso de envio de mensagem de modelo).
|
|
163
|
+
|
|
164
|
+
Cada nó pode ter um dos seguintes status de integridade atribuídos à propriedade `can_send_message` ou `can_receive_call_sip`:
|
|
165
|
+
|
|
166
|
+
- `AVAILABLE`: indica que o nó atende a todos os requisitos para o envio de mensagens ou realização de ligações.- `LIMITED`: indica que o nó atende aos requisitos para o envio de mensagens ou realização de ligações, mas há limitações. Se um nó tiver esse valor, a [propriedade additional\_info](#additional-info-property) será incluída.- `BLOCKED`: indica que o nó não atende a um ou mais requisitos para o envio de mensagens ou realização de ligações. Se um nó tiver esse valor, a [propriedade errors](#errors-property) será incluída, descrevendo o erro e uma possível solução.
|
|
167
|
+
|
|
168
|
+
### Status geral
|
|
169
|
+
|
|
170
|
+
A propriedade de status geral de integridade (`health_status.can_send_message`) será definida conforme o seguinte.
|
|
171
|
+
|
|
172
|
+
- `BLOCKED`: status caso um ou mais nós estejam bloqueados.- `LIMITED`: status caso nenhum nó esteja bloqueado, mas um ou mais tenham limitações.- `AVAILABLE`: status caso todos os nós estejam disponíveis.
|
|
173
|
+
|
|
174
|
+
Observação: esse status agregado não está disponível para `can_receive_call_sip`
|
|
175
|
+
|
|
176
|
+
## Exemplo de solicitação
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
curl 'https://graph.facebook.com/v24.0/106540352242922?fields=health_status' \
|
|
180
|
+
-H 'Authorization: Bearer EAAJB'
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Exemplo de resposta
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
{ "health_status": { "can_send_message": "AVAILABLE", "entities": [ { "entity_type": "PHONE_NUMBER", "id": "106540352242922", "can_send_message": "AVAILABLE", "can_receive_call_sip":"AVAILABLE" }, { "entity_type": "WABA", "id": "102290129340398", "can_send_message": "AVAILABLE" }, { "entity_type": "BUSINESS", "id": "506914307656634", "can_send_message": "AVAILABLE" }, { "entity_type": "APP", "id": "634974688087057", "can_send_message": "AVAILABLE", "can_receive_call_sip":"AVAILABLE" } ] }, "id": "106540352242922"}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Propriedade additional\_info
|
|
190
|
+
|
|
191
|
+
Se a propriedade `can_send_message` ou `can_receive_call_sip` de um nó for definida como `LIMITED`, a propriedade `additional_info` será incluída, dando mais contexto sobre a limitação.
|
|
192
|
+
|
|
193
|
+
### Exemplo de resposta limitada
|
|
194
|
+
|
|
195
|
+
Este é um exemplo de resposta a uma solicitação em um número de telefone comercial que pode ser usado para enviar mensagens, mas está sujeito a um limite na quantidade de mensagens que pode ser enviada, pois o nome de exibição não foi aprovado.
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
{ "health_status": { "can_send_message": "LIMITED", "entities": [ { "entity_type": "PHONE_NUMBER", "id": "106540352242922", "can_send_message": "LIMITED", "can_receive_call_sip":"AVAILABLE", "additional_info": [ "Your display name has not been approved yet. Your message limit will increase after the display name is approved." ] }, { "entity_type": "WABA", "id": "102290129340398", "can_send_message": "AVAILABLE" }, { "entity_type": "BUSINESS", "id": "506914307656634", "can_send_message": "AVAILABLE" }, { "entity_type": "APP", "id": "634974688087057", "can_send_message": "AVAILABLE", "can_receive_call_sip":"AVAILABLE" } ] }, "id": "105154286024403"}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Propriedade errors
|
|
202
|
+
|
|
203
|
+
Se a propriedade `can_send_message` ou `can_receive_call_sip` de um nó for definida como `BLOCKED`, a propriedade `errors` será incluída, descrevendo o motivo do status e uma possível solução.
|
|
204
|
+
|
|
205
|
+
### Exemplo de resposta em caso de bloqueio
|
|
206
|
+
|
|
207
|
+
Este é um exemplo de resposta a uma solicitação em um modelo que não pode ser enviado em uma mensagem porque ainda está pendente.
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
{ "health_status": { "can_send_message": "BLOCKED", "entities": [ { "entity_type": "MESSAGE_TEMPLATE", "id": "2632273056924580", "can_send_message": "BLOCKED", "can_receive_call_sip":"AVAILABLE", "errors": [ { "error_code": 141002, "error_description": "Message templates can only be sent out if they are approved.", "possible_solution": "Edit or appeal the message template review decision." } ] }, { "entity_type": "WABA", "id": "102290129340398", "can_send_message": "AVAILABLE" }, { "entity_type": "BUSINESS", "id": "506914307656634", "can_send_message": "AVAILABLE" }, { "entity_type": "APP", "id": "634974688087057", "can_send_message": "AVAILABLE", "can_receive_call_sip":"AVAILABLE" } ] }, "id": "2632273056924580"}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Exemplo de resposta bloqueada ao receber chamadas por meio do SIP
|
|
214
|
+
|
|
215
|
+
Este é um exemplo de resposta a uma solicitação em um número de telefone que não configurou o [SIP](/documentation/business-messaging/whatsapp/calling/sip).
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
{ "health_status": { "can_send_message": "BLOCKED", "entities": [ { "entity_type": "PHONE_NUMBER", "id": "597727103418254", "can_send_message": "AVAILABLE", "can_receive_call_sip": "BLOCKED", "errors": [ { "error_code": 138024, "error_description": "WhatsApp Business calling cannot use SIP because it is not enabled", "possible_solution": "Configure SIP using {PHONE_NUMBER_ID}/settings API" } ] }, { "entity_type": "WABA", "id": "102290129340398", "can_send_message": "AVAILABLE" }, { "entity_type": "BUSINESS", "id": "506914307656634", "can_send_message": "AVAILABLE" }, { "entity_type": "APP", "id": "634974688087057", "can_send_message": "AVAILABLE", "can_receive_call_sip": "BLOCKED", "errors": [ { "error_code": 138025, "error_description": "This app cannot use SIP for WhatsApp Business calling because it has not configured a SIP server for this business phone number", "possible_solution": "Configure SIP server using {PHONE_NUMBER_ID}/settings API" } ] } ] }, "id": "105154286024403"}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Você achou esta página útil?
|
|
222
|
+
|
|
223
|
+

|
|
224
|
+
|
|
225
|
+

|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
<!-- Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/support/load-testing -->
|
|
2
|
+
<!-- Scraped: 2025-12-20T17:55:57.682Z -->
|
|
3
|
+
|
|
4
|
+
# Teste de carregamento na API de Nuvem
|
|
5
|
+
|
|
6
|
+
Updated: 31 de out de 2025
|
|
7
|
+
|
|
8
|
+
## Introdução ao Teste de carregamento na API de Nuvem
|
|
9
|
+
|
|
10
|
+
### O que é um Teste de carregamento da API?
|
|
11
|
+
|
|
12
|
+
O Teste de carregamento da API é um processo crucial para avaliar o desempenho dos servidores do app em relação ao tráfego de produção esperado. Essa abordagem permite aplicar sistematicamente a carga prevista aos seus servidores e observar o comportamento do app. Ao realizar esse teste, você pode identificar fraquezas ou gargalos antes que os usuários os enfrentem, garantindo que o app seja robusto o suficiente para lidar com a carga de trabalho desejada.
|
|
13
|
+
|
|
14
|
+
Na Meta, reconhecemos a importância do Teste de carregamento da API e fornecemos um recurso abrangente na nossa API de Nuvem do WhatsApp que permite simular o tráfego no ponto de extremidade da API de mensagens e avaliar o desempenho em diferentes condições. Esse recurso permite que você examine o desempenho geral da integração da API e avalie a capacidade de processar solicitações simultâneas de um grande número de usuários virtuais.
|
|
15
|
+
|
|
16
|
+
Entendemos o cenário dinâmico e exigente da comunicação digital e temos o compromisso de preparar as empresas para prosperar nele. Ao oferecer esse recurso, possibilitamos que nossos clientes se mantenham na vanguarda, fornecendo serviços de mensagens excepcionais que podem resistir aos desafios impostos pela demanda cada vez maior dos usuários e pelas flutuações do mercado.
|
|
17
|
+
|
|
18
|
+
### Quais tipos de Testes de carregamento estão disponíveis?
|
|
19
|
+
|
|
20
|
+
Atualmente, a API de Nuvem oferece o "Teste de carregamento de saída". Esse recurso é uma ferramenta avançada que ajuda as empresas a avaliar e aprimorar a resiliência da integração da API de Nuvem do WhatsApp. Ao realizar Testes de carregamento de saída, os clientes podem obter mensurações esclarecedoras sobre o desempenho do sistema e identificar áreas de melhoria.
|
|
21
|
+
|
|
22
|
+
A capacidade de avaliar e otimizar sistemas de forma proativa é fundamental para empresas que querem fornecer experiências de mensagens perfeitas aos clientes, mesmo durante períodos de uso intenso. Ao aproveitar o recurso de Teste de carregamento de saída, os clientes podem ganhar confiança na robustez e na escalabilidade da integração da API de Nuvem do WhatsApp, garantindo que ela possa lidar com grandes volumes de mensagens sem sacrificar o desempenho ou a experiência do usuário.
|
|
23
|
+
|
|
24
|
+
### Por que fazer um Teste de carregamento de saída usando a API de Nuvem?
|
|
25
|
+
|
|
26
|
+
O Teste de carregamento de saída com nossa API de Nuvem oferece benefícios significativos em dois cenários distintos:
|
|
27
|
+
|
|
28
|
+
- **Monitoramento de parceiros de soluções**: os parceiros de soluções podem usar o teste de carregamento para monitorar a série temporal das solicitações de API feitas e as respostas correspondentes recebidas. Isso permite que os parceiros de soluções obtenham insights valiosos sobre o desempenho dos próprios sistemas ao longo do tempo. Ao monitorar essas métricas, os parceiros de soluções podem identificar padrões, analisar os tempos de resposta e garantir uma entrega de serviço otimizada aos clientes.
|
|
29
|
+
- **Monitoramento de webhooks de status da mensagem**: para as empresas, o teste de carregamento fornece uma forma de monitorar o número de webhooks de status da mensagem recebidos no ponto de extremidade designado durante o período de teste. Ao analisar os dados de webhook, as empresas podem avaliar a capacidade de resposta e a confiabilidade dos próprios sistemas em tempo real. Isso permite que eles detectem problemas de forma proativa, otimizem os processos de tratamento de webhooks e garantam atualizações perfeitas do status das mensagens para os usuários.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Em ambos os cenários, o teste de carregamento é uma ferramenta eficiente para avaliar e melhorar o desempenho do webhook. Seja para rastrear a dinâmica de resposta e solicitação da API ou monitorar webhooks de status de mensagens, o teste de carregamento permite que empresas e parceiros de soluções melhorem os próprios serviços, otimizem fluxos de trabalho e forneçam experiências de usuário excelentes.
|
|
33
|
+
|
|
34
|
+
## Preparar-se para o Teste de carregamento
|
|
35
|
+
|
|
36
|
+
Para garantir uma experiência de teste de carregamento tranquila e eficaz, é essencial realizar uma preparação adequada. No caso de um teste de carregamento de saída com a Meta, fornecemos componentes essenciais para facilitar o processo. Especificamente, forneceremos um número de teste designado que servirá como remetente das mensagens de teste de carregamento. Além disso, diversos números fictícios serão fornecidos para atuar como números de usuários finais para o teste.
|
|
37
|
+
|
|
38
|
+
O número de teste fornecido foi desenvolvido de propósito para processar todas as solicitações de maneira semelhante à de um número real, mas não entregará as mensagens a destinatários reais. Esse design bem elaborado evita o envio acidental de spams com números reais durante o teste de carregamento, o que poderia comprometer a integridade do processo.
|
|
39
|
+
|
|
40
|
+
Para iniciar o teste de carregamento, os clientes devem criar solicitações de teste de carregamento por meio do nosso canal de Suporte Direto. Isso garante uma comunicação otimizada e permite que nossa equipe forneça assistência rápida e orientação durante toda a fase de testes.
|
|
41
|
+
|
|
42
|
+
Para configurar o teste de carregamento com sucesso, pedimos aos nossos clientes as seguintes informações:
|
|
43
|
+
|
|
44
|
+
- **Exemplo de modelo de mensagem existente**: exigimos um exemplo do modelo de mensagem que você pretende usar para o teste de carregamento. Isso inclui o nome associado e a conta do WhatsApp Business (WABA) vinculada. Com essas informações, poderemos replicar de forma precisa sua configuração de mensagens durante o teste de carregamento, garantindo condições realistas.
|
|
45
|
+
- **URL do Webhook**: forneça a URL do ponto de extremidade do webhook que receberá notificações e dados do teste de carregamento. Isso nos permite capturar e analisar as respostas e o comportamento do seu sistema durante o teste, possibilitando uma avaliação e otimização completas.
|
|
46
|
+
- **Token de verificação de URL de webhook**: forneça o token de verificação de webhook para substituir sua URL de webhook e receber notificações.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
Depois da confirmação da sessão de teste de carregamento, nossa equipe dedicada de suporte fornecerá os recursos necessários no dia do teste, incluindo:
|
|
50
|
+
|
|
51
|
+
- **Número de teste**: forneceremos um número de teste dedicado que servirá como remetente para as mensagens do teste de carregamento. Esse número foi desenvolvido especificamente para processar todas as solicitações como um número normal faria, sem entregar as mensagens aos destinatários reais. Isso garante que o teste de carregamento seja realizado de forma precisa, ao mesmo tempo em que protege a privacidade dos números reais.
|
|
52
|
+
- **Token de acesso**: você receberá um token de acesso que concede a autorização necessária para iniciar e monitorar o teste de carregamento.
|
|
53
|
+
- **Modelo de mensagem**: forneceremos o modelo de mensagem específico e os detalhes correspondentes para serem usados durante o teste. Isso inclui o conteúdo, a estrutura e as variáveis ou os espaços reservados que precisam ser incluídos nas mensagens.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
Nossa equipe de suporte estará disponível durante todo o teste de carregamento para fornecer orientação, responder a dúvidas e garantir uma experiência de teste tranquila.
|
|
57
|
+
|
|
58
|
+
**Observação**: é fundamental garantir que nenhuma mensagem seja enviada ao número de teste ao registrar ou obter o ID do número de saída. O envio de uma mensagem para o número de teste durante o teste de carregamento pode acionar um mecanismo de interruptor, resultando na desconexão do número do teste de carregamento. Para manter uma sessão de teste de carregamento estável e ininterrupta, evite enviar mensagens para o número de teste designado durante a configuração e execução do teste de carregamento.
|
|
59
|
+
|
|
60
|
+
## Ferramentas de teste de carregamento e diretrizes de configuração
|
|
61
|
+
|
|
62
|
+
Algumas ferramentas funcionam melhor em conjunto, dependendo da plataforma de desenvolvimento usada para o teste de carregamento. Veja algumas plataformas comuns e as ferramentas de teste de carregamento:
|
|
63
|
+
|
|
64
|
+
Plataforma de desenvolvimento
|
|
65
|
+
|
|
66
|
+
Ferramenta
|
|
67
|
+
|
|
68
|
+
Java
|
|
69
|
+
|
|
70
|
+
[JMeter](#jmeter)
|
|
71
|
+
|
|
72
|
+
Python
|
|
73
|
+
|
|
74
|
+
[Locust](#locust)
|
|
75
|
+
|
|
76
|
+
Para realizar testes de carregamento eficazes, você precisará das seguintes ferramentas: InfluxDB, Grafana e JMeter/Locust. Veja abaixo as etapas para configurar cada componente:
|
|
77
|
+
|
|
78
|
+
#### InfluxDB:
|
|
79
|
+
|
|
80
|
+
O InfluxDB é um banco de dados de séries temporais que funciona perfeitamente com JMeter e Grafana. Para instalar o InfluxDB, acesse [Baixar o InfluxDB](https://l.facebook.com/l.php?u=https%3A%2F%2Fportal.influxdata.com%2Fdownloads%2F&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4).
|
|
81
|
+
|
|
82
|
+
Devido a problemas conhecidos com a versão 2.x do InfluxDB, você precisa baixar a versão 1.x. Para encontrar a versão 1.x, acesse o link de download acima, role a tela até o final da página e selecione **Você tem interesse no InfluxDB 1.x Open Source?**.
|
|
83
|
+
|
|
84
|
+
#### Grafana:
|
|
85
|
+
|
|
86
|
+
O Grafana é uma solução de análise e monitoramento de código aberto que é compatível com vários bancos de dados. As abordagens mais usadas envolvem a criação de painéis do Grafana usando o InfluxDB e o Prometheus. Nesta seção, vamos focar na integração com JMeter e InfluxDB. Para instalar o Grafana, acesse a página de [download do Grafana](https://l.facebook.com/l.php?u=https%3A%2F%2Fgrafana.com%2Fgrafana%2Fdownload%3Fpg%3Dget%26plcmt%3Dselfmanaged-box1-cta1%26platform%3Dmac&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4).
|
|
87
|
+
|
|
88
|
+
#### JMeter:
|
|
89
|
+
|
|
90
|
+
O JMeter é uma ferramenta avançada de código aberto para testes de carregamento. Para instalar o JMeter, siga o guia de instalação disponível no [site do JMeter](https://l.facebook.com/l.php?u=https%3A%2F%2Fjmeter.apache.org%2Fdownload_jmeter.cgi&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4).
|
|
91
|
+
|
|
92
|
+
#### Locust:
|
|
93
|
+
|
|
94
|
+
O Locust é uma maneira flexível e eficiente de simular o comportamento do usuário e gerar carga no seu sistema. Baixe o arquivo zip [load test](https://developers.facebook.com/micro_site/url/?click_from_context_menu=true&country=IE&destination=https%3A%2F%2Fdevelopers.facebook.com%2Fresources%2FLoadTest-py.zip&event_type=click&last_nav_impression_id=1KLU92oUeSpUvNoBF&max_percent_page_viewed=55&max_viewport_height_px=1009&max_viewport_width_px=1792&orig_http_referrer=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fwhatsapp%2Fcloud-api%2Fguides%2Fload-testing&orig_request_uri=https%3A%2F%2Fdevelopers.facebook.com%2Fajax%2Fdocs%2Fnav%2F%3Fpath1%3Dwhatsapp%26path2%3Dcloud-api%26path3%3Dguides%26path4%3Dload-testing®ion=emea&scrolled=true&session_id=1A5EfT0NY2fOb0sOj&site=developers) fornecido pela Meta e faça a extração.
|
|
95
|
+
|
|
96
|
+
## Teste de carregamento usando o JMeter com o InfluxDB e o Grafana
|
|
97
|
+
|
|
98
|
+
Depois de instalar os componentes necessários, siga as etapas abaixo para configurar seu ambiente usando o JMeter:
|
|
99
|
+
|
|
100
|
+
Para iniciar o **JMeter**, siga estas etapas:
|
|
101
|
+
|
|
102
|
+
- Baixe o JMeter usando o link de download fornecido.- Abra o terminal e navegue até a pasta do JMeter.- Navegue até a pasta "bin" no diretório do JMeter.- Execute o comando a seguir para iniciar o app JMeter: `./jmeter`
|
|
103
|
+
|
|
104
|
+
Executando esse comando, o JMeter será iniciado e você terá acesso à interface do app, onde poderá criar e configurar os testes de desempenho.
|
|
105
|
+
|
|
106
|
+
A próxima etapa é **importar o plano de teste**. Para importar um exemplo de plano de teste no JMeter, siga estas etapas:
|
|
107
|
+
|
|
108
|
+
- Baixe o [arquivo do plano de teste compactado](https://l.facebook.com/l.php?u=https%3A%2F%2Fscontent-gru2-1.xx.fbcdn.net%2Fv%2Ft39.8562-6%2F383083590_849533576487865_448384137962027554_n.zip%3F_nc_cat%3D111%26ccb%3D1-7%26_nc_sid%3Db8d81d%26_nc_ohc%3DSdzOOIL5WCwQ7kNvwFH2bII%26_nc_oc%3DAdmKeXqhkQwP-xqSupt6H-RfKyxrDCNIQV1ikaIPe-SPXedapZRm1FQB9Vg_-rdGxzw%26_nc_zt%3D14%26_nc_ht%3Dscontent-gru2-1.xx%26_nc_gid%3D5KR7u3CFJU-rCh6fy-qluA%26oh%3D00_AflOlxXRJ_8l3JS5Q68EC22CaGjDGaH82dK2UTUel99fyA%26oe%3D694CCEA6&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4) fornecido e extraia o conteúdo na pasta do JMeter. Esse arquivo contém as configurações necessárias; você só precisa modificar as variáveis.
|
|
109
|
+
- Abra o JMeter e navegue até o arquivo de teste `LoadTest.en_US.jmx`. Para isso, selecione **File** > **Open** e localize o arquivo na interface do JMeter.
|
|
110
|
+
- Depois que o arquivo de teste for aberto, o JMeter exibirá a estrutura do plano de teste. Esse plano de teste importado serve de ponto de partida. É possível modificá-lo conforme seus requisitos específicos.
|
|
111
|
+
- Localize o elemento "Solicitação HTTP" no plano de teste. Nessa etapa, forneça as informações necessárias nos dados do corpo da solicitação POST, incluindo o objeto do modelo.
|
|
112
|
+
|
|
113
|
+

|
|
114
|
+
- Encontre o elemento "Parâmetros de Usuário" e adicione valores para as seguintes variáveis:
|
|
115
|
+
|
|
116
|
+
- **phoneNumberID**: a identificação do número de telefone de teste fornecida pela Meta
|
|
117
|
+
- **systemUserAccessToken**: esse será o token de acesso também fornecido pela Meta
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+

|
|
121
|
+
- Para configurar o InfluxDB e coletar resultados, acesse o elemento "Backend Listener". Faça as configurações necessárias para corresponder às configurações mostradas na captura de tela ou na documentação fornecida. 
|
|
122
|
+
|
|
123
|
+
Ao seguir essas etapas, você importará o plano de teste de amostra no JMeter e fará as modificações necessárias para adaptá-lo às suas necessidades específicas. Este plano de teste é um ponto de partida para carregar testes no seu sistema e coletar métricas de desempenho usando JMeter e InfluxDB.
|
|
124
|
+
|
|
125
|
+
Em seguida, inicie o servidor do InfluxDB e crie um novo banco de dados para armazenar as leituras do JMeter:
|
|
126
|
+
|
|
127
|
+
- Inicie o servidor do InfluxDB:
|
|
128
|
+
|
|
129
|
+
- Abra um terminal e navegue até o diretório de instalação do InfluxDB. Na maioria dos casos, ele pode ser encontrado em **InfluxDB\_folder/usr/bin**.
|
|
130
|
+
- Execute o seguinte comando para iniciar o servidor do InfluxDB na porta 8086:
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
./influxd
|
|
135
|
+
```
|
|
136
|
+
- Crie um banco de dados:
|
|
137
|
+
|
|
138
|
+
- Abra uma nova aba ou janela de terminal.
|
|
139
|
+
- Defina o diretório para instalação do InfluxDB, normalmente localizado em **InfluxDB\_folder/usr/bin**.
|
|
140
|
+
- Execute o seguinte comando para iniciar o console do InfluxDB:
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
./influx
|
|
145
|
+
```
|
|
146
|
+
- Crie o banco de dados necessário:
|
|
147
|
+
|
|
148
|
+
- No console do InfluxDB, crie o banco de dados necessário para a configuração do JMeter. Neste exemplo, vamos nomear o banco de dados como "demo".
|
|
149
|
+
- Execute este comando para criar o banco de dados:
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
create database demo
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
Depois da conclusão dessas etapas, o servidor InfluxDB será iniciado, e você terá um banco de dados de "demonstração" pronto para armazenar as leituras do JMeter.
|
|
158
|
+
|
|
159
|
+
Para configurar o Grafana para o JMeter, siga estas etapas:
|
|
160
|
+
|
|
161
|
+
- Servidor do Grafana:
|
|
162
|
+
|
|
163
|
+
- Abra uma nova aba no terminal e navegue até o diretório de instalação do Grafana. Normalmente, ele fica em **grafana\_folder/bin**.
|
|
164
|
+
- Execute o seguinte comando para iniciar o servidor do Grafana:
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
./grafana-server
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
- Isso iniciará o servidor do Grafana na porta padrão 3000. Verifique se outros servidores que usam a porta 3000 (como Docker ou NodeJS) estão desativados para evitar conflitos.
|
|
172
|
+
- Cliente do Grafana:
|
|
173
|
+
|
|
174
|
+
- Abra um navegador da web e acesse [http://localhost:3000](https://l.facebook.com/l.php?u=http%3A%2F%2Flocalhost%3A3000%2F&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4). Você deverá entrar no Grafana.
|
|
175
|
+
- Use estas credenciais de acesso:
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
Username: admin
|
|
180
|
+
Password: admin
|
|
181
|
+
```
|
|
182
|
+
- Depois de fazer login, passe o ponteiro do mouse sobre o ícone de engrenagem (configuração) localizado no canto inferior esquerdo e selecione **Fontes de dados** para acessar a lista de fontes de dados. Selecione **InfluxDB** nas opções disponíveis para abrir a interface do InfluxDB.
|
|
183
|
+
- Defina as configurações do InfluxDB:
|
|
184
|
+
|
|
185
|
+
- Defina a linguagem de consulta como **InfluxQL**.
|
|
186
|
+
- Insira o URL do InfluxDB como [http://localhost:8086](https://l.facebook.com/l.php?u=http%3A%2F%2Flocalhost%3A8086%2F&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4) (o URL usado para acessar o InfluxDB).
|
|
187
|
+
- Escolha o banco de dados **demo** criado anteriormente como o banco de dados de destino para as leituras do JMeter.
|
|
188
|
+
- Clique em **Salvar e testar** para salvar a configuração do InfluxDB e verificar a conexão.
|
|
189
|
+
- Para configurar o painel do Grafana, passe o ponteiro do mouse sobre o ícone quadrado no lado esquerdo do app Grafana e selecione **\+ Importar**.
|
|
190
|
+
- Carregue o painel do Grafana com a identificação **5496** clicando em **Carregar**. 
|
|
191
|
+
|
|
192
|
+
Com a conclusão dessas etapas, a configuração do Grafana é finalizada, e você pode executar seu teste do JMeter. Verifique se o JMeter e o InfluxDB estão em execução. Depois, execute o teste do JMeter para preencher o painel do Grafana que você acabou de configurar.
|
|
193
|
+
|
|
194
|
+
### Como executar o teste no JMeter
|
|
195
|
+
|
|
196
|
+
Depois de concluir as etapas de configuração descritas na seção anterior, siga estas instruções para executar o teste usando o JMeter:
|
|
197
|
+
|
|
198
|
+
- Navegue até o elemento **Thread Group** no plano de teste do JMeter. Nessa etapa, você configura as definições do teste.- Especifique o número desejado de threads ou usuários que simularão o acesso simultâneo ao seu app. Cada tópico representa um usuário virtual. O número de conversas afeta diretamente a carga no seu sistema.- Defina o período de aprimoramento para determinar como o JMeter aumentará gradualmente o número de usuários de zero para o total desejado. O período de aprimoramento é medido em segundos e determina o tempo necessário para o JMeter iniciar todos os usuários especificados e atingir o número máximo de usuários. Por exemplo, se você tiver 1.000 usuários e um período de aprimoramento de 100 segundos, o JMeter iniciará um novo usuário a cada 0,1 segundos (1.000 usuários / 100 segundos) até que todos os 1.000 usuários estejam ativos.- Depois de configurar o teste com o número apropriado de conversas e o período de aprimoramento, você poderá iniciar o teste. Clique no botão de iniciar, representado por um botão de reprodução verde, para iniciar o teste de carregamento.
|
|
199
|
+
|
|
200
|
+

|
|
201
|
+
|
|
202
|
+
## Teste de carregamento com o Locust, o InfluxDB e o Grafana
|
|
203
|
+
|
|
204
|
+
Depois de instalar os componentes necessários, siga as etapas abaixo para configurar seu ambiente usando o Locust:
|
|
205
|
+
|
|
206
|
+
Para iniciar o Locust, siga estas etapas:
|
|
207
|
+
|
|
208
|
+
- Baixe o arquivo zip [load test](https://developers.facebook.com/resources/LoadTest-py.zip) fornecido pela Meta e extraia o conteúdo.
|
|
209
|
+
- Abra o arquivo `config.json` incluído nos arquivos extraídos. Nesse arquivo, você precisa especificar os valores de modelo, auth\_token e phone\_number\_id a serem usados para o teste de carregamento.
|
|
210
|
+
|
|
211
|
+
- Modifique a estrutura JSON da seguinte maneira:
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
{
|
|
215
|
+
"template": {
|
|
216
|
+
"name": "welcome_user",
|
|
217
|
+
"language": {
|
|
218
|
+
"policy": "deterministic",
|
|
219
|
+
"code": "en"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"auth_token": "<YOUR_TOKEN>",
|
|
223
|
+
"phone_number_id": "<YOUR_PHONE_NUMBER_ID>"
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
- Substitua `<YOUR_TOKEN>` pelo token de identificação adequado e `<YOUR_PHONE_NUMBER_ID>` pela identificação do número de telefone correspondente.
|
|
227
|
+
- Verifique se o Locust está instalado no seu sistema. Caso não esteja, execute o seguinte comando para instalar:
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
pip3 install locust
|
|
231
|
+
```
|
|
232
|
+
- Verificação:
|
|
233
|
+
|
|
234
|
+
- Verifique se o Locust foi instalado com sucesso executando o seguinte comando:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
locust -V
|
|
238
|
+
```
|
|
239
|
+
- A versão instalada do Locust será exibida.
|
|
240
|
+
- Instale o listener/conector do InfluxDB para habilitar o carregamento dos resultados do teste do Locust diretamente no InfluxDB:
|
|
241
|
+
|
|
242
|
+
- Use o seguinte comando para instalar o listener:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
pip3 install locust-influxdb-listener
|
|
246
|
+
```
|
|
247
|
+
- A instalação do listener permite integrar facilmente o Locust com o InfluxDB para armazenar e analisar os resultados do teste de carregamento.
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
Depois, inicialize o servidor InfluxDB e crie um banco de dados para armazenar as leituras do Locust:
|
|
251
|
+
|
|
252
|
+
- Inicie o servidor do InfluxDB:
|
|
253
|
+
|
|
254
|
+
- Abra um terminal e navegue até o diretório de instalação do InfluxDB. Na maioria dos casos, ele pode ser encontrado em **InfluxDB\_folder/usr/bin**.
|
|
255
|
+
- Execute o seguinte comando para iniciar o servidor do InfluxDB na porta 8086:
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
./influxd
|
|
259
|
+
```
|
|
260
|
+
- Crie um banco de dados:
|
|
261
|
+
|
|
262
|
+
- Abra uma nova aba ou janela de terminal.
|
|
263
|
+
- Defina o diretório para instalação do InfluxDB, normalmente localizado em **InfluxDB\_folder/usr/bin**.
|
|
264
|
+
- Execute o seguinte comando para iniciar o console do InfluxDB:
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
./influx
|
|
268
|
+
```
|
|
269
|
+
- Crie o banco de dados necessário:
|
|
270
|
+
|
|
271
|
+
- No console do InfluxDB, crie o banco de dados necessário para a configuração do JMeter. Neste exemplo, vamos nomear o banco de dados como `pyt`.
|
|
272
|
+
- Execute este comando para criar o banco de dados:
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
create database pyt
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
Para configurar o Grafana para Locust, siga estas etapas:
|
|
280
|
+
|
|
281
|
+
- Servidor do Grafana:
|
|
282
|
+
|
|
283
|
+
- Abra uma nova aba do terminal e navegue até o diretório onde o Grafana está instalado (**grafana\_folder/bin**). Execute o seguinte comando para iniciar o servidor do Grafana:
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
./grafana-server
|
|
287
|
+
```
|
|
288
|
+
- Isso iniciará o servidor do Grafana na porta padrão 3000. Verifique se todos os outros serviços que usam a porta 3000 estão interrompidos ou desativados.
|
|
289
|
+
- Abra um navegador da web e acesse http://localhost:3000. Use as seguintes credenciais de login para acessar o Grafana:
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
Username: admin
|
|
293
|
+
Password: admin
|
|
294
|
+
```
|
|
295
|
+
- Na interface web do Grafana, passe o ponteiro do mouse sobre o ícone de engrenagem (configuração) localizado no canto inferior esquerdo. Em seguida, selecione **Fontes de Dados** para ver uma lista de fontes de dados.
|
|
296
|
+
- Selecione **InfluxDB** para abrir a interface do InfluxDB. Na interface do InfluxDB, defina as seguintes configurações:
|
|
297
|
+
|
|
298
|
+
- Idioma de consulta: selecione **InfluxQL**
|
|
299
|
+
- URL: defina o URL como [http://localhost:8086](https://l.facebook.com/l.php?u=http%3A%2F%2Flocalhost%3A8086%2F&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4).
|
|
300
|
+
- Banco de dados: defina o banco de dados como `pyt`
|
|
301
|
+
- Clique em "Salvar e testar" para salvar a configuração e verificar a conexão com o InfluxDB.
|
|
302
|
+
- Para configurar o painel do Grafana:
|
|
303
|
+
|
|
304
|
+
- Passe o ponteiro do mouse sobre o ícone de quatro quadrados no lado esquerdo da interface do Grafana e selecione **+Importar**.
|
|
305
|
+
- Clique em **Upload JSON file** e carregue o `locust-grafana-dashboard.json`[arquivo](#using-locust) fornecido pela Meta no zip.
|
|
306
|
+
- Clique em **Carregar** para importar e carregar o painel do Locust com as configurações e visualizações predefinidas.
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+

|
|
310
|
+
|
|
311
|
+
Ao seguir essas etapas, você configurará com sucesso o Locust para testes de carregamento e garantirá que as dependências e configurações necessárias estejam funcionando.
|
|
312
|
+
|
|
313
|
+
### Executar o teste no Locust
|
|
314
|
+
|
|
315
|
+
Depois de concluir as etapas de configuração descritas na seção anterior, siga estas instruções para executar o teste usando o Locust:
|
|
316
|
+
|
|
317
|
+
- Navegue até a pasta em que você instalou o arquivo zip do teste de carregamento.
|
|
318
|
+
- Abra o terminal ou o prompt de comando e execute o seguinte comando para iniciar o servidor Locust na porta 8089:
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
locust -f locustFile.py
|
|
322
|
+
```
|
|
323
|
+
- Depois de executar o comando, abra o navegador da web e acesse [http://localhost:8089/](https://l.facebook.com/l.php?u=http%3A%2F%2Flocalhost%3A8089%2F&h=AT0CrwGGedYjdiGRmTRt2zG5Xrw1--MCPkR6em9NVDt3fypuuEMcvZkUcMWzFjFl5R4NyR3KUCKkvQak7ZGWkJ_mSbFaUBuJlKts7QQ5nAP42DSxRBQb-ibtk2Dkyee6GLf4GAJ9FpB0pFvLD6JOb0x1K_4). Isso abrirá a interface da web do Locust.
|
|
324
|
+
- Na interface da web do Locust, clique em **Novo teste** para configurar seu teste.
|
|
325
|
+
- Especifique o número desejado de usuários para o teste de carregamento. Esses usuários representam os usuários virtuais simulados ou clientes que geram tráfego para seu app durante o teste. O número de usuários determina a quantidade de tráfego simultâneo gerado.
|
|
326
|
+
- Defina a taxa de criação, que determina a velocidade em que novos usuários virtuais são criados durante o teste de carregamento. Ele controla a velocidade de aumento do número de usuários simultâneos. Por exemplo, se você definir uma taxa de geração de dez usuários por segundo, o Locust começará com poucos usuários e aumentará gradualmente o número de usuários ativos em dez a cada segundo até atingir o número desejado de usuários.
|
|
327
|
+
- Leve em consideração a proporção ideal de usuários para taxa de transferência de dados do seu teste. Como diretriz geral, é possível adicionar aproximadamente 100 usuários para cada taxa de transferência de dados de 300 mensagens por segundo (MPS). Lembre-se de que cada usuário leva aproximadamente 350 ms para ser calculado.
|
|
328
|
+
- Verifique se o campo host está definido com o valor apropriado, como [https://graph.facebook.com](https://graph.facebook.com), dependendo do sistema que você está testando.
|
|
329
|
+
- Clique em **Iniciar swarming** para iniciar o teste de carregamento.
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+

|
|
333
|
+
|
|
334
|
+
No console do terminal do Locust, você verá a saída detalhada indicando que o teste de carregamento está em execução. Monitore o console para identificar falhas relatadas. A ausência de falhas indica que o teste inicial foi bem-sucedido. Você pode continuar a configurar o painel do Grafana.
|
|
335
|
+
|
|
336
|
+
Você achou esta página útil?
|
|
337
|
+
|
|
338
|
+

|
|
339
|
+
|
|
340
|
+

|