Saltar al contenido principal

Actualizar Cliente

Actualiza los datos de un cliente existente. Todos los campos son opcionales, solo se modificarán los que se incluyan en el request.

Endpoint

PATCH https://api.lummy.io/v1/customers/{customerId}
EntornoURL
Producciónhttps://api.lummy.io/v1/customers/{customerId}
Sandboxhttps://sandbox.lummy.io/v1/customers/{customerId}

Request

Headers

Headers requeridos
{
"Authorization": string,requerido
Token JWT obtenido del endpoint de autenticación. Debe incluir el prefijo "Bearer " seguido del token.
Ejemplo: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
"x-organization-id": string,requerido
Identificador único de la organización a la que pertenece el cliente. Debe ser un UUID válido de una organización a la que el usuario autenticado tenga acceso.
Formato: UUID v4
Ejemplo: "550e8400-e29b-41d4-a716-446655440000"
"Content-Type": stringrequerido
Tipo de contenido del cuerpo de la petición.
Ejemplo: "application/json"
}

Path Parameters

Parámetros de ruta
{
"customerId": stringrequerido
Identificador único del cliente que se desea actualizar. Debe ser un UUID válido de un cliente existente en la organización.
Formato: UUID v4
Ejemplo: "550e8400-e29b-41d4-a716-446655440000"
}

Body

Request BodyDatos del cliente a actualizar. Todos los campos son opcionales, solo se modificarán los incluidos en la petición.
{
"rfc": string,opcional
Nuevo Registro Federal de Contribuyentes del cliente. Debe coincidir exactamente con el registrado ante el SAT. Para personas morales son 12 caracteres, para personas físicas son 13 caracteres. Se valida el formato y la estructura según las reglas del SAT.
Longitud: 12-13 caracteres · Patrón: ^[A-ZÑ&]{3,4}[0-9]{6}[A-Z0-9]{3}$
Ejemplo: "XEXX010101000"
"legalName": string,opcional
Nueva razón social o nombre completo del cliente tal como aparece en su Constancia de Situación Fiscal del SAT. Este valor se usará en el campo "Nombre" del receptor en los CFDIs emitidos.
Longitud: 1-254 caracteres
Ejemplo: "Empresa Cliente S.A. de C.V."
"fiscalRegime": string,opcional
Nueva clave del régimen fiscal del cliente según el catálogo c_RegimenFiscal del SAT. Debe corresponder a un régimen vigente y válido para el tipo de persona (física o moral) según el RFC.
Catálogo SAT: c_RegimenFiscal · Longitud exacta: 3 caracteres
Ejemplo: "601"
"fiscalZipCode": string,opcional
Nuevo código postal del domicilio fiscal del cliente. Debe ser un código postal válido de México según el catálogo c_CodigoPostal del SAT.
Catálogo SAT: c_CodigoPostal · Longitud exacta: 5 caracteres · Patrón: ^[0-9]{5}$
Ejemplo: "06500"
"email": string,opcional
Nuevo correo electrónico principal del cliente donde se enviarán los CFDIs emitidos (PDF y XML). Debe ser una dirección de correo válida y activa.
Formato: email · Longitud máxima: 254 caracteres
Ejemplo: "nuevo-email@cliente.com"
"phone": stringopcional
Nuevo número de teléfono de contacto del cliente. Se recomienda incluir el código de país.
Ejemplo: "+525587654321"
}

Response

200 OK

Cliente actualizado exitosamente.

Response Body
{
"requestId": string,requerido
Identificador único de la petición. Útil para trazabilidad y soporte técnico.
Formato: UUID
Ejemplo: "req_abc123-def456-ghi789"
"data": {requerido
Objeto con los datos actualizados del cliente.
"id": string,requerido
Identificador único del cliente en Lummy.
Formato: UUID v4
Ejemplo: "550e8400-e29b-41d4-a716-446655440000"
"rfc": string,requerido
RFC del cliente.
Ejemplo: "XEXX010101000"
"legalName": string,requerido
Razón social del cliente.
Ejemplo: "Empresa Cliente S.A. de C.V."
"fiscalRegime": string,requerido
Clave del régimen fiscal.
Ejemplo: "601"
"fiscalZipCode": string,requerido
Código postal del domicilio fiscal.
Ejemplo: "06500"
"email": string,requerido
Email de contacto actualizado.
Ejemplo: "nuevo-email@cliente.com"
"phone": string,opcional
Teléfono de contacto actualizado (si fue proporcionado).
Ejemplo: "+525587654321"
"createdAt": string,requerido
Fecha y hora de creación del registro (sin cambios).
Formato: ISO 8601
Ejemplo: "2025-01-15T10:30:00.000Z"
"updatedAt": stringrequerido
Fecha y hora de la última actualización.
Formato: ISO 8601
Ejemplo: "2025-01-20T14:00:00.000Z"
},
"timestamp": string,requerido
Marca de tiempo de la respuesta del servidor.
Formato: ISO 8601
Ejemplo: "2025-01-20T14:00:00.000Z"
"path": string,requerido
Ruta del endpoint invocado.
Ejemplo: "/customers/550e8400-e29b-41d4-a716-446655440000"
"method": stringrequerido
Método HTTP utilizado.
Ejemplo: "PATCH"
}

404 Not Found

El cliente especificado no existe en la organización.

{
"requestId": "abc123-def456",
"error": {
"message": "Cliente no encontrado",
"code": "CustomerNotFoundError",
"status": 404
},
"timestamp": "2025-01-20T14:00:00.000Z",
"path": "/customers/550e8400-e29b-41d4-a716-446655440000",
"method": "PATCH"
}

400 Bad Request

Error de validación en los datos enviados.

{
"requestId": "abc123-def456",
"error": {
"message": "Datos invalidos",
"code": "ValidationError",
"status": 400
},
"timestamp": "2025-01-20T14:00:00.000Z",
"path": "/customers/550e8400-e29b-41d4-a716-446655440000",
"method": "PATCH"
}

Ejemplos de Código

curl -X PATCH https://sandbox.lummy.io/customers/550e8400-e29b-41d4-a716-446655440000 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}" \
-d '{
"email": "nuevo-email@cliente.com",
"phone": "+525587654321"
}'