Subir certificado de sello digital (CSD)
POST
/invoices/certificate
const url = 'https://api.dev.lade.com.mx/invoices/certificate';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"teamId":"550e8400-e29b-41d4-a716-446655440000","cerFile":"MIIF8DCCA9igAwIBAgI...","keyFile":"MIIFDjBABgkqhkiG9w0...","password":"contraseña-del-csd"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.dev.lade.com.mx/invoices/certificate \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "teamId": "550e8400-e29b-41d4-a716-446655440000", "cerFile": "MIIF8DCCA9igAwIBAgI...", "keyFile": "MIIFDjBABgkqhkiG9w0...", "password": "contraseña-del-csd" }'Sube el CSD (.cer + .key + contraseña, codificados en base64) a Facturapi. Requiere rol OWNER o ADMIN y organización ya configurada. Tras subir un CSD válido, intenta emitir la API key live si aún no existe (best-effort: si falla, el equipo sigue operando con la key de test hasta un reintento posterior).
Authorizations
Sección titulada «Authorizations»Request Bodyrequired
Sección titulada «Request Bodyrequired»Media typeapplication/json
object
teamId
required
string format: uuid
cerFile
required
Archivo .cer codificado en base64
string
keyFile
required
Archivo .key codificado en base64
string
password
required
string format: password
Example
{ "teamId": "550e8400-e29b-41d4-a716-446655440000", "cerFile": "MIIF8DCCA9igAwIBAgI...", "keyFile": "MIIFDjBABgkqhkiG9w0...", "password": "contraseña-del-csd"}Responses
Sección titulada «Responses»Certificado subido correctamente
Media typeapplication/json
object
message
string
csdUploaded
boolean
Example
{ "message": "Certificate uploaded successfully", "csdUploaded": true}Solicitud inválida
Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{ "error": "Validation failed", "field": "email", "message": "Invalid email format"}Sin permisos
Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{ "error": "Forbidden", "message": "You don't have permission to access this resource"}Error al comunicarse con el proveedor externo (Facturapi/Stripe)
Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{ "error": "Facturapi error: the CSD certificate is invalid"}