API
Introdução
Bem vindo a documentação da API WPP Fácil.
Oferecemos uma solução completa para que você possa integrar ao seu sistema e utilizá-lo da melhor maneira possível no seu negócio. Para utilizar nossa API é necessário ter uma conta na WPP Fácil, caso ainda não tenha clique aqui.
Nesta documentação mostraremos os dados necessários para realizar uma requisição, os valores retornados e exemplos de códigos. Caso tenha alguma dúvida ou precise de suporte acesse nossa página de ajuda.
Requisições e respostas
Exemplo básico do JSON retornado:
{
"success": true,
"message": "descrição da mensagem",
...
}
Nossa API utiliza o padrão REST, todas as requisições e respostas são no formato JSON e os endpoints utilizam como base o endereço: https://api.wppfacil.com.br/
Para indicar o sucesso ou falha nas requisições utilizamos códigos HTTP, no caso de requisições bem sucedidas o código é o 201 quando um registro é criado ou 200 para indicar outras operações de sucesso, outros códigos representam algum tipo de erro. Além disso, o JSON retornado contém um campo booleano chamado success que pode ser utilizado no lugar dos códigos para verificar o sucesso da operação.
A segurança no envio e recebimento dos dados é realizada através de autenticação via token.
Erros
Quando um erro é identificado o retorno da requisição conterá o código HTTP apropriado, que pode ser:
| Código | Descrição |
|---|---|
| 400 Bad Request | Algum parâmetro obrigatório não foi enviado ou é inválido |
| 401 Unauthorized | O token não foi enviado ou é inválido |
| 404 Not Found | O endpoint ou o registro solicitado não existe |
| 500 Internal Server Error | Algum problema no servidor da WPP Fácil |
Além disso, o JSON retornado terá o campo success com o valor false e o campo message descreverá o motivo do erro, em alguns casos também será retornado um array no campo errors contendo detalhes adicionais.
Autenticação
A autenticação é feita através do envio de um token no header das requisições, exemplo:
Authorization: Bearer pZCI6MSwibmFtZSI6IlBsYWNhIEZJUEUiLCJhY2Nlc3Nfa2V5IjoiNzY0MDNj
Para obter o token é necessário fazer uma requisição para o endpoint /auth/login enviando o seu access_key e secret_key.É necessário entrar em contato para solicitar as credenciais.
HTTP Request
POST https://api.wppfacil.com.br/v1/auth/login
BODY Params
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| access_key | String | Sim | Identificador da aplicação |
| secret_key | String | Sim | Chave secreta da aplicação |
Para autenticar, utilize esse exemplo de código:
curl --location 'https://api.wppfacil.com.br/auth/login' \
--request POST
--header 'Content-Type: application/json' \
--data '{
"access_key": "__A_CHAVE_DE_ACESSO_VAI_AQUI__",
"secret_key": "__A_SENHA_VAI_AQUI__"
}'
Retorno
Exemplo do JSON que será retornado
{
"success": true,
"message": "Authentication successful",
"integration": {
"name": "WPP Fácil",
"access_key": "10000000-ffff-ffff-ffff-000000000001"
},
"access_token": "pZCI6MSwibmFtZSI6IlBsYWNhIEZJUEUiLCJhY2Nlc3Nfa2V5IjoiNzY0MDNj",
"token_type": "Bearer",
"expires_in": 86400
}
| Atributo | Tipo | Descrição |
|---|---|---|
| access_token | String | Token retornado para utilizar na autorização dos endpoints |
| token_type | String | Tipo do token |
| expires_in | Integer | Tempo de validade. Em XXX |
Criar um cliente
Para fazer o envio de mensagens, é necessário criar um cliente com o número de WhatsApp do remetente das mensagens. Esse endpoint também é utilizado para atualizar a sessão de um cliente já autenticado.
HTTP Request (Requisição)
curl --location 'https://api.wppfacil.com.br/client/create' \
--request POST
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer __TOKEN_AQUI__' \
--data '{
"senderId": "49999705997"
}'
Parâmetros / corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| senderId | String | Sim | Número de origem do disparo das mensagens |
Response (Resposta)
{
"success": true,
"message": "Client creation initiated successfully",
"qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARQAAAZalzystdYlD2utdcnDWmtd8rDWWpc8rLXWJQ9rrXXJw1prXfKw1lqXPKy11iUPa611ycNaa13ysNZalzystdYl/w9Pa4rA9s7jgAAAAABJRU5ErkJggg=="
}
| Atributo | Tipo | Descrição |
|---|---|---|
| qrCode | String | Código base64 da imagem do QR Code utilizado para autenticação |
Enviar mensagem
Utilizado para enviar mensagens de texto, documentos ou documentos com legenda.
Mensagem de texto
HTTP Request (Requisição)
curl --location 'https://api.wppfacil.com.br/send-message' \
--request POST
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer __TOKEN_AQUI__' \
--data '{
"senderId": "49999705997",
"to": "49999705997",
"message": "Hello world"
}'
Parâmetros / corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| senderId | String | Sim | Número de origem do disparo das mensagens |
| to | String | Sim | Número de destino, que vai receber a mensagem |
| message | String | Sim | Mensagem de texto |
Response (Resposta)
{
"success": true,
"messageId": {
"fromMe": true,
"remote": "554988227227@c.us",
"id": "3EB069F6608A37B8BD174F",
"self": "out",
"_serialized": "true_554988227227@c.us_3EB069F6608A37B8BD174F_out"
}
}
Mensagem com arquivo
HTTP Request (Requisição)
curl --location 'https://api.wppfacil.com.br/send-message' \
--request POST
--header 'Authorization: Bearer __TOKEN_AQUI__' \
--form 'senderId="49999705997"' \
--form 'to="49999705997"' \
--form 'message="Hello world"' \
--form 'file=@"/home/user/file.jpg"'
Parâmetros / corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| senderId | String | Sim | Número de origem do disparo das mensagens |
| to | String | Sim | Número de destino, que vai receber a mensagem |
| message | String | Opcional | Mensagem de texto |
| file | String | Sim | Arquivo a ser enviado |
Response (Resposta)
{
"success": true,
"messageId": {
"fromMe": true,
"remote": "554988227227@c.us",
"id": "3EB069F6608A37B8BD174F",
"self": "out",
"_serialized": "true_554988227227@c.us_3EB069F6608A37B8BD174F_out"
}
}