API Gateway
Autenticação
Para consumir os recursos definidos abaixo é necessário enviar em TODA requisição o token no cabeçalho com o parâmetro Authorization e o Content-Type com o valor padrão de: application/json
Exemplo:
Authorization: eyJhbGciOiJIUzI1NiJ9.MjM3NTVkZjQxMzgwYzcyYUHBzU3MTM4YjNhYWI2Yjc6NWZkNzFjNzNiMTg3ZjNiMWI2N2QzZmYyNjA2NDU2YWRhM2QxNjE4MmZhYTQxMjdkYmE5ODZhZjgyZjUxMzZjNmU5NzAyMDIyZjk3MjEwNzAwZTMwY2Q0YTU4NWY2ODFiMmI3N2UzNWIwZTk2MDQxMmZlMDI0ZGU2OWQyZWJkMTg1N2RiNzM3MDQyZWUxY2NmMTNjZWUyMGVkZDI0NWY4MjFkZmQ2MzBjNWE2ZTgwMzNiMjRiZjAwYjJlNTY5ZDc4Yjg4ZGVlNjlhNWJjNzM4NzRiYjJhZDJkZTExNDBiZDc1MjY1MmY1NWU2YjZjNzA4ZGNhNGM4ZjI3OWIzN2Y2NjA0ZjIyOTQxNjJlZjc1MDE4YmFmNzA5MzlkNWQ3MzUxM2U5N2ZhZGZlNThiYzE1YWU4NGFmNjQ0OWI3MzQ1MTA3NTE3YzhiYWU3NjBlZDM2YWM3Y2YwNWYzN2Y3NmY5MDY5NTEyZmMxMWEwOTBkY2VjNTBkMmU0ZTUyNDNhNWIxZjQ3YjA2OWM0M2UzZDY3N2U4OWZhZTRhNjhiMDczYTAyNjc1ZjQ4NzliYTZmZWFiZTJkNmU5ZGYwOGZkNTQxZTE1ZTMxOGQzODY4ODg4YWVkNDc5MzczMTllNjhlMzJmNDUxNjYwNDM4OGUwNzNkNWU5OTA4MTQ1ZDNiOGQwN2U5MDBkMDU3OTFhYzE1MzNlYzVjOWEwMjBlMThjMjA5MWE0YjcxNWE1ZDc1MWUwNzJkMzYyOTZhNmM0NjQ2ODJhNDVkNWJjNTg1YmY1OGJkNmU5ODMzM2NiYTM4NmVhNzY.9fOPGJ0fxg8xCwctRI4PhgbOMMKY3AXR1mZnNiKlYhY===
Importante: Para obtenção do token de produção, é necessário entrar contato com à nossa equipe de atendimento. O token acima é só um EXEMPLO.
Enviar AR-Agora (E-mail, SMS, Whatsapp)
Endpoint: <https:/api.ar.quiteagora.com.br/gw/email>
Método: POST
Body da Requisição: E-mail + SMS + Whatsapp:
{
"nameTo": "John",
"to": "john@due.com",
"subject": "Test Send",
"content": "<p><strong> Hi!\/strong><\/p>",
"attachments": [{
"name": "test.png",
"base64": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAABCAQAAABN/Pf1AAAADUlEQVR42mNk+M+AAQATFwEB/YopsAAAAABJRU5ErkJggg=="
}],
"customID":"",
"sms": {
"number": "119999988888",
"typeSend": "1",
"customMessage": "Mensagem personalizada pelo cliente"
},
"whatsapp": {
"number":"11999999888"
}
}Body Completo da Requisição: E-mail:
{
"nameTo": "John",
"to": "john@due.com",
"subject": "Test Send",
"content": "<p><strong> Hi!\/strong><\/p>",
"attachments": [{
"name": "test.png",
"base64": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAABCAQAAABN/Pf1AAAADUlEQVR42mNk+M+AAQATFwEB/YopsAAAAABJRU5ErkJggg=="
}],
"customID":""
}Body Completo da Requisição: SMS:
{
"nameTo": "John",
"subject": "Test Send",
"content": "<p><strong> Hi!\/strong><\/p>",
"attachments": [{
"name": "test.png",
"base64": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAABCAQAAABN/Pf1AAAADUlEQVR42mNk+M+AAQATFwEB/YopsAAAAABJRU5ErkJggg=="
}],
"customID":"",
"sms": {
"number": "119999988888",
"typeSend": "1",
"customMessage": "Mensagem personalizada pelo cliente"
}
}Body Completo da Requisição: Whatsapp:
{
"nameTo": "John",
"subject": "Test Send",
"content": "<p><strong> Hi!\/strong><\/p>",
"attachments": [{
"name": "test.png",
"base64": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAABCAQAAABN/Pf1AAAADUlEQVR42mNk+M+AAQATFwEB/YopsAAAAABJRU5ErkJggg=="
}],
"customID":"",
"whatsapp": {
"number":"11999999888"
}
}Onde:
nameTo: Nome do destinatário da mensagem (obrigatório)to: E-mail destinatário da mensagem (obrigatório apenas quando for envio somente de email, ou seja, quando não há o objetosmsouwhatsapp)subject: Assunto da mensagem (obrigatório)content: Conteúdo em HTML da mensagem (obrigatório)attachments: Lista de objetos comnameebase64(opcional)customID: Informação de referência externa, possibilitando a realização de pesquisa. (opcional)sms: Objeto com informações de envio de sms. Visa prover o recurso de envio de SMS através da API no envio do email.(opcional)sms.number: Numero do celular sem mascaras no formato XXXXXsms.typeSend:- 1 - Em caso de falha no envio do e-mail envia o SMS - contigencia - Esse é default (ou seja é opcional).
- 2 - Envia um SMS independete do status da mensagem - reforço
sms.customMessage: Possível mensagem personalizada pelo cliente (limitada a 140 caracteres)whatsapp: Objeto com informações de envio de whatsapp. Visa prover o recurso de envio de Whatsapp pela API.whatsapp.number: Numero de telefone de Whatsapp do destinatário.
Resposta
{
"idEmail": "8c4813f5-8430-4ad4-ab72-19d7eed39731"
}Este é o id do Email que será usado para consultar os status
Consulta do status do E-mail
Endpoint: https:/api.ar.quiteagora.com.br/gw/email/{idEmail}
Método: GET
Parâmetros da Requisição:
- idEmail - ID único obtido no envio do E-mail
Resposta:
{
"dateSend": "21/04/2019 08:53:01",
"dateDelivery": "21/04/2019 08:53:05",
"dateReading": null,
"error": false,
"description": "Enviado e Entregue",
"failureReason": null,
"customID": null,
"idEmail": "910ef98a-1b87-4377-ab9b-1456fd0dc70e"
}Onde:
dateSend: Data do Envio da MensagemdateDelivery: Data da Entrega da MensagemdateReading: Data da Leitura da Mensagemerror: Indica se houve ou não errodescription: Descrição do Status - Processado (enfileirado na fila para envio), Enviado, Entregue, Lido e ErrofailureReason: Detalhamento do errocustomID: ID utilizado no envio da MensagemidEmail: ID do E-mail
Todas as datas estão no formato BRT (Brasília)
Consulta do status do SMS
Método: GET
Parâmetros da Requisição:
- idEmail - ID único obtido no envio do E-mail
Resposta:
{
"dateSend": "21/04/2019 08:53:01",
"dateReading": null,
"description": "Enviado"
}Onde:
dateSend: Data do Envio da MensagemdateReading: Data da Leitura da Mensagemdescription: Descrição do Status - Processado (enfileirado na fila para envio), Enviado, Entregue, Lido, Falha
Todas as datas estão no formato BRT (Brasília)
Consulta do status do Whatsapp
Endpoint: https:/api.ar.quiteagora.com.br/gw/whatsapp/{idEmail}
Método: GET
Parâmetros da Requisição:
- idEmail - ID único obtido no envio do E-mail
Resposta:
{
"dateSend": "21/04/2019 08:53:01",
"dateReading": null,
"description": "Enviado"
}Onde:
dateSend: Data do Envio da MensagemdateDelivery: Data da Entrega da MensagemdateReading: Data da Leitura da MensagemdateAccessLink: Data de Acesso ao Link da Mensagem Enviadadescription: Descrição do Status - Processado (enfileirado na fila para envio), Enviado, Entregue, Lido, Falha
Todas as datas estão no formato BRT (Brasília)
Comprovante do Envio
- Endpoint: https:/api.ar.quiteagora.com.br/gw/sending-proof/{idEmail}
- Método: GET
- Parâmetros da Requisição:
- idEmail - ID único obtido no envio do E-mail
- Respostas:
- Email com status:
{
"content": "JVBERi0xLjQKMSAwIG9iago8PAovVGl0bGUgKP7/KQovQ3JlYXRvciAo/v8pCi9Qcm9kdWNlciAo/v8AUQB0ACAANQAuADUALgAxKQovQ3JlYXRpb25EYXRlIChEOjIwMjAwNTIyMTk0MDU5KQo+PgplbmRvYmoKMiAwI",
}
Onde:
content: Comprovante PDF em base64
- Email sem Status
{
"message": "O comprovante para e-mail consultado ainda não possui o status de entrega",
}
Possíveis Mensagens de Erro
{
"statusCode": 401,
"message": "Unauthorized"
}
{
"statusCode": 404,
"message": "Email sem status!"
}
{
"statusCode": 404,
"message": "O comprovante para e- mail consultado ainda não possui o status de entrega"
}
{
"statusCode": 401,
"message": "Você tentou enviar um email para ${emailTo}, porém ele está em uma blacklist"
}
{
"statusCode": 400,
"message": "O e-mail do destinatário informado é inválido, Verifique o endereço de e-mail inserido."
}
{
"statusCode": 400,
"message": "Você está tentando enviar um email, você não possui créditos suficientes"
}
{
"statusCode": 400,
"message": "O número do destinatário informado é inválido, Verifique o número inserido."
}
{
"statusCode": 500,
"message": "Não foi possível enviar o email."
}
{
"statusCode": 400,
"message": "Erro ao obter informações do plano."
}
{
"statusCode": 500,
"message": "Internal Server Error"
}