Saltar al contenido principal

Crear Carta Porte

Este endpoint permite crear y sellar un CFDI de Traslado con el complemento Carta Porte v3.1.

  • Método HTTP: POST
  • URL: /invoices

Cabeceras

NombreDescripciónRequerido
x-user-idID del usuario validado por el servicio de autenticación.
x-organization-idID de la organización del usuario.
x-api-keyAPI key para autenticación.
x-idempotencyClave de idempotencia para evitar duplicados.

Estructura del Request

El cuerpo de la petición es un objeto JSON que representa el CrearComprobanteDto.

Objeto Principal: CrearComprobanteDto

CampoTipoRequeridoDescripciónCatálogo SAT
tipoDeComprobantestringObligatorioDebe ser T para CFDI de Traslado.c_TipoDeComprobante
receptorReceptorDtoObligatorioObjeto con los datos del receptor.
conceptosConceptoDto[]ObligatorioArreglo de conceptos.
monedastringObligatorioMoneda del comprobante.c_Moneda
exportacionstringObligatorioClave que indica si el comprobante ampara una operación de exportación.c_Exportacion
lugarExpedicionstringObligatorioCódigo postal del lugar de expedición del comprobante.c_CodigoPostal
fechastring (ISO 8601)ObligatorioFecha y hora de expedición del comprobante.
complementoCartaPorteComplementoCartaPorteDtoObligatorioNodo para el Complemento Carta Porte.

Objeto: ReceptorDto

CampoTipoRequeridoDescripciónCatálogo SAT
rfcstringObligatorioRFC del receptor.
nombrestringObligatorioNombre o Razón Social del receptor.
regimenFiscalstringObligatorioRégimen Fiscal del receptor.c_RegimenFiscal
domicilioFiscalstringObligatorioCódigo Postal del domicilio fiscal del receptor.c_CodigoPostal

Objeto: ConceptoDto

CampoTipoRequeridoDescripciónCatálogo SAT
descripcionstringObligatorioDescripción del concepto.
valorUnitarionumberObligatorioPrecio unitario del concepto.
cantidadnumberObligatorioCantidad de bienes o servicios del concepto.
claveProdServstringObligatorioClave de producto o servicio.c_ClaveProdServ
claveUnidadstringObligatorioClave de unidad de medida.c_ClaveUnidad
objetoImpstringObligatorioClave que indica si el concepto es objeto de impuesto.c_ObjetoImp

Objeto Principal: ComplementoCartaPorteDto

CampoTipoRequeridoDescripciónCatálogo SAT
transpInternacstringObligatorioIndica si es transporte internacional ( o No).
entradaSalidaMercstringCondicionalIndica si hay entrada o salida de mercancías. Requerido si transpInternac es .
paisOrigenDestinostringCondicionalPaís de origen o destino. Requerido si transpInternac es .c_Pais
viaEntradaSalidastringCondicionalVía de entrada o salida. Requerido si transpInternac es .c_CveTransporte
totalDistRecnumberOpcionalDistancia total recorrida en kilómetros.
ubicacionesUbicacionDto[]ObligatorioArreglo de ubicaciones (origen y destino).
mercanciasMercanciaDto[]ObligatorioArreglo de mercancías transportadas.
permSCTstringObligatorioPermiso SCT del autotransporte.c_TipPermiso
numPermisoSCTstringObligatorioNúmero de permiso SCT.
identificacionVehicularIdentificacionVehicularDtoObligatorioIdentificación del vehículo.
segurosSegurosDtoObligatorioSeguros del autotransporte.
remolquesRemolqueDto[]OpcionalRemolques del autotransporte.
figuraTransporteTiposFiguraDto[]ObligatorioFiguras que intervienen en el transporte.

Objeto: UbicacionDto

CampoTipoRequeridoDescripciónCatálogo SAT
tipoUbicacionstringObligatorioTipo de ubicación (Origen o Destino).c_TipoUbicacion
idUbicacionstringOpcionalIdentificador de la ubicación.
rfcRemitenteDestinatariostringObligatorioRFC del remitente o destinatario.
nombreRemitenteDestinatariostringOpcionalNombre del remitente o destinatario.
fechaHoraSalidaLlegadastring (ISO 8601)ObligatorioFecha y hora de salida/llegada.
distanciaRecorridanumberOpcionalDistancia recorrida en kilómetros.
domicilioDomicilioDtoObligatorioDomicilio de la ubicación.
tipoEstacionstringOpcionalTipo de estación.c_TipoEstacion
navegacionDeTraficostringOpcionalNavegación de tráfico.c_NavegacionTrafico

Objeto: DomicilioDto

CampoTipoRequeridoDescripciónCatálogo SAT
callestringOpcionalNombre de la calle.
numeroExteriorstringOpcionalNúmero exterior.
numeroInteriorstringOpcionalNúmero interior.
coloniastringOpcionalColonia o urbanización.
localidadstringOpcionalLocalidad.c_Localidad
referenciastringOpcionalReferencia adicional.
municipiostringObligatorioMunicipio o alcaldía.c_Municipio
estadostringObligatorioEstado.c_Estado
paisstringObligatorioPaís.c_Pais
codigoPostalstringObligatorioCódigo postal.c_CodigoPostal

Objeto: MercanciaDto

