Versão atual: 0.1.5
A WADebug é uma ferramenta de linha de comando que ajuda a encontrar possíveis problemas na configuração da WhatsApp Business API e a aumentar a eficiência dos pedidos de ajuda ao suporte do WhatsApp.
Confira abaixo a compatibilidade da WADebug com diferentes tipos de configurações. Executar verificações se refere a comandos que iniciam diversas ações para verificar a configuração do cliente da WhatsApp Business API. Recuperar registros se refere ao comando para obter todos os registros de contêiner.
Tipo de configuração | Executar verificações | Recuperar registros |
---|---|---|
Instância única no local | Compatível (instruções) | Compatível (instruções) |
Multiconexão/alta disponibilidade no local | Não compatível | Compatível (instruções) |
AWS | Não compatível | Compatível (instruções) |
Kubernetes | Não compatível | Não compatível |
Este documento abrange o seguinte:
A WADebug é uma ferramenta de linha de comando escrita em Python. Instale a ferramenta usando "pip":
pip3 install wadebug
Para atualizar:
pip3 install wadebug --upgrade
Para desinstalar:
pip3 uninstall wadebug
Para confirmar se a WADebug está instalada, execute:
wadebug --help
A WADebug tem um conjunto de ações para verificar a configuração da WhatsApp Business API. Por padrão, ela executa todas as ações disponíveis. Se for retornado um status problem
ou warning
, a descrição, os detalhes e os possíveis métodos de mitigação serão exibidos para ajudar você com a solução de problemas de configuração. Você também verá um lembrete sobre como carregar registros no Facebook caso precise de ajuda.
Para usar a ferramenta, execute o seguinte comando na máquina que hospeda os contêineres do docker da WhatsApp Business API:
wadebug
Se uma ação resultar em wadebug_error
, isso indica que houve um problema com a ferramenta em si. Caso você encontre esse tipo de problema, relate o erro via Suporte Direto.
A WADebug requer um arquivo de configuração (wadebug.conf.yml
) no diretório atual para executar verificações completas.
Ao executar wadebug
sem o arquivo de configuração, a ferramenta exibirá um comando interativo para que você crie um arquivo-esqueleto e o preencha com os valores de configuração. Caso nenhum arquivo seja encontrado ou nenhum valor de configuração seja definido, algumas ações serão ignoradas devido à falta de informações.
Exemplo de arquivo de configuração:
# configurations related to the MySQL database db: # hostname of the MySQL database host: # for example, "0.0.0.0" # host port that the MySQL database uses # to connect to database container created by docker-compose scripts, use 33060 port: # for example, 33060 # username to connect to the MySQL database user: # for example, "root" # password of the username that is used to connect to the MySQL database password: # for example, "your_database_password" # configurations related to WhatsApp Business API webapp: # url accessible from the host running wadebug baseUrl: # https://localhost:9090 # WhatsApp Business API user account credentials to call Support API user: # for example, "wadebug" # WhatsApp Business API user account credentials to call Support API password: # for example, "secretdebugger"
Para verificar as ações disponíveis, execute o comando a seguir:
wadebug ls
Digite o comando a seguir para executar somente um subconjunto das ações disponíveis:
wadebug partial check_software_version check_mysql_version
A wadebug
conta com dois modos: interativo e JSON.
O modo interativo é o padrão. Quando ele for usado, serão apresentadas tabelas de visualização de resultados e avisos, um comando interativo para criar o arquivo de configuração etc.
O modo JSON é útil para integrar a wadebug
a um fluxo de automação, de modo a validar a configuração da WhatsApp Business API de forma periódica ou toda vez que sua versão da API for atualizada, por exemplo.
Para executar wadebug
no modo JSON, inclua a sinalização --json
em qualquer comando wadebug
disponível:
wadebug --json
Uma resposta JSON válida será retornada:
{ "containers_status":{ "class":"CheckContainersAreUp", "user_facing_name":"containers_status", "result":"OK" }, "check_mysql_connection":{ "class":"CheckMySQLConnection", "user_facing_name":"check_mysql_connection", "result":"OK" }, "check_software_version":{ "class":"CheckSoftwareVersion", "user_facing_name":"check_software_version", "result":"OK" }, "check_mysql_version":{ "class":"CheckMySQLVersion", "user_facing_name":"check_mysql_version", "result":"OK" }, "check_network":{ "class":"CheckNetworkAction", "user_facing_name":"check_network", "result":"OK" }, "check_mysql_permissions":{ "class":"CheckMySQLPermissions", "user_facing_name":"check_mysql_permissions", "result":"OK" }, "check_mysql_password":{ "class":"CheckMySQLPassword", "user_facing_name":"check_mysql_password", "result":"OK" }, "check_db_settings_exist":{ "class":"CheckDbSettingsExist", "user_facing_name":"check_db_settings_exist", "result":"OK" }, "check_webapp_port":{ "class":"CheckWebappPortAction", "user_facing_name":"check_webapp_port", "result":"OK" } }
Toda vez que wadebug
for executada, os dados de uso (incluindo as ações executadas e os resultados retornados) serão enviados ao Facebook para ajudar a melhorar a ferramenta, além de acelerar o processo de suporte do WhatsApp via Suporte Direto.
Se não quiser compartilhar dados de uso com o Facebook durante a utilização da ferramenta, execute wadebug
com a sinalização --do-not-send-usage
.
wadebug partial check_network --do-not-send-usage
Lembre-se de que, apesar de continuar a ver os resultados da solução de problemas de forma local, sua experiência com nosso suporte poderá ser prejudicada.
A wadebug
oferece uma maneira conveniente de recuperar todos os registros de contêiner e, opcionalmente, enviá-los ao Facebook para auxiliar as investigações de nossa equipe de suporte.
Para recuperar os registros mais recentes em wadebug_logs/
no diretório atual:
wadebug logs
Alterações importantes
wadebug logs
recupera as últimas 10 mil linhas de registros de cada contêiner.wadebug logs
recupera as últimas 3 horas de registros de cada contêiner.[Novidade a partir da v0.1.5] Para recuperar 3 horas de registros a partir de uma data e hora específica (fuso horário GMT), use a opção --since
. Por exemplo, o comando a seguir recuperará os registros de 2020-01-07 3:00:02 GMT a 2020-01-07 6:00:02 GMT:
wadebug logs --since='2020-01-07 3:00:02'
Para enviar registros ao Facebook, inclua a sinalização --send
. Como parte da resposta, você receberá um run_id
que pode ser mencionado no Suporte Direto para agilizar as investigações.
wadebug logs --send
wadebug logs --since='2020-01-07 3:00:02' --send
No modo de alta disponibilidade/multiconexão, em que os contêineres são instalados em um host ou mais, será necessário acessar cada host, instalar a WADebug e executar os comandos wadebug logs
mencionados acima.
Para obter ajuda com a solução de problemas da configuração da WhatsApp Business API, abra um tíquete do Suporte Direto com o run_id
que foi retornado após a execução de wadebug
. Assim, podemos ver um relatório das ações executadas e os resultados correspondentes.
A report of this run has been uploaded to Facebook. You can reference run_id (A5jedVKsdI_ZojRwL1_-MOd) in Direct Support (https://business.facebook.com/direct-support) tickets
Os registros de contêiner são extremamente úteis para a solução de problemas. Execute wadebug logs
com a sinalização --send
para coletar e enviar os registros ao Facebook.
wadebug logs --send
Além disso, forneça o run_id
retornado.
Container logs have been uploaded to Facebook. You can reference run_id (AcClyxkRJk3w1dEr8OAmsTn) in Direct Support (https://business.facebook.com/direct-support) tickets
15 de janeiro de 2020 (0.1.5)
wadebug logs
agora recupera 3 horas de registros, e não as últimas 10 mil linhas.--since
a wadebug logs
, que recupera 3 horas de registros a partir da data e hora especificada.3 de setembro de 2019 (v0.1.4)
26 de abril de 2019 (v0.1.3)
28 de dezembro de 2018 (v0.1.2)
23 de outubro de 2018 (v0.1.1)