# wapi-autov0620 api integração wapp 06/2020 (upgrade).
INTRODUÇÃO
Este documento tem por intuito, apresentar de forma didática as funcionalidades de ferramenta de integração de messenger(WP), através da utilização de comunicação via api, a seguem os tópicos que são abordados:
✅ 1. Criar nova Instância;
✅ 2. Enviar Mensagem (texto);
✅ 3. Enviar Arquivo
✅ 4. Verificar Status da instância;
✅ 5. Listar Contatos de uma instância;
✅ 6. Listar Conversas por Contato;
✅ 7. Listar Todas as Mensagens não lidas;
✅ 8. Retornar Nova mensagem na Instância;
✅ 9. 🆕Checkar número (perfil wp);
✅ 10. Desconectar uma instância;
Testes:
Para realizar testes pode utilizar servidor: http://144.217.207.169:3000
Exemplo de uso:
http://144.217.207.169:3000/wp/qrcode
Requisições via POST
Seguem abaixo os parâmetros e exemplos de uso.
Para realizar testes de aquisições pode ser utilizado o POSTMAN (ferramenta para testes de requisições de api: Download Postman
A api é desenvolvida utilizando nodejs, utilizando como padrão a porta 3000 (customizável do ponto de vista técnico).
Exemplo de uso utilizando um servidor local:
http://localhost:3000/wp/qrcode
👨🏫 FUNCIONALIDADES: 👩💻
1. CRIAR NOVA INSTÂNCIA
Gerar Qrcode - Criar nova instância
Função: /wp/qrcode
Descrição: Recebe a requisição para criar nova instância do WP,
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001"
}
retorno(instancia criada): informações sobre criação ou informar caso a instancia já existe e o status da mesma.
Obs: o codigo qrcode tem validade de 15 segundos, sendo necessário nova consulta para atualizar o novo código.
{
"instancia": "vendas-001",
"qrcode": "ZXRlIOkgdW0gdGVzdGUgZGUgcmVxdWlzaefjbyBhcGkgd2hhdHNhcHAgZnVuY2lvbmFsLCBwYXJh
YmVucyBwZWxhIGFxdWlzaefjbw0K",
"status": “UNPAIRED”
}
obs.: enquanto o retorno exibir o código qrcode, é necessário consultar novamente após a sincronização do qrcode. O resultado após o sincronismo veja a seguir...
retorno (caso a instância já exista):
{
"instancia": "vendas-001",
"qrcode": "Synchronized",
"status": “CONNECTED”
}
2. ENVIAR MENSAGEM SIMPLES (TEXTO)
Função: /wp/sendMsg
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001",
"number":"5516997141457@c.us",
"msg":"👋Olá, segue sua fatura ref. mes 04/2020. \n link da fatura: https://www.ficticio.com.br/app/public/Admin/relatorio/fatura=FAT042020"
}
Retorno: Caso haja erro a função retornará false.
{
"status": true
}
3. ENVIAR ARQUIVO:
Função: /wp/sendMedia
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001",
"number":"5516997141457@c.us",
"msg":"👋Olá, segue arquivo de sua fatura ref. mes 04/2020.",
"tipo":"FATURA-FTR0098938838992020.docx",
“arquivo”:”UEsDBBQABgAIAAAAIQAwySgMcgEAAKUFAAATAAgCW0NvbnRlbnRfVHlw==”
}
retorno(pode ser retornado valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) e retorno (true mensagem enviada ou false se a mensagem não for enviada):
{
"instancia": "vendas-001",
"status": “CONNECTED”,
“retorno”:true
}
4. VERIFICAR STATUS DA INSTANCIA (CRIADA ANTERIORMENTE)
Função: /wp/status
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001"
}
retorno(pode ser retornado dois valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) :
{
"instancia": "vendas-001",
"status": “UNPAIRED”
}
5. LISTAR CONTATOS DE UMA INSTÂNCIA:
Função: /wp/getAllContacts
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001"
}
retorno(pode ser retornado dois valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) e contatos com os dados dos contatos resgatados:
{
"instancia": "vendas-001",
"contatos": [{...}]
}
6. LISTAR CONVERSAS POR CONTATO:
Função: /wp/get_AllMsgs
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001",
"number":"556392320847@c.us"
}
retorno(pode ser retornado dois valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) :
{
"instancia": "vendas-001",
"webhook": [{...}]
}
7. LISTAR TODAS AS MENSAGENS NÃO LIDAS:
Função: /wp/getUnreadMsg
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001"
}
retorno(pode ser retornado dois valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) :
{
"instancia": "vendas-001",
"msgs": [],
"status": “UNPAIRED”
}
Obs.: Dentro do arrayObject msgs:[] será retornado todos os dados de mensagens não lidas tais como dados da mensagen, contato, horarios, etc…
8. RETORNAR NOVA MENSAGEM NA INSTÂNCIA:
Função: /wp/newMsg
Descrição: retornar última nova mensagem recebida e não lida.
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001"
}
retorno(pode ser retornado dois valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) hook exibirá os dados de novas mensagens via arrayObject (matriz):
{
"instancia": "vendas-001",
"hook": {...}
}
9. CHECKAR NÚMERO (WP):<br>
Função: /wp/check_number
Descrição: Informa dados de um número pertencente a instancia, inclusive se é um número válido.
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001",
"number":"5516997141457@c.us"
}
retorno(pode ser retornado dois valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) :
{"instancia":"vendas-001","retorno":{"id": {"server":"c.us","user":"5516997141457","_serialized":"5516997141457@c.us"},"status":200,"isBusiness":true,"canReceiveMessage":true,"numberExists":true}
}
se o número for invalido ou inexsitente retronará:
{
"instancia":"vendas-001",
"retorno":false
}
10. DESCONECTAR UMA SESSÃO (INSTANCIA):<br>
Função: /wp/logoff
Descrição: desconectar e remover a sessão da atividade na api(sistema).
Exemplo: Parâmetros da requisição do tipo POST (formato arrayObject):
{
"instancia":"vendas-001"
}
retorno(pode ser retornado dois valores ‘inexistente’(instancia não criada portanto não gerado qrcode) ou ‘’UNPAIRED’(qrcode gerado porém ainda não sincronizado) :
{
"instancia": "vendas-001",
"status": “UNPAIRED”
}