SendApp Docs
Iniciar sesión

Actualizar contacto

PUT https://app.sendapp.ai/api/contacts/{id}
Actualiza uno o varios campos de un contacto. Solo se modifican las claves enviadas; tags SUSTITUYE el conjunto completo (usa los endpoints de etiquetas para añadir o quitar etiquetas sueltas). Cada cambio queda registrado en el historial del contacto. También acepta PATCH.
Los nombres de los campos personalizados, con su tipo y las opciones permitidas, los encuentras con GET /api/contact-fields.
Valores por tipo: sí/no true o false (también 1/0, "yes"/"no"), guardado como 1/0 como en la página Contactos; número un número (también "12,5"); fecha YYYY-MM-DD (de una fecha y hora ISO 8601 se conserva la fecha); opción única una de las opciones; opción múltiple un array de opciones o un texto con las opciones separadas por comas. En las opciones no importan mayúsculas ni minúsculas: el valor se guarda con la grafía oficial. Un valor no válido devuelve 422 con invalid_fields, el motivo de cada campo, y no se modifica nada.
Los campos de tipo IA los rellena la IA de SendApp: no se pueden escribir (422, en invalid_fields), pero los lees en el contacto, en custom_fields.

Parámetros

18 · 2 obligatorios
apikey obligatorio
Tu API Key (también sirve la cabecera X-API-Key).
id obligatorio
ID del contacto (entero, en la ruta). Usa GET /api/contacts para encontrarlo.
name opcional
Nombre del contacto.
first_name opcional
Nombre de pila: el nombre completo se recompone (tiene prioridad sobre name). Si el contacto aún no estaba dividido, la otra mitad se toma del nombre actual.
last_name opcional
Apellido: el nombre completo se recompone.
phone opcional
Teléfono en formato internacional. 409 si ya pertenece a otro contacto.
email opcional
Dirección de email. 409 si ya pertenece a otro contacto.
birthday opcional
Fecha en formato YYYY-MM-DD (null para borrarla).
tags opcional
Array o cadena separada por comas — sustituye todas las etiquetas.
custom_fields opcional
Objeto con clave = NOMBRE del campo personalizado, p. ej. {"Ciudad": "Roma"}. Cada valor se comprueba según el tipo del campo (ver las notas): nombres desconocidos o valores no válidos devuelven 422. Envía null o "" para vaciar un valor.
opted_out opcional
true = excluir de las campañas, false = reactivar.
requested_by opcional
Con opted_out=true: quién pidió la baja, contact (la persona, revocación del consentimiento; es el valor si falta) o business (decisión tuya, el consentimiento se mantiene). Otro valor devuelve 422.
opt_out_reason opcional
Con opted_out=true: motivo con tus palabras (máximo 191 caracteres), guardado en el historial del contacto.
consent_ads opcional
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 opcional
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 opcional
Versione o riferimento del testo che il contatto ha accettato (massimo 191 caratteri), per esempio informativa v3, modulo sito 2026-10.
ads_excluded opcional
true = escludi il contatto dalle conversioni pubblicitarie (opposizione); separato da opted_out: i messaggi continuano.
lifecycle_stage opcional
Uno de lead, qualified, customer, inactive, lost (null para borrarlo).
¿Necesitas ayuda con la integración? info@sendapp.live