{"openapi":"3.0.3","info":{"title":"Autaia API","version":"2.0.0","description":"API de mensagens multicanal compatível com o formato appKey/authKey."},"servers":[{"url":"https://api.autaia.com.br"}],"components":{"securitySchemes":{"appKey":{"type":"apiKey","in":"header","name":"appKey"},"authKey":{"type":"apiKey","in":"header","name":"authKey"}}},"paths":{"/api/v2/sendText":{"post":{"summary":"Envia uma mensagem de texto.","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","message":"Olá! 👋","queue":false,"delay":0}}}}}},"/api/v2/sendImage":{"post":{"summary":"Envia imagem por link público.","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","file":"https://exemplo.com/foto.jpg","message":"Legenda opcional"}}}}}},"/api/v2/sendVideo":{"post":{"summary":"Envia vídeo por link público.","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","file":"https://exemplo.com/video.mp4","message":"Legenda"}}}}}},"/api/v2/sendVoice":{"post":{"summary":"Envia áudio como mensagem de voz (OGG/Opus).","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","file":"https://exemplo.com/audio.ogg"}}}}}},"/api/v2/sendDocument":{"post":{"summary":"Envia documento (PDF etc.).","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","file":"https://exemplo.com/boleto.pdf","fileName":"boleto.pdf","message":"Seu boleto"}}}}}},"/api/v2/sendContact":{"post":{"summary":"Envia um cartão de contato.","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","contactName":"Suporte","contactNumber":"5511988887777"}}}}}},"/api/v2/sendTemplate":{"post":{"summary":"Envia um modelo salvo (com mídia). Aceita variáveis para {{campos}}.","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","templateId":12,"variables":{"nome":"Ana"}}}}}}},"/api/v2/sendReply":{"post":{"summary":"Dispara uma resposta do chatbot (sequência, lista ou botões).","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"to":"5511999999999","replyId":34}}}}}},"/api/v2/messages":{"post":{"summary":"Envio multicanal numa chamada (WhatsApp, Telegram, SMS, e-mail). Só authKey da conta no topo.","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}},"requestBody":{"required":true,"content":{"application/json":{"example":{"authKey":"CHAVE_DA_CONTA","message":"Seu pedido foi enviado","channels":{"whatsapp":{"appKey":"APP_KEY","to":"5511999999999"},"email":{"to":"cliente@exemplo.com","subject":"Pedido enviado"},"sms":{"to":"5511999999999"}}}}}}}},"/api/v2/messages/{id}":{"get":{"summary":"Status de um envio feito pela API.","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}}}},"/api/v2/templates":{"get":{"summary":"Lista os modelos da conta (só authKey).","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}}}},"/api/v2/replies":{"get":{"summary":"Lista as respostas do chatbot (só authKey).","security":[{"appKey":[],"authKey":[]}],"responses":{"200":{"description":"Enviado (ou aceito na fila quando queue=true)."},"207":{"description":"Multicanal com sucesso parcial — veja cada canal em data."},"401":{"description":"appKey/authKey ausentes ou inválidas."},"402":{"description":"Assinatura vencida."},"403":{"description":"Recurso fora do plano ou limite atingido."},"404":{"description":"Modelo, resposta ou mensagem não encontrados."},"422":{"description":"Dados inválidos: número, mensagem vazia, número sem WhatsApp."},"429":{"description":"Muitas requisições por minuto para o mesmo aplicativo."},"503":{"description":"Dispositivo do aplicativo desconectado."},"504":{"description":"O WhatsApp não respondeu a tempo."}}}}},"externalDocs":{"url":"https://autaia.com.br/api-docs"}}