Eliminar contacto
DELETE /api/contacts/:id
Sección titulada « /api/contacts/»Elimina un contacto específico del sistema utilizando su identificador único.
Parámetros de ruta
Sección titulada «Parámetros de ruta»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | string | Sí | ID único del contacto a eliminar |
Respuesta exitosa (200)
Sección titulada «Respuesta exitosa (200)»{ "id": "contact-uuid-123", "name": "Juan", "lastName": "Pérez", "phone": "3001234567", "countryCode": "57", "status": "ACTIVE", "birthDate": "1990-01-15T00:00:00.000Z", "origin": "API", "organizationId": "org-uuid", "customValues": [], "tags": [], "createdAt": "2024-01-01T10:00:00.000Z", "updatedAt": "2024-01-01T10:00:00.000Z", "deletedAt": "2024-01-01T15:30:00.000Z"}Errores posibles
Sección titulada «Errores posibles»| Código | Descripción |
|---|---|
400 | ID de contacto inválido |
401 | API Key faltante o inválida |
404 | Contacto no encontrado o ya eliminado |
500 | Error interno del servidor |
Ejemplos de uso
Sección titulada «Ejemplos de uso»curl -X DELETE "https://app.sendme123.com/api/contacts/contact-uuid-123" \ -H "api-key: tu-api-key-aqui" \ -H "Content-Type: application/json"const eliminarContacto = async (contactId) => { try { const response = await axios.delete(`https://app.sendme123.com/api/contacts/${contactId}`, { headers: { 'api-key': 'tu-api-key-aqui', 'Content-Type': 'application/json' } });
console.log('Contacto eliminado:', response.data); return response.data; } catch (error) { console.error('Error al eliminar:', error.response?.data || error.message); throw error; }};
// UsoeliminarContacto('contact-uuid-123');import requests
contact_id = 'contact-uuid-123'headers = {'api-key': 'tu-api-key-aqui', 'Content-Type': 'application/json'}
response = requests.delete(f'https://app.sendme123.com/api/contacts/{contact_id}', headers=headers)
if response.status_code == 200: deleted_contact = response.json() print('Contacto eliminado:', deleted_contact)else: print('Error:', response.status_code, response.text)Casos de uso
Sección titulada «Casos de uso»Eliminación con confirmación
Sección titulada «Eliminación con confirmación»async function eliminarContactoConConfirmacion(contactId) { // Primero obtener información del contacto const contacto = await fetch("https://app.sendme123.com/api/contacts/" + contactId, { headers: { 'api-key': 'tu-api-key-aqui' } });
if (!contacto.ok) { throw new Error('Contacto no encontrado'); }
const datosContacto = await contacto.json();
// Confirmar eliminación const confirmar = confirm('¿Eliminar contacto ' + datosContacto.name + ' ' + datosContacto.lastName + '?');
if (confirmar) { const response = await fetch("https://app.sendme123.com/api/contacts/" + contactId, { method: 'DELETE', headers: { 'api-key': 'tu-api-key-aqui' } });
return response.json(); }
return null;}Eliminación en lote por IDs
Sección titulada «Eliminación en lote por IDs»async function eliminarContactosEnLote(contactIds) { const resultados = [];
for (const id of contactIds) { try { const response = await fetch("https://app.sendme123.com/api/contacts/" + id, { method: 'DELETE', headers: { 'api-key': 'tu-api-key-aqui' } });
if (response.ok) { const contactoEliminado = await response.json(); resultados.push({ id, success: true, data: contactoEliminado }); } else { resultados.push({ id, success: false, error: response.status }); } } catch (error) { resultados.push({ id, success: false, error: error.message }); } }
return resultados;}
// Usoconst idsAEliminar = ['contact-1', 'contact-2', 'contact-3'];const resultados = await eliminarContactosEnLote(idsAEliminar);console.log('Resultados de eliminación:', resultados);Verificar antes de eliminar
Sección titulada «Verificar antes de eliminar»async function eliminarContactoSeguro(contactId) { try { // Verificar que el contacto existe const verificacion = await fetch("https://app.sendme123.com/api/contacts/" + contactId, { method: 'HEAD', // Solo verificar existencia headers: { 'api-key': 'tu-api-key-aqui' } });
if (!verificacion.ok) { throw new Error('Contacto no encontrado'); }
// Proceder con la eliminación const response = await fetch("https://app.sendme123.com/api/contacts/" + contactId, { method: 'DELETE', headers: { 'api-key': 'tu-api-key-aqui' } });
return await response.json();
} catch (error) { console.error('Error al eliminar contacto:', error); throw error; }}Consideraciones importantes
Sección titulada «Consideraciones importantes»Impacto en mensajes
Los mensajes enviados a este contacto permanecerán en el historial, pero el contacto aparecerá como eliminado.
Estados del contacto después de eliminación
Sección titulada «Estados del contacto después de eliminación»Después de la eliminación:
- El contacto ya no aparecerá en las listas de contactos activos
- Los mensajes históricos mantendrán la referencia al contacto
- El campo
deletedAtse establecerá con la fecha/hora de eliminación - No se podrán enviar nuevos mensajes a este contacto