API
Entrar
Documentação › Contactos › Criar contacto
POST

Criar contacto

POSThttps://app.sendapp.ai/api/contacts
Cria (ou atualiza via upsert) um único contacto. Deve ter pelo menos um telefone OU um email. Contactos existentes com o mesmo telefone/email são unidos (etiquetas combinadas, metadata unida).
Respostas: 201 Created com o contacto criado — 403 se atingido o limite de contactos do plano — 422 se faltarem tanto o telefone como o email.
Parâmetros
apikey obrigatório
La tua API Key (anche header X-API-Key).
name opcional
Nome completo, até 255 caracteres.
phone obrigatório
Formato internacional (ex. +393391234567). Obrigatório se faltar o email.
email obrigatório
Email válido. Obrigatório se faltar o telefone.
tags opcional
Array de strings ou string separada por vírgulas (ex. "vip,newsletter").
metadata opcional
Objeto JSON com campos personalizados.
Pedido
curl -X POST 'https://app.sendapp.ai/api/contacts' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Mario Rossi",
    "phone": "+393391234567",
    "email": "mario@example.com",
    "tags": ["newsletter", "vip"],
    "metadata": { "source": "landing_page_a" }
  }'
<?php
$ch = curl_init('https://app.sendapp.ai/api/contacts');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: YOUR_API_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode([
        'name'     => 'Mario Rossi',
        'phone'    => '+393391234567',
        'email'    => 'mario@example.com',
        'tags'     => ['newsletter', 'vip'],
        'metadata' => ['source' => 'landing_page_a'],
    ]),
]);
echo curl_exec($ch);
curl_close($ch);
const res = await fetch('https://app.sendapp.ai/api/contacts', {
  method: 'POST',
  headers: { 'X-API-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    name: 'Mario Rossi',
    phone: '+393391234567',
    email: 'mario@example.com',
    tags: ['newsletter', 'vip'],
    metadata: { source: 'landing_page_a' }
  })
});
console.log(await res.json());
Resposta (200 OK)
{
  "status": "success",
  "contact": {
    "id": 4022,
    "name": "Giulia Bianchi",
    "phone": "393334455667",
    "email": "giulia.bianchi@example.com",
    "tags": [
      "lead"
    ],
    "metadata": [],
    "created_at": "2026-07-13 10:00:00",
    "updated_at": "2026-07-13 10:00:00"
  }
}
Erro
{
  "status": "error",
  "message": "Contact limit reached. Please upgrade your plan."
}