Saltar al contenido principal

Actualizar CSD

Actualiza el Certificado de Sello Digital (CSD) de una sucursal. Esto reemplaza el CSD activo por uno nuevo.

Endpoint

PUT https://api.lummy.io/v1/branches/{id}/csd
EntornoURL
Producciónhttps://api.lummy.io/v1/branches/{id}/csd
Sandboxhttps://sandbox.lummy.io/v1/branches/{id}/csd

Path Parameters

{
"id": stringrequerido
Identificador único de la sucursal. Debe ser un UUID válido de una sucursal que pertenezca a la organización especificada en el header.
Formato: uuid
}

Headers

{
"Authorization": string,requerido
Token de autenticación en formato Bearer. Se obtiene del endpoint de autenticación y debe incluirse en todas las peticiones para verificar la identidad del usuario.
"x-organization-id": string,requerido
Identificador único de la organización. Debe ser un UUID válido de una organización a la que el usuario autenticado tenga acceso.
Formato: uuid
"x-idempotency": string,requerido
Clave de idempotencia única para esta operación. Debe ser un UUID generado por el cliente. Si se envía la misma clave dos veces, la segunda petición retornará el resultado de la primera sin procesarla nuevamente.
Formato: uuid
"Content-Type": stringrequerido
Tipo de contenido de la petición. Debe ser multipart/form-data para permitir la carga de archivos.
Valores permitidos: "multipart/form-data"
}

Body Parameters (Multipart)

{
"cerFile": string,requerido
Archivo del certificado de sello digital emitido por el SAT. Archivo .cer que contiene la llave pública para firmar CFDIs. Este archivo es proporcionado por el SAT al tramitar el CSD y tiene una vigencia de 4 años.
Formato: binary
"keyFile": string,requerido
Archivo de la llave privada del certificado de sello digital emitido por el SAT. Archivo .key cifrado que contiene la llave privada para firmar CFDIs. Este archivo debe protegerse con una contraseña al momento de su descarga desde el SAT.
Formato: binary
"password": stringrequerido
Contraseña de la llave privada del CSD. Es la contraseña que se configuró al momento de descargar el archivo .key desde el portal del SAT. Esta contraseña es necesaria para descifrar y utilizar la llave privada en el proceso de sellado de CFDIs.
}

Ejemplos de Código

curl -X PUT https://sandbox.lummy.io/branches/${BRANCH_ID}/csd \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}" \
-H "x-idempotency: $(uuidgen)" \
-F "cerFile=@/path/to/nuevo_certificado.cer" \
-F "keyFile=@/path/to/nueva_llave.key" \
-F "password=nueva_contrasena_csd"

Respuestas

Todas las respuestas siguen el formato estándar StandardResponse.

200 OK

CSD actualizado y validado exitosamente.

{
"type": ,opcional
"properties": opcional
}
{
"requestId": "abc123-def456",
"data": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"serialNumber": "00001000000123456789",
"validFrom": "2024-01-01T00:00:00.000Z",
"validTo": "2028-01-01T00:00:00.000Z",
"status": "active"
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/branches/789e8400-e29b-41d4-a716-446655449999/csd",
"method": "PUT"
}

400 Bad Request

  • Archivos faltantes.
  • Contraseña incorrecta.
  • El RFC del certificado no coincide con el RFC de la organización.
  • Certificado caducado o revocado.
{
"requestId": "abc123-def456",
"error": {
"message": "Contraseña incorrecta para el archivo .key",
"code": "ValidationError",
"status": 400
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/branches/789e8400-e29b-41d4-a716-446655449999/csd",
"method": "PUT"
}

404 Not Found

La sucursal especificada no existe.

{
"requestId": "abc123-def456",
"error": {
"message": "Branch not found",
"code": "NotFoundException",
"status": 404
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/branches/789e8400-e29b-41d4-a716-446655449999/csd",
"method": "PUT"
}