Referencia · Retenciones

selladoTimbRetencion

Sella con tu CSD una Retención 2.0 que ya armaste en XML y la timbra.
POST/api/selladoTimbRetencion

Igual que selladoTimbCFDI, pero para el XML de una Retención (retenciones:Retenciones 2.0). Mandas el XML sin Sello, NoCertificado ni Certificado y el servicio lo sella con el CSD que cargaste para el RFC emisor.

Si prefieres mandar la Retención como JSON, usa TimbrarCfdiObj con la llave retenciones.

Lo que mandas

CampoPara qué
xmlBase64obligatoriobase64La Retención en XML, sin sello.
obtenerPDFbooleanotrue para recibir también el PDF.

Lo que regresa

CampoPara qué
Codigotexto«100» timbrado, «506» ya estaba timbrado; cualquier otro, el rechazo.
MensajetextoQué pasó, en español. En un rechazo, la regla del SAT que no se cumplió.
UUIDtextoEl folio fiscal. Sólo con 100 o 506.
XMLBase64base64El CFDI timbrado, completo. Sólo con 100 o 506.
PDFBase64base64El PDF, si lo pediste con obtenerPDF; si no, null.
IdSeguimientotextoLa huella del comprobante: con ella preguntas después por su desenlace (seguimientoCFDI).

Códigos

CódigoHTTPQué significa
100200Timbrado.
506200Ya estaba timbrado: el mismo UUID y el mismo XML. Trátalo como éxito.
301200El comprobante no se pudo armar; el mensaje dice qué campo.
CFDI40xxx…200Una regla del SAT no se cumple (la matriz de validaciones); el mensaje dice cuál.
500200No hay CSD cargado para el RFC del emisor, o no abre.
500503No se sabe si se timbró, o no se pudo enviar. Reintenta con el mismo comprobante.
102401Usuario o contraseña inválidos.
105200No tienes timbres disponibles (sólo en producción). Compra en tu portal y manda el mismo comprobante: no se gastó nada.

Ejemplo

XML=$(base64 < retencion.xml | tr -d '\n')

curl https://pruebas.timbrado.idea15.com/api/selladoTimbRetencion \
  -u "$DUBSARIA_USUARIO:$DUBSARIA_CLAVE" \
  -H "Content-Type: application/json" \
  -d @- <<FIN
{
  "xmlBase64": "$XML",
  "obtenerPDF": false
}
FIN
Forma de la respuesta
{
  "Codigo": "100",
  "Mensaje": "Comprobante timbrado exitosamente.",
  "UUID": "988B5F3A-889E-4C9C-BAC7-0FEE99589858",
  "XMLBase64": "<la Retención timbrada en base64>",
  "PDFBase64": null,
  "IdSeguimiento": "8ce2fefe4ebfae89987a6b49d2f4acbf09542845e2be24e0091cb3aa9ad00d43"
}