DocumentaciónCarrito
Carrito
Cotiza y genera órdenes, sube guías de envío y administra las direcciones de tus clientes.
Cotizar / generar orden
Bearerscope: carritoCotiza un carrito con precios, descuentos y costo de envío ya calculados. En modo de prueba obtienes la cotización completa sin generar el pedido.
curl -X POST https://developers.syscom.mx/api/v1/carrito/generar \
-H 'Authorization: Bearer TU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"testmode": true,
"tipo_entrega": "sucursal",
"direccion": { "sucursal": "chihuahua", "atencion_a": "PRUEBA API" },
"metodo_pago": "transferencia",
"tipo_pago": "PUE",
"moneda": "usd",
"uso_cfdi": "G01",
"productos": [{ "id": 210627, "cantidad": 1, "tipo": "nuevo" }]
}'Cuerpo de la petición
productosarrayrequeridoRenglones del pedido: [{ id, cantidad, tipo }]. tipo es la clase de precio (nuevo, a, b, c, d, e). Puede enviarse como arreglo o como string JSON; id y cantidad aceptan número o texto numérico ("223114"). Máximo 500 productos por orden. Si algún producto no existe o no está a la venta, el pedido no se crea y se responde 400 indicando cuáles.
tipo_entregastringrequeridosucursal, domicilio u ocurre.
direccionobject|stringObjeto (o string JSON) con la dirección. Obligatoria y completa en entregas a domicilio u ocurre (salvo que envíes con tu propia guía: fletera=guia_cliente); con tipo_entrega=sucursal solo requiere { sucursal, atencion_a } (sucursal = código de /carrito/sucursales). domicilio/ocurre → { atencion_a, calle, num_ext, num_int, colonia, ciudad, estado, pais, codigo_postal, telefono }. estado es el código SAT del estado (ver estado_sat en /carrito/estados, p.ej. 08); el municipio del CP sobrescribe ciudad.
fleterastringCódigo de fletera (ver /carrito/fleteras). Obligatoria en entregas a domicilio; en sucursal/ocurre se ignora.
monedastringusd (def.) o mxn.
uso_cfdistringrequeridoCódigo de uso de CFDI (ver /carrito/cfdi).
metodo_pagostringrequeridoClave del método de pago (ver /carrito/pago): transferencia, paynet, sucursal-*, credito-* (1/7/15/30/45/60/75/90).
tipo_pagostringPUE (def.) o PPD; afecta forma_pago. En crédito se fuerza a PPD.
orden_comprastringReferencia de orden de compra del cliente (opcional).
ordenarflagtrue → convierte la cotización en pedido real (genera folio_pedido y aparta existencias); requiere stock suficiente. Default: false (solo cotización).
forzarflagCon ordenar=true: crea el pedido aunque no haya existencia suficiente (omite la validación de stock).
testmodeflagtrue → solo cotiza, no genera el pedido (recomendado para pruebas).
pdf_guiafileSolo en entregas a domicilio y enviando el body como multipart/form-data: adjunta tu guía prepagada, el pedido se envía con tu paquetería y no se cobra flete. jpg/png/jpeg/doc/docx/pdf, máx. 6 MB.
Códigos de estado
Cotización calculada (o error de validación de negocio en { error }).
Algún dato del pedido es inválido o falta: la respuesta incluye detalles[] con el campo, el problema y un ejemplo. También cuando un producto no existe o no está a la venta (code: productos_no_encontrados).
Token ausente, inválido o revocado.
Cuenta sin acceso o sin scope carrito.
Método no permitido (usar POST).
Límite de peticiones excedido.
Pedido real (sin testmode) deshabilitado en el servidor.
Error interno.
Subir guía
Bearerscope: carritoSube tu guía de envío prepagada a pedidos que aún no hayan sido enviados: el pedido queda marcado para enviarse con tu paquetería (sin mensajería de SYSCOM). Acepta imágenes y PDF de hasta 6 MB.
curl -X POST https://developers.syscom.mx/api/v1/carrito/guia \
-H 'Authorization: Bearer TU_TOKEN' \
-F 'folio=000000' \
-F '[email protected]'Cuerpo de la petición
foliostringrequeridoFolio del pedido/factura.
pdf_guiafilerequeridoArchivo de la guía (jpg/png/jpeg/doc/docx/pdf, máx. 6 MB).
Códigos de estado
Guía registrada (o { error } si: el folio no existe, el folio ya fue facturado, el pedido tiene entrega en sucursal, o el formato del archivo es inválido).
pdf_guia ausente.
Token ausente, inválido o revocado.
Cuenta sin acceso o sin scope carrito.
Límite de peticiones excedido.
Error interno.
Direcciones de envío
Bearerscope: carritoLista las direcciones de envío guardadas del cliente.
curl 'https://developers.syscom.mx/api/v1/carrito/direcciones' \
-H 'Authorization: Bearer TU_TOKEN'Códigos de estado
Direcciones del cliente (arreglo).
Token ausente, inválido o revocado.
Cuenta sin acceso o sin scope carrito.
Límite de peticiones excedido.
Error interno.
Crear dirección
Bearerscope: carritoGuarda una nueva dirección de envío. Valida el país y, para México, el estado según el código postal.
curl -X POST https://developers.syscom.mx/api/v1/carrito/direcciones \
-H 'Authorization: Bearer TU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"atencion_a": "Juan Perez",
"calle": "Av. Tecnologico",
"num_ext": "1234",
"colonia": "Centro",
"ciudad": "Chihuahua",
"estado": "08",
"pais": "MEX",
"codigo_postal": "31000",
"telefono": "6141234567"
}'Cuerpo de la petición
atencion_astringrequeridoPersona/atención.
callestringrequeridoCalle.
num_extstringrequeridoNúmero exterior.
num_intstringNúmero interior (opcional).
coloniastringrequeridoColonia.
ciudadstringrequeridoCiudad.
estadostringrequeridoCódigo SAT del estado (ver estado_sat en /carrito/estados, p.ej. 08 para Chihuahua). En México se valida contra el CP.
paisstringrequeridoCódigo de país (ver /carrito/paises, p.ej. MEX).
codigo_postalstringrequeridoCódigo postal.
telefonostringrequeridoTeléfono.
Códigos de estado
Dirección creada (o { error } si falla la validación de país/CP).
Faltan parámetros obligatorios de la dirección.
Token ausente, inválido o revocado.
Cuenta sin acceso o sin scope carrito.
Límite de peticiones excedido.
Error interno.
Actualizar dirección
Bearerscope: carritoActualiza una dirección de envío. Debes enviar todos los datos, porque reemplaza la dirección completa.
curl -X PUT https://developers.syscom.mx/api/v1/carrito/direcciones/901 \
-H 'Authorization: Bearer TU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"atencion_a": "Juan Perez",
"calle": "Av. Tecnologico",
"num_ext": "1234",
"colonia": "Centro",
"ciudad": "Chihuahua",
"estado": "08",
"pais": "MEX",
"codigo_postal": "31000",
"telefono": "6149876543"
}'Parámetros
idnumberrequeridoID de la dirección.
Cuerpo de la petición
atencion_astringrequeridoPersona/atención.
callestringrequeridoCalle.
num_extstringrequeridoNúmero exterior.
num_intstringNúmero interior (opcional).
coloniastringrequeridoColonia.
ciudadstringrequeridoCiudad.
estadostringrequeridoCódigo SAT del estado (ver estado_sat en /carrito/estados). En México se valida contra el CP.
paisstringrequeridoCódigo de país (ver /carrito/paises).
codigo_postalstringrequeridoCódigo postal.
telefonostringrequeridoTeléfono.
Códigos de estado
Dirección actualizada (o { error } si falla la validación de país/CP).
id inválido o faltan parámetros obligatorios.
Token ausente, inválido o revocado.
Cuenta sin acceso o sin scope carrito.
Límite de peticiones excedido.
Error interno.
Eliminar dirección
Bearerscope: carritoElimina una dirección de envío del cliente.
curl -X DELETE https://developers.syscom.mx/api/v1/carrito/direcciones/901 \
-H 'Authorization: Bearer TU_TOKEN'Parámetros
idnumberrequeridoID de la dirección.
Códigos de estado
Dirección eliminada.
id inválido.
Token ausente, inválido o revocado.
Cuenta sin acceso o sin scope carrito.
Límite de peticiones excedido.
Error interno.