Aggiorna contatto
PUT
https://app.sendapp.ai/api/contacts/{id}
Aggiorna uno o più campi di un contatto. Vengono modificate solo le chiavi inviate;
tags SOSTITUISCE l'intero set (usa gli endpoint dei tag per aggiungerne o rimuoverne singoli). Ogni modifica viene registrata nella cronologia del contatto. Accetta anche PATCH. I nomi dei campi personalizzati, con il loro tipo e le scelte ammesse, li trovi con GET /api/contact-fields.
Valori per tipo: sì/no
true o false (anche 1/0, "yes"/"no"), salvato come 1/0 come nella pagina Contatti; numero un numero (anche "12,5"); data YYYY-MM-DD (da una data e ora ISO 8601 viene tenuta la data); scelta singola una delle scelte; scelta multipla un array di scelte o un testo con le scelte separate da virgole. Per le scelte maiuscole e minuscole non contano: il valore viene salvato con la grafia ufficiale. Un valore non valido restituisce 422 con invalid_fields, il motivo per ogni campo, e non viene modificato niente.I campi di tipo AI li compila l'AI di SendApp: non si possono scrivere (
422, in invalid_fields), ma li leggi nel contatto, in custom_fields.Parametri
18 · 2 obbligatori
apikey
obbligatorio
La tua API Key (anche header
X-API-Key).
id
obbligatorio
ID del contatto (intero, nel path). Usa
GET /api/contacts per trovarlo.
name
opzionale
Nome del contatto.
first_name
opzionale
Nome di battesimo: il nome completo viene ricomposto (ha la precedenza su
name). Se il contatto non era ancora diviso, l'altra metà viene presa dal nome attuale.
last_name
opzionale
Cognome: il nome completo viene ricomposto.
phone
opzionale
Telefono in formato internazionale. 409 se appartiene già a un altro contatto.
email
opzionale
Indirizzo email. 409 se appartiene già a un altro contatto.
birthday
opzionale
Data nel formato
YYYY-MM-DD (null per cancellare).
tags
opzionale
Array o stringa separata da virgole — sostituisce tutti i tag.
custom_fields
opzionale
Oggetto con chiave = NOME del campo personalizzato, es.
{"Città": "Roma"}. Ogni valore viene controllato secondo il tipo del campo (vedi le note): nomi sconosciuti o valori non validi restituiscono 422. Invia null o "" per svuotare un valore.
opted_out
opzionale
true = escludi dalle campagne, false = riattiva.
requested_by
opzionale
Con
opted_out=true: chi ha chiesto l'opt-out, contact (la persona, revoca del consenso; è il valore se manca) oppure business (tua decisione, il consenso resta). Un altro valore restituisce 422.
opt_out_reason
opzionale
Con
opted_out=true: motivo con parole tue (massimo 191 caratteri), salvato nella cronologia del contatto.
consent_ads
opzionale
App «Conversioni pubblicitarie»: consenso del contatto alla misurazione degli annunci (comunicare a Meta il clic sull'annuncio e cosa ha fatto dopo).
true = consenso raccolto dal tuo sistema (serve consent_ads_method, altrimenti 422), false = ritiro, vale subito anche per le conversioni in coda. Non è il consenso marketing.
consent_ads_method
opzionale
Obbligatorio con
consent_ads=true: come è stato raccolto il consenso, uno tra form, verbal, signature, email, other (con other serve anche consent_ads_text_ref).
consent_ads_text_ref
opzionale
Versione o riferimento del testo che il contatto ha accettato (massimo 191 caratteri), per esempio
informativa v3, modulo sito 2026-10.
ads_excluded
opzionale
true = escludi il contatto dalle conversioni pubblicitarie (opposizione); separato da
opted_out: i messaggi continuano.
lifecycle_stage
opzionale
Uno tra
lead, qualified, customer, inactive, lost (null per cancellare).
Serve aiuto con l'integrazione? info@sendapp.live