4Env.io LogoAPI
⌘K
Dashboard

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étodoEndpointDescrição
GET/instancesListar todas as instâncias
POST/instancesCriar uma nova instância
GET/instances/{id}Obter detalhes de uma instância
DELETE/instances/{id}Desativar uma instância
PUT/instances/{id}/disconnectDesconectar uma instância
GET/instances/{id}/qrcodeObter QR Code para conexão
POST/instances/{instanceKey}/token/{instanceToken}/messages/send-textEnviar 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
// 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 WhatsApp
  • instanceToken: Token de segurança da instância
  • recurso: Endpoint específico que você deseja acessar

Códigos de Status

A API retorna os seguintes códigos de status HTTP:

CódigoDescrição
200 OKA requisição foi bem-sucedida
400 Bad RequestA requisição contém parâmetros inválidos
401 UnauthorizedAutenticação necessária ou inválida
404 Not FoundO recurso solicitado não foi encontrado
500 Internal Server ErrorOcorreu um erro no servidor

Formato de Resposta

Todas as respostas da API são retornadas no formato JSON com a seguinte estrutura:

Formato de Resposta
{
  "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.io

Gerenciamento 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.

POST

Criar Instância

Criar uma nova instância do WhatsApp

Endpoint

/instances

Parâmetros do Corpo

NomeTipoObrigatórioDescrição
namestringSimNome da instância
phonestringNãoTelefone associado à instância (opcional)

Exemplo

Criar Instância
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

Resposta (200 OK)
{
  "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"
}
GET

Obter QR Code

Obter QR Code para conectar uma instância ao WhatsApp

Endpoint

/instances/{id}/qrcode

Parâmetros de Caminho

NomeTipoObrigatórioDescrição
idstringSimID da instância

Exemplo

Obter QR Code
curl --request GET \
--url https://api.4env.io/instances/{id}/qrcode \
--header 'Authorization: Bearer SEU_TOKEN_JWT'

Resposta

Resposta (200 OK)
{
  "pairingCode": "WZYEH1YY",
  "code": "2@y8eK+bjtEjUWy9/FOM...",
  "base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
  "count": 1
}
PUT

Desconectar Instância

Desconectar uma instância específica do WhatsApp

Endpoint

/instances/{id}/disconnect

Parâmetros de Caminho

NomeTipoObrigatórioDescrição
idstringSimID da instância

Exemplo

Desconectar Instância
curl --request PUT \
--url https://api.4env.io/instances/{id}/disconnect \
--header 'Authorization: Bearer SEU_TOKEN_JWT'

Resposta

Resposta (200 OK)
{
  "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.

POST

Enviar Mensagem de Texto

Enviar uma mensagem de texto para um contato

Endpoint

/instances/{instanceKey}/token/{instanceToken}/messages/send-text

Parâmetros de Caminho

NomeTipoObrigatórioDescrição
instanceKeystringSimChave da instância
instanceTokenstringSimToken da instância

Parâmetros do Corpo

NomeTipoObrigatórioDescrição
numberstringSimNúmero do destinatário no formato internacional (ex: 5511999999999)
textstringSimTexto da mensagem a ser enviada
delaynumberNãoAtraso em segundos antes de enviar a mensagem
quotedobjectNãoMensagem a ser citada
linkPreviewbooleanNãoHabilitar pré-visualização de links
mentionsEveryOnebooleanNãoMencionar todos os participantes (grupos)
mentionedarrayNãoLista de números a serem mencionados

Parâmetros de Cabeçalho

NomeTipoObrigatórioDescrição
apiKeystringSimChave de API para autenticação (enviada no cabeçalho)

Exemplo

Enviar Mensagem de Texto
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

Resposta (200 OK)
{
  "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"
  }
}