API
Se connecter
Documentation › Contacts › Créer un contact
POST

Créer un contact

POSThttps://app.sendapp.ai/api/contacts
Crée (ou met à jour via upsert) un seul contact. Il doit avoir au moins un téléphone OU un e-mail. Les contacts existants avec le même téléphone/e-mail sont fusionnés (tags combinés, métadonnées fusionnées).
Réponses : 201 Created avec le contact créé — 403 si la limite de contacts du plan est atteinte — 422 si le téléphone et l'e-mail sont tous deux absents.
Paramètres
apikey obligatoire
La tua API Key (anche header X-API-Key).
name facultatif
Nom complet, jusqu'à 255 caractères.
phone obligatoire
Format international (ex. +393391234567). Obligatoire si l'e-mail est absent.
email obligatoire
E-mail valide. Obligatoire si le téléphone est absent.
tags facultatif
Tableau de chaînes ou chaîne séparée par des virgules (ex. "vip,newsletter").
metadata facultatif
Objet JSON avec des champs personnalisés.
Requête
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());
Réponse (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"
  }
}
Erreur
{
  "status": "error",
  "message": "Contact limit reached. Please upgrade your plan."
}