ZAP-API
PreçosCasos de UsoBlogDocsLogin
Começar grátis
  1. Blog
  2. Como enviar mensagem WhatsApp via API em PHP
Tutorial

Como enviar mensagem WhatsApp via API em PHP

Integre WhatsApp ao seu projeto PHP, WordPress ou WooCommerce usando cURL puro — sem instalar bibliotecas. Tutorial com exemplos prontos para copiar e usar.

22 de fevereiro de 2026·7 min de leitura·Equipe Editorial ZAP API

PHP está presente em mais de 77% dos sites com servidor web conhecido — incluindo WordPress, WooCommerce e Laravel. Integrar WhatsApp via API é simples e pode ser feito sem nenhuma biblioteca adicional, apenas com cURL nativo do PHP.

Pré-requisitos

  • PHP 7.4+
  • Extensão cURL habilitada (padrão na maioria dos hostings)
  • Conta na ZAP API (trial 7 dias, sem cartão)

Passo 1: Função base com cURL

<?php

define('ZAP_TOKEN',    'tk_seu_token_aqui');
define('ZAP_INSTANCE', 'inst_seu_id_aqui');
define('ZAP_BASE',     'https://zap-api.tech/v1');

function zapRequest(string $method, string $endpoint, array $body = []): array
{
    $url = ZAP_BASE . $endpoint;
    $ch  = curl_init($url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST,  $method);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Authorization: Bearer ' . ZAP_TOKEN,
        'Content-Type: application/json',
    ]);

    if (!empty($body)) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body));
    }

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    return [
        'status' => $httpCode,
        'data'   => json_decode($response, true),
    ];
}

Passo 2: Enviar mensagem de texto

function enviarTexto(string $phone, string $mensagem): array
{
    return zapRequest('POST', '/instances/' . ZAP_INSTANCE . '/send', [
        'phone' => $phone,
        'type'  => 'text',
        'body'  => $mensagem,
    ]);
}

// Uso
$resultado = enviarTexto('5511999998888', 'Ola! Mensagem via PHP + ZAP API.');
var_dump($resultado);

Passo 3: Enviar imagem, documento e áudio

function enviarImagem(string $phone, string $url, string $legenda = ''): array
{
    return zapRequest('POST', '/instances/' . ZAP_INSTANCE . '/send', [
        'phone'    => $phone,
        'type'     => 'image',
        'mediaUrl' => $url,
        'caption'  => $legenda,
    ]);
}

function enviarDocumento(string $phone, string $url, string $nomeArquivo): array
{
    return zapRequest('POST', '/instances/' . ZAP_INSTANCE . '/send', [
        'phone'    => $phone,
        'type'     => 'document',
        'mediaUrl' => $url,
        'fileName' => $nomeArquivo,
    ]);
}

// Exemplos
enviarImagem('5511999998888', 'https://loja.com/banner.jpg', 'Promocao de Natal!');
enviarDocumento('5511999998888', 'https://loja.com/boleto.pdf', 'boleto.pdf');

Passo 4: Receber mensagens (webhook)

<?php
// webhook.php — coloque este arquivo no seu servidor

require_once 'zap.php';  // o arquivo com as funções acima

$payload = json_decode(file_get_contents('php://input'), true);

if (
    isset($payload['event']) &&
    $payload['event'] === 'message.received' &&
    !$payload['data']['fromMe']
) {
    $phone    = $payload['data']['phone'];
    $mensagem = $payload['data']['body'];
    $nome     = $payload['data']['name'] ?? 'cliente';

    // Logar
    error_log("Mensagem de $nome ($phone): $mensagem");

    // Responder automaticamente
    enviarTexto($phone, "Ola, $nome! Recebemos sua mensagem. Em breve te atendemos.");
}

http_response_code(200);
echo json_encode(['ok' => true]);

Integração com WooCommerce

Para lojas WordPress, adicione notificações automáticas ao WooCommerce:

// No functions.php do tema ou em um plugin customizado