CampoTipoRequeridoDescripciónCatálogo SAT
bienesTranspstringObligatorioClave del bien transportado.c_ClaveProdServCP
descripcionstringOpcionalDescripción de la mercancía.
cantidadnumberObligatorioCantidad de bienes transportados.
claveUnidadstringObligatorioClave de la unidad de medida.c_ClaveUnidad
pesoEnKgnumberObligatorioPeso bruto de la mercancía en kilogramos.
materialPeligrosostringOpcionalIndica si la mercancía es material peligroso ( o No).
cveMaterialPeligrosostringCondicionalClave del material peligroso. Requerido si materialPeligroso es .c_MaterialPeligroso
embalajestringOpcionalTipo de embalaje.c_TipoEmbalaje
valorMercancianumberOpcionalValor declarado de la mercancía.
monedastringCondicionalMoneda del valor de la mercancía. Requerido si se especifica valorMercancia.c_Moneda
fraccionArancelariastringOpcionalFracción arancelaria.
uuidComercioExtstringOpcionalUUID del CFDI de comercio exterior.
documentacionAduaneraDocumentacionAduaneraDto[]OpcionalDocumentación aduanera de la mercancía.

Objeto: IdentificacionVehicularDto

CampoTipoRequeridoDescripciónCatálogo SAT
configVehicularstringObligatorioConfiguración vehicular.c_ConfigAutotransporte
placaVMstringObligatorioPlaca del vehículo.
anioModeloVMnumberObligatorioAño del modelo del vehículo.

Objeto: SegurosDto

CampoTipoRequeridoDescripción
aseguraRespCivilstringObligatorioAseguradora de responsabilidad civil.
polizaRespCivilstringObligatorioPóliza de responsabilidad civil.
aseguraCargastringOpcionalAseguradora de carga.
polizaCargastringOpcionalPóliza de seguro de carga.
aseguraMedAmbientestringOpcionalAseguradora de medio ambiente.
polizaMedAmbientestringOpcionalPóliza de seguro de medio ambiente.

Objeto: TiposFiguraDto

CampoTipoRequeridoDescripciónCatálogo SAT
tipoFigurastringObligatorioTipo de figura.c_FiguraTransporte
rfcFigurastringObligatorioRFC de la figura de transporte.
numLicenciastringCondicionalNúmero de licencia. Requerido si tipoFigura es 01.
nombreFigurastringOpcionalNombre de la figura de transporte.
numRegIdTribFigurastringOpcionalNúmero de registro de identificación tributaria (para figuras extranjeras).
residenciaFiscalFigurastringCondicionalResidencia fiscal. Requerido si se especifica numRegIdTribFigura.c_Pais
partesTransportePartesTransporteDto[]OpcionalPartes del transporte en las que participa la figura.

Ejemplos de Código

curl -X POST https://sandbox-api.lummy.com/invoices \
-H "Content-Type: application/json" \
-H "x-user-id: your-user-id" \
-H "x-organization-id: ${LUMMY_ORG_ID}" \
-H "x-api-key: ${LUMMY_API_KEY}" \
-H "x-idempotency: $(uuidgen)" \
-d '{
"tipoDeComprobante": "T",
"receptor": {
"rfc": "XAXX010101000",
"nombre": "Receptor de Prueba",
"regimenFiscal": "601",
"domicilioFiscal": "12345"
},
"conceptos": [
{
"claveProdServ": "84111506",
"cantidad": 1,
"claveUnidad": "E48",
"descripcion": "Servicio de transporte de mercancías",
"valorUnitario": 0,
"objetoImp": "01"
}
],
"moneda": "MXN",
"exportacion": "01",
"lugarExpedicion": "06500",
"fecha": "2025-01-15T12:00:00",
"complementoCartaPorte": {
"transpInternac": "No",
"totalDistRec": 150.5,
"ubicaciones": [
{
"tipoUbicacion": "Origen",
"rfcRemitenteDestinatario": "AAA010101AAA",
"fechaHoraSalidaLlegada": "2025-01-15T08:00:00",
"domicilio": {
"municipio": "015",
"estado": "CMX",
"pais": "MEX",
"codigoPostal": "03900"
}
},
{
"tipoUbicacion": "Destino",
"rfcRemitenteDestinatario": "BBB020202BBB",
"fechaHoraSalidaLlegada": "2025-01-15T12:00:00",
"distanciaRecorrida": 150.5,
"domicilio": {
"municipio": "002",
"estado": "JAL",
"pais": "MEX",
"codigoPostal": "44100"
}
}
],
"mercancias": [
{
"bienesTransp": "10101504",
"cantidad": 1000,
"claveUnidad": "KGM",
"pesoEnKg": 1500
}
],
"permSCT": "TPAF01",
"numPermisoSCT": "ABC123456",
"identificacionVehicular": {
"configVehicular": "T3S1",
"placaVM": "XYZ-789",
"anioModeloVM": 2020
},
"seguros": {
"aseguraRespCivil": "Seguros Atlas S.A.",
"polizaRespCivil": "POL-123456"
},
"figuraTransporte": [
{
"tipoFigura": "01",
"rfcFigura": "AAAA010101AAA",
"numLicencia": "A1234567"
}
]
}
}'

Respuesta Exitosa

En caso de éxito, la respuesta será un objeto JSON con la estructura InvoiceResultDto.

{
"id": "f3a3b1e0-0b7a-4b1a-9b0a-0a0b0c0d0e0f",
"status": "STAMPED",
"cfdi": "<?xml version=..."
}

Respuestas de Error

Código HTTPDescripción
400Datos de entrada inválidos o saldo de timbres insuficiente.
409La clave de idempotencia ya ha sido usada.
500Fallo al procesar el timbrado. El saldo no fue afectado.