ZAPAPI - Documentação

Esta documentação descreve como utilizar a API para gerenciar instâncias e enviar mensagens de WhatsApp.

🔑 Autenticação

Todas as requisições para a API precisam de uma chave de autenticação (API key) no cabeçalho HTTP.

Cabeçalho HTTP

Nome: apikey
Exemplo: `apikey: seu_token`

⚡️ Endpoints

Os endpoints são compostos pelo caminho `/{route}/{instance}`.

instance se refere ao nome da instance criado no seu painel.

Os exemplos em javascript são só para estudo. Você deve proteger a sua apikey, afinal é seu numero que está conectado.

1. Obter status da instância

Endpoint: /status/{instance}

Método: GET

Descrição: Retorna o estado da conexão da instância (conectada, desconectada, etc.).

CURL
curl --location --request GET 'https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1/status/name_instance' \
--header 'apikey: seu_token'
PHP
<?php
$host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
$apiKey = "seu_token";
$instance = "name_instance";
$url = "{$host}/status/{$instance}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: {$apiKey}"]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
JavaScript (Fetch)
const host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
const apiKey = "seu_token";
const instance = "name_instance";
fetch(`${host}/status/${instance}`, {
    method: 'GET',
    headers: { 'apikey': apiKey }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
2. Conectar a instância

Endpoint: /connect/{instance}

Método: GET

Descrição: Inicia o processo de conexão para a instância, gerando um QR Code para leitura.

CURL
curl --location --request GET 'https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1/connect/name_instance' \
--header 'apikey: seu_token'
PHP
<?php
$host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
$apiKey = "seu_token";
$instance = "name_instance";
$url = "{$host}/connect/{$instance}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: {$apiKey}"]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
JavaScript (Fetch)
const host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
const apiKey = "seu_token";
const instance = "name_instance";
fetch(`${host}/connect/${instance}`, {
    method: 'GET',
    headers: { 'apikey': apiKey }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
3. Desconectar a instância (Logout)

Endpoint: /logout/{instance}

Método: DELETE

Descrição: Desconecta a instância sem excluí-la, exigindo uma nova leitura de QR Code para reconectar.

CURL
curl --location --request DELETE 'https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1/logout/name_instance' \
--header 'apikey: seu_token'
PHP
<?php
$host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
$apiKey = "seu_token";
$instance = "name_instance";
$url = "{$host}/logout/{$instance}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: {$apiKey}"]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
JavaScript (Fetch)
const host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
const apiKey = "seu_token";
const instance = "name_instance";
fetch(`${host}/logout/${instance}`, {
    method: 'DELETE',
    headers: { 'apikey': apiKey }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
4. Enviar mensagem de texto

Endpoint: /sendtext/{instance}

Método: POST

Parâmetros:

  • number: Número de telefone do destinatário (com código do país).
  • text: Conteúdo da mensagem.

CURL
curl --location --request POST 'https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1/sendtext/name_instance' \
--header 'Content-Type: application/json' \
--header 'apikey: seu_token' \
--data '{
    "number": "5581999999999",
    "text": "Olá! Esta é uma mensagem de teste."
}'
PHP
<?php
$host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
$apiKey = "seu_token";
$instance = "name_instance";
$url = "{$host}/sendtext/{$instance}";
$payload = ["number" => "5581999999999", "text" => "Mensagem enviada via PHP."];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "apikey: {$apiKey}"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
JavaScript (Fetch)
const host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
const apiKey = "seu_token";
const instance = "name_instance";
const payload = { number: "5581999999999", text: "Mensagem enviada via JavaScript." };
fetch(`${host}/sendtext/${instance}`, {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'apikey': apiKey
    },
    body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
5. Enviar áudio do WhatsApp

Endpoint: /sendaudio/{instance}

Método: POST

Parâmetros:

  • number: Número de telefone do destinatário.
  • urlaudio: URL do arquivo de áudio.

CURL
curl --location --request POST 'https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1/sendaudio/name_instance' \
--header 'Content-Type: application/json' \
--header 'apikey: seu_token' \
--data '{
    "number": "5581999999999",
    "urlaudio": "https://example.com/audio/test.mp3"
}'
PHP
<?php
$host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
$apiKey = "seu_token";
$instance = "name_instance";
$url = "{$host}/sendaudio/{$instance}";
$payload = ["number" => "5581999999999", "urlaudio" => "https://example.com/audio/test.mp3"];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "apikey: {$apiKey}"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
JavaScript (Fetch)
const host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
const apiKey = "seu_token";
const instance = "name_instance";
const payload = { number: "5581999999999", urlaudio: "https://example.com/audio/test.mp3" };
fetch(`${host}/sendaudio/${instance}`, {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'apikey': apiKey
    },
    body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
6. Enviar mídia (imagem, vídeo, documento, etc.)

Endpoint: /sendmedia/{instance}

Método: POST

Parâmetros:

  • number: Número de telefone do destinatário.
  • url: URL do arquivo de mídia.
  • mediatype: Tipo de mídia (ex: image, video, document, audio).
  • caption: Legenda da mídia (opcional).

CURL
curl --location --request POST 'https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1/sendmedia/name_instance' \
--header 'Content-Type: application/json' \
--header 'apikey: seu_token' \
--data '{
    "number": "5581999999999",
    "url": "https://example.com/images/test.jpg",
    "mediatype": "image",
    "caption": "Esta é uma imagem de teste."
}'
PHP
<?php
$host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
$apiKey = "seu_token";
$instance = "name_instance";
$url = "{$host}/sendmedia/{$instance}";
$payload = [
    "number" => "5581999999999",
    "url" => "https://example.com/images/test.jpg",
    "mediatype" => "image",
    "caption" => "Imagem enviada via PHP."
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "apikey: {$apiKey}"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
JavaScript (Fetch)
const host = "https://whatsapi.neexfy.com/whatsapi/api/v1/api/v1";
const apiKey = "seu_token";
const instance = "name_instance";
const payload = {
    number: "5581999999999",
    url: "https://example.com/images/test.jpg",
    mediatype: "image",
    caption: "Imagem enviada via JavaScript."
};
fetch(`${host}/sendmedia/${instance}`, {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'apikey': apiKey
    },
    body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));