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));