Conectar Canal
Metodo
POST https://oapi.ogmma.com.br/v1/channels/:id/connect
Conceituacao
Inicia o processo de conexao de um canal. O comportamento varia de acordo com o tipo do canal:
- WHATSAPP_BAILEYS: Gera um QR Code em formato base64. O usuario deve escanear o QR Code com o aplicativo WhatsApp no celular para completar a conexao. O QR Code expira em aproximadamente 60 segundos.
- WHATSAPP_WABA: Requer as credenciais da API do Meta Business no body da requisicao para estabelecer a conexao.
Apos a conexao bem-sucedida, o status do canal sera atualizado para CONNECTED e o numero de telefone sera registrado automaticamente.
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 |
|---|---|---|---|
| id | string | Sim | ID do canal a ser conectado. |
Body (apenas WHATSAPP_WABA)
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| phoneNumberId | string | Sim | ID do numero de telefone no Meta Business. |
| businessAccountId | string | Sim | ID da conta WhatsApp Business. |
| accessToken | string | Sim | Token de acesso permanente da Graph API. |
| verifyToken | string | Sim | Token personalizado para verificacao de webhook. |
Request
Baileys (sem body necessario)
- cURL
- Node.js
- Python
curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/connect" \
-H "Authorization: Bearer {API_KEY}"
const axios = require('axios');
const channelId = '6650a1b2c3d4e5f6a7b8c9d0';
const response = await axios.post(
`https://oapi.ogmma.com.br/v1/channels/${channelId}/connect`,
{},
{
headers: {
'Authorization': 'Bearer {API_KEY}'
}
}
);
console.log(response.data);
import requests
channel_id = '6650a1b2c3d4e5f6a7b8c9d0'
response = requests.post(
f'https://oapi.ogmma.com.br/v1/channels/{channel_id}/connect',
headers={
'Authorization': 'Bearer {API_KEY}'
}
)
print(response.json())
WABA
- cURL
- Node.js
- Python
curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/connect" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"phoneNumberId": "106540012345678",
"businessAccountId": "102030405060708",
"accessToken": "EAABsbCS...",
"verifyToken": "meu_token_verificacao_personalizado"
}'
const axios = require('axios');
const channelId = '6650a1b2c3d4e5f6a7b8c9d0';
const response = await axios.post(
`https://oapi.ogmma.com.br/v1/channels/${channelId}/connect`,
{
phoneNumberId: '106540012345678',
businessAccountId: '102030405060708',
accessToken: 'EAABsbCS...',
verifyToken: 'meu_token_verificacao_personalizado'
},
{
headers: {
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import requests
channel_id = '6650a1b2c3d4e5f6a7b8c9d0'
response = requests.post(
f'https://oapi.ogmma.com.br/v1/channels/{channel_id}/connect',
json={
'phoneNumberId': '106540012345678',
'businessAccountId': '102030405060708',
'accessToken': 'EAABsbCS...',
'verifyToken': 'meu_token_verificacao_personalizado'
},
headers={
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
)
print(response.json())
Response
200 - Conexao iniciada (Baileys)
{
"data": {
"id": "6650a1b2c3d4e5f6a7b8c9d0",
"status": "AWAITING_QR",
"qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEU..."
}
}
200 - Conexao iniciada (WABA)
{
"data": {
"id": "6650a1b2c3d4e5f6a7b8c9d1",
"status": "CONNECTED",
"phone": "5511988887777"
}
}
400 - Dados invalidos
{
"message": "Credenciais WABA sao obrigatorias para canais do tipo WHATSAPP_WABA.",
"code": "VALIDATION_ERROR"
}
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"
}
QR Code
Para canais Baileys, o QR Code e retornado em formato base64 e pode ser exibido diretamente em uma tag <img> no frontend. O QR Code expira em aproximadamente 60 segundos. Caso expire, faca uma nova chamada ao endpoint para gerar um novo QR Code.