4Env.io API Docs
Documentação completa de todos os endpoints disponíveis na API do 4Env.io para envio de mensagens.
Introdução
A API do 4Env.io permite que você integre facilmente o envio de mensagens do WhatsApp em seus sistemas. Todas as requisições devem ser feitas para o endpoint base https://api.4env.io.
Endpoints Principais
| Método | Endpoint | Descrição |
|---|---|---|
GET | /instances | Listar todas as instâncias |
POST | /instances | Criar uma nova instância |
GET | /instances/{id} | Obter detalhes de uma instância |
DELETE | /instances/{id} | Desativar uma instância |
PUT | /instances/{id}/disconnect | Desconectar uma instância |
GET | /instances/{id}/qrcode | Obter QR Code para conexão |
POST | /instances/{instanceKey}/token/{instanceToken}/messages/send-text | Enviar uma mensagem |
Autenticação
A API do 4Env.io utiliza autenticação baseada em chave de API (apiKey). Você deve incluir sua apiKey em todas as requisições no cabeçalho apiKey.
// Exemplo de autenticação com apiKey no cabeçalho
const response = await fetch('https://api.4env.io/instances/{instanceKey}/token/{instanceToken}/messages/send-text', {
method: 'POST',
headers: {
'apiKey': 'SUA_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
number: '5511999999999',
text: 'Olá, esta é uma mensagem de teste.'
})
});Estrutura da URL
As URLs da API seguem o padrão /instances/{instanceKey}/token/{instanceToken}/[recurso], onde:
instanceKey: Chave única da sua instância do WhatsAppinstanceToken: Token de segurança da instânciarecurso: Endpoint específico que você deseja acessar
Códigos de Status
A API retorna os seguintes códigos de status HTTP:
| Código | Descrição |
|---|---|
200 OK | A requisição foi bem-sucedida |
400 Bad Request | A requisição contém parâmetros inválidos |
401 Unauthorized | Autenticação necessária ou inválida |
404 Not Found | O recurso solicitado não foi encontrado |
500 Internal Server Error | Ocorreu um erro no servidor |
Formato de Resposta
Todas as respostas da API são retornadas no formato JSON com a seguinte estrutura:
{
"status": "success", // ou "error"
"message": "Mensagem descritiva",
"data": {
// Dados da resposta, quando aplicável
}
}Base URL
Todas as requisições devem ser feitas para o seguinte endpoint base:
https://api.4env.ioGerenciamento de Instâncias
As instâncias são a base do 4Env.io. Cada instância representa uma conexão com o WhatsApp que pode ser usada para enviar e receber mensagens. Esta seção explica como criar, gerenciar e conectar instâncias usando a API.
Criar Instância
Criar uma nova instância do WhatsApp
Endpoint
/instancesParâmetros do Corpo
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| name | string | Sim | Nome da instância |
| phone | string | Não | Telefone associado à instância (opcional) |
Exemplo
curl --request POST \
--url https://api.4env.io/instances \
--header 'Authorization: Bearer SEU_TOKEN_JWT' \
--header 'Content-Type: application/json' \
--data '{
"name": "Minha Instância",
"phone": "+5511999999999"
}'Resposta
{
"id": "instance-id",
"name": "Minha Instância",
"phone": "+5511999999999",
"status": "PENDING",
"instanceKey": "4envio-ik-abc123",
"instanceToken": "uuid-token",
"contractId": "contract-id",
"createdAt": "2023-01-01T00:00:00.000Z",
"updatedAt": "2023-01-01T00:00:00.000Z"
}Obter QR Code
Obter QR Code para conectar uma instância ao WhatsApp
Endpoint
/instances/{id}/qrcodeParâmetros de Caminho
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | ID da instância |
Exemplo
curl --request GET \
--url https://api.4env.io/instances/{id}/qrcode \
--header 'Authorization: Bearer SEU_TOKEN_JWT'Resposta
{
"pairingCode": "WZYEH1YY",
"code": "2@y8eK+bjtEjUWy9/FOM...",
"base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"count": 1
}Desconectar Instância
Desconectar uma instância específica do WhatsApp
Endpoint
/instances/{id}/disconnectParâmetros de Caminho
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | ID da instância |
Exemplo
curl --request PUT \
--url https://api.4env.io/instances/{id}/disconnect \
--header 'Authorization: Bearer SEU_TOKEN_JWT'Resposta
{
"message": "Solicitação de desconexão enviada com sucesso."
}Envio de Mensagens
Após conectar sua instância, você pode começar a enviar mensagens para seus contatos. Esta seção explica como enviar diferentes tipos de mensagens usando a API do 4Env.io.
Enviar Mensagem de Texto
Enviar uma mensagem de texto para um contato
Endpoint
/instances/{instanceKey}/token/{instanceToken}/messages/send-textParâmetros de Caminho
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| instanceKey | string | Sim | Chave da instância |
| instanceToken | string | Sim | Token da instância |
Parâmetros do Corpo
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| number | string | Sim | Número do destinatário no formato internacional (ex: 5511999999999) |
| text | string | Sim | Texto da mensagem a ser enviada |
| delay | number | Não | Atraso em segundos antes de enviar a mensagem |
| quoted | object | Não | Mensagem a ser citada |
| linkPreview | boolean | Não | Habilitar pré-visualização de links |
| mentionsEveryOne | boolean | Não | Mencionar todos os participantes (grupos) |
| mentioned | array | Não | Lista de números a serem mencionados |
Parâmetros de Cabeçalho
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| apiKey | string | Sim | Chave de API para autenticação (enviada no cabeçalho) |
Exemplo
curl --request POST \
--url https://api.4env.io/instances/{instanceKey}/token/{instanceToken}/messages/send-text \
--header 'apiKey: SUA_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"number": "5511999999999",
"text": "Olá, esta é uma mensagem de teste.",
"delay": 2,
"quoted": {
"key": {
"remoteJid": "5511999999999@s.whatsapp.net",
"fromMe": true,
"id": "ABCD1234"
},
"message": {
"conversation": "Mensagem original"
}
},
"linkPreview": true,
"mentionsEveryOne": false,
"mentioned": [
"5511988888888",
"5511977777777"
]
}'Resposta
{
"status": "success",
"message": "Mensagem enviada com sucesso.",
"data": {
"key": {
"remoteJid": "5511999999999@s.whatsapp.net",
"fromMe": true,
"id": "ABCD1234"
},
"message": {
"extendedTextMessage": {
"text": "Olá, esta é uma mensagem de teste."
}
},
"messageTimestamp": "1697040000",
"status": "SENT"
}
}