add_action('woocommerce_order_status_processing', function ($order_id) {
    require_once plugin_dir_path(__FILE__) . 'zap.php';

    $order  = wc_get_order($order_id);
    $phone  = $order->get_billing_phone();
    $nome   = $order->get_billing_first_name();
    $numero = $order->get_order_number();

    // Formatar para padrao internacional (sem +)
    $phone_formatado = '55' . preg_replace('/D/', '', $phone);

    $mensagem  = "Ola, $nome!

";
    $mensagem .= "Seu pedido #$numero foi confirmado e esta sendo preparado.
";
    $mensagem .= "Acompanhe em: " . $order->get_view_order_url();

    enviarTexto($phone_formatado, $mensagem);
});

Configurar webhook via PHP

$resultado = zapRequest('PUT', '/instances/' . ZAP_INSTANCE . '/webhook', [
    'url'    => 'https://seu-site.com/webhook.php',
    'secret' => 'um-secret-forte',
]);

echo 'Webhook configurado: ' . json_encode($resultado['data']);

Validar assinatura do webhook (segurança)

function validarAssinatura(string $secret): bool
{
    $payload   = file_get_contents('php://input');
    $signature = $_SERVER['HTTP_X_ZAP_SIGNATURE'] ?? '';
    $expected  = 'sha256=' . hash_hmac('sha256', $payload, $secret);

    return hash_equals($expected, $signature);
}

// No webhook.php
if (!validarAssinatura('seu-secret-aqui')) {
    http_response_code(401);
    exit(json_encode(['error' => 'Assinatura invalida']));
}

Conclusão

Com menos de 60 linhas de PHP puro — sem instalar nada — você integra WhatsApp ao seu sistema. Funciona em qualquer hosting compartilhado, WordPress, Laravel ou qualquer framework PHP. A partir de R$29/mês* com trial de 7 dias sem cartão.

Criar instância grátis →

Experimente a ZAP API gratuitamente

7 dias de trial sem precisar de cartão. A partir de R$29/mês*.

Criar instância grátis
EE
Equipe Editorial ZAP APIRevisão técnica

Desenvolvedores e especialistas em integrações WhatsApp. Todo conteúdo passa por revisão técnica para garantir precisão e aplicabilidade.

Ver perfil completoDocumentaçãoTrial grátis

Leia também

Tutorial · 06 de jun. de 2026 · 8 min

Enviar mensagem WhatsApp via API em Node.js: exemplo funcional (2026)

Um fetch + JSON e sua mensagem chega no WhatsApp em menos de 10 minutos. Tutorial com exemplos de texto, imagem, áudio e webhook para receber respostas — sem instalar SDK.

Tutorial · 23 de fev. de 2026 · 7 min

Como enviar mensagem WhatsApp via API em Python

Guia prático para integrar WhatsApp ao seu projeto Python usando requests. Envie texto, imagens e documentos, receba mensagens com Flask e automatize alertas e notificações.

Tutorial · 07 de mar. de 2026 · 10 min

Como enviar mensagem WhatsApp via API em C#

Tutorial para integrar WhatsApp ao C#/.NET usando HttpClient nativo. Envie texto, imagens e documentos, receba mensagens via webhook com ASP.NET.

Tutorial · 07 de mar. de 2026 · 11 min

Como enviar mensagem WhatsApp via API em Java

Integre WhatsApp ao Java com HttpClient nativo ou Spring Boot. Envie mensagens, receba webhooks e implemente notificações automáticas.

Tópicos:Chatbots com IAE-commerceAPI WhatsApp

Explore também

Casos de usoWhatsApp API por segmentoComparativoZAP API vs alternativasPreçosPlanos e o que está inclusoGlossárioTermos técnicos de WhatsApp API
ZAP-API

API REST para WhatsApp com webhooks assinados, Meta Pixel/CAPI e compliance LGPD. Sem aprovação da Meta.

Status operacional🇧🇷 Feito no Brasil

Produto

  • Preços
  • Casos de uso
  • Comparativo
  • Trial grátis
  • Dashboard

Recursos

  • Documentação
  • Blog
  • Glossário
  • RSS Feed

Empresa

  • Sobre
  • Imprensa
  • Termos de uso
  • Privacidade
  • Criar conta
  • Login

Contato

  • [email protected]
  • [email protected]
  • Resposta em até 24h úteis
© 2026 ZAP-API — Todos os direitos reservados·CNPJ 42.130.949/0001-56·Termos·Privacidade

Desenvolvido por PreviusIA