WPP Fácil - DocumentaçãoWPP Fácil - Documentação
Início
  • API
Site oficial
Início
  • API
Site oficial
  • API

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ódigoDescrição
400 Bad RequestAlgum parâmetro obrigatório não foi enviado ou é inválido
401 UnauthorizedO token não foi enviado ou é inválido
404 Not FoundO endpoint ou o registro solicitado não existe
500 Internal Server ErrorAlgum 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âmetroTipoObrigatórioDescrição
access_keyStringSimIdentificador da aplicação
secret_keyStringSimChave secreta da aplicação

Para autenticar, utilize esse exemplo de código:

cURL
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
}
AtributoTipoDescrição
access_tokenStringToken retornado para utilizar na autorização dos endpoints
token_typeStringTipo do token
expires_inIntegerTempo 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
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âmetroTipoObrigatórioDescrição
senderIdStringSimNúmero de origem do disparo das mensagens

Response (Resposta)

{
  "success": true,
  "message": "Client creation initiated successfully",
  "qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARQAAAZalzystdYlD2utdcnDWmtd8rDWWpc8rLXWJQ9rrXXJw1prXfKw1lqXPKy11iUPa611ycNaa13ysNZalzystdYl/w9Pa4rA9s7jgAAAAABJRU5ErkJggg=="
}
AtributoTipoDescrição
qrCodeStringCó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
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âmetroTipoObrigatórioDescrição
senderIdStringSimNúmero de origem do disparo das mensagens
toStringSimNúmero de destino, que vai receber a mensagem
messageStringSimMensagem 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
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âmetroTipoObrigatórioDescrição
senderIdStringSimNúmero de origem do disparo das mensagens
toStringSimNúmero de destino, que vai receber a mensagem
messageStringOpcionalMensagem de texto
fileStringSimArquivo 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"
  }
}