Ir para o conteúdo
WhatsMarketingDeveloper Hub

Primeiros passos

Em dez minutos você terá uma chave, uma requisição funcionando e um webhook recebido.

1. Crie uma chave de API

  1. Entre no micuenta com um usuário administrador.
  2. Vá em Integrações → Webhooks e API e clique em Nova chave. O painel pede para confirmar que é você (senha ou código) antes de continuar.
  3. Dê a ela um nome que diga para que serve («CRM HubSpot», «Site Shopify»), escolha as permissões necessárias e, se quiser, uma data de expiração.
  4. Copie a chave. Ela começa com wm_live_ e é exibida uma única vez: no banco guardamos apenas o seu hash.

Se você perder a chave, revogue-a e crie outra. Revogar corta o acesso na hora e fica registrado no log de atividade.

2. Sua primeira requisição

A API fica em https://micuenta.whatsmarketing.es/api/v1 e a chave vai no cabeçalho Authorization:

curl
curl https://micuenta.whatsmarketing.es/api/v1/contacts?pageSize=5 \
  -H "Authorization: Bearer wm_live_SUA_CHAVE"
Node.js
const res = await fetch('https://micuenta.whatsmarketing.es/api/v1/contacts?pageSize=5', {
  headers: { Authorization: `Bearer ${process.env.WM_API_KEY}` },
});
const { data, meta } = await res.json();
console.log(meta.total, 'contatos');
Python
import os, requests

r = requests.get(
    "https://micuenta.whatsmarketing.es/api/v1/contacts",
    params={"pageSize": 5},
    headers={"Authorization": f"Bearer {os.environ['WM_API_KEY']}"},
    timeout=30,
)
r.raise_for_status()
print(r.json()["meta"]["total"], "contatos")
PHP
<?php
$ch = curl_init('https://micuenta.whatsmarketing.es/api/v1/contacts?pageSize=5');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('WM_API_KEY')],
]);
$res = json_decode(curl_exec($ch), true);
echo $res['meta']['total'], " contatos\n";

A resposta traz data (os contatos), meta (página, tamanho, total), tabs e summary. Se você vir 401 API_KEY_INVALID, confira a chave; se vir 403 API_KEY_SCOPE_MISSING, a chave não tem a permissão contacts:read.

3. Crie um contato a partir do seu site

curl
curl -X POST https://micuenta.whatsmarketing.es/api/v1/contacts \
  -H "Authorization: Bearer wm_live_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "fullName": "Laura Pérez",
    "primaryPhone": "+34612345678",
    "primaryEmail": "laura@ejemplo.com",
    "source": "WEBSITE_FORM",
    "tags": ["web"],
    "consent": { "given": true, "how": "WEBSITE_FORM" }
  }'

O telefone vai sempre com o prefixo internacional. Se já existia um contato com esse telefone, você recebe 409 CONTACT_PHONE_EXISTS com o seu contactId: use PATCH /contacts/{id} para completá-lo.

4. Receba seu primeiro webhook

  1. Em Integrações → Webhooks e API → Novo webhook, informe a URL https do seu servidor e marque contact.created.
  2. Guarde o segredo whsec_… (também é exibido uma única vez).
  3. Crie um contato como no passo 3: em segundos chega um POST à sua URL com o evento.
  4. Verifique a assinatura antes de fazer qualquer coisa com o corpo: está explicado em Webhooks.

Para testar localmente sem abrir portas, use um túnel (ngrok, Cloudflare Tunnel) e informe essa URL no webhook.

5. Próximos passos