Enviar Documento
Metodo
POST https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/document
Conceituacao
Envia um documento (arquivo) para um numero de telefone atraves de um canal conectado. Qualquer tipo de arquivo e suportado. O nome do arquivo sera exibido para o destinatario.
Limites
- Tamanho maximo: 100MB
- Qualquer extensao de arquivo e aceita (PDF, DOCX, XLSX, ZIP, etc.)
Atributos
Header
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| Authorization | string | Sim | Bearer {API_KEY} - Chave de autenticacao da API |
| Content-Type | string | Sim | application/json |
Path Parameters
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| channelId | string | Sim | ID do canal pelo qual a mensagem sera enviada. |
Body
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| to | string | Sim | Numero do destinatario no formato DDI+DDD+NUM. |
| documentUrl | string | Sim | URL publica do documento. |
| fileName | string | Sim | Nome do arquivo com extensao (ex: relatorio.pdf). |
| mimeType | string | Nao | Tipo MIME do documento (ex: application/pdf). |
| fileSize | number | Nao | Tamanho do arquivo em bytes. |
| caption | string | Nao | Legenda do documento. Maximo 1024 caracteres. |
Request
- cURL
- Node.js
- Python
curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/document" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"documentUrl": "https://exemplo.com/relatorio-mensal.pdf",
"fileName": "relatorio-janeiro-2024.pdf",
"caption": "Segue o relatorio mensal em anexo."
}'
const axios = require('axios');
const response = await axios.post(
'https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/document',
{
to: "5511999998888",
documentUrl: "https://exemplo.com/relatorio-mensal.pdf",
fileName: "relatorio-janeiro-2024.pdf",
caption: "Segue o relatorio mensal em anexo."
},
{
headers: {
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import requests
response = requests.post(
'https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/document',
json={
'to': '5511999998888',
'documentUrl': 'https://exemplo.com/relatorio-mensal.pdf',
'fileName': 'relatorio-janeiro-2024.pdf',
'caption': 'Segue o relatorio mensal em anexo.'
},
headers={
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
)
print(response.json())
Response
202 - Aceito
{
"success": true,
"message": "Mensagem enfileirada para envio"
}
400 - Dados invalidos
{
"message": "Dados de entrada invalidos.",
"code": "VALIDATION_ERROR",
"errors": [
{
"field": "fileName",
"message": "O nome do arquivo e obrigatorio."
}
]
}
401 - Nao autorizado
{
"message": "Token de autenticacao invalido ou ausente.",
"code": "UNAUTHORIZED"
}
429 - Rate limit excedido
{
"message": "Limite de requisicoes excedido. Tente novamente em alguns segundos.",
"code": "RATE_LIMIT_EXCEEDED"
}
Dica
Inclua sempre a extensao no campo fileName para que o destinatario saiba o tipo de arquivo recebido. Exemplo: contrato.pdf, planilha.xlsx.