Iniciar sesiónObtener credenciales

API v1 · Guía Rápida

Guía Rápida de Uso del API

La API SYSCOM v1 le permite buscar y filtrar productos, consultar precios y existencias en tiempo real, generar pedidos y cotizaciones, dar seguimiento a sus facturas y guías, y administrar listas de deseos (wishlists).

Diagrama de introducción al flujo de autenticación de la API SYSCOM

Antes de empezar

  • Su cuenta debe tener habilitado el acceso al API. Si aún no lo tiene, puede solicitar el acceso al API.
  • URI Base: https://developers.syscom.mx/api/v1/
  • Como límite tenemos que solo se pueden realizar hasta 200 peticiones al API por minuto con su usuario.
  • Las respuestas son enviadas en formato JSON.

1. Credenciales

Hay que iniciar sesión en Obtener Credenciales para generar una aplicación de API así como las credenciales que les servirán para generar el token de acceso.

Importante:

  • Hay que utilizar su número de cliente con la misma contraseña que utiliza en syscom.mx .
  • Solo se puede iniciar sesión con la cuenta principal, no con subcuentas.
  • Al iniciar sesión, si aún no lo ha aceptado, se le pedirá aceptar el Acuerdo de Uso del API.

El servicio utiliza un esquema REST con autenticación a través del protocolo OAuth 2.0 (client_credentials).

  • client_id: identificador único de su aplicación.
  • client_secret: secreto/contraseña de acceso de su aplicación.

Estas credenciales se usan para crear un token de acceso, que le permitirá hacer llamadas a las rutas protegidas.

Diagrama del flujo de credenciales client_credentials
Nota: Sus credenciales son privadas y no deben ser expuestas en el código fuente.

2. Token de acceso

El token se solicita con una petición POST que lleva sus credenciales en el cuerpo:

cURL
curl --location 'https://developers.syscom.mx/api/v1/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=SU_CLIENT_ID' \
--data-urlencode 'client_secret=SU_CLIENT_SECRET' \
--data-urlencode 'grant_type=client_credentials'

La respuesta es un JSON con el tipo de token, el token y su expiración:

JSON
{
  "token_type": "Bearer",
  "expires_in": 31536000,
  "access_token": "SU_TOKEN"
}

Documentación: Generar token

  • El token tiene una vigencia de 365 días: no es necesario generarlo en cada petición; genérelo una vez, guárdelo y reutilícelo hasta que venza.
  • Todas las peticiones de esta guía, salvo la del tipo de cambio, deben llevar el encabezado Authorization: Bearer SU_TOKEN.
  • Si rota el secret desde Mis credenciales, los tokens emitidos antes de la rotación dejan de ser válidos y debe solicitar uno nuevo.

3. Endpoints del API

Una vez que cuente con el token de acceso, lo siguiente es empezar a trabajar con los endpoint del API existentes:

https://developers.syscom.mx/docs

Información de productos

Para obtener la información de los productos, como stock, título, modelo, marca se pueden utilizar las siguientes peticiones:

GET · por categoría
https://developers.syscom.mx/api/v1/productos?categoria=22&inventarios=true&pagina=1&moneda=mxn&iva=true&financiero=true&limit=1000
GET · por marca
https://developers.syscom.mx/api/v1/productos?marca=hikvision&limit=1000&inventarios=true&pagina=1&moneda=mxn&iva=true&financiero=true
GET · por búsqueda
https://developers.syscom.mx/api/v1/productos?busqueda=MODELO&inventarios=true&pagina=1&moneda=mxn&iva=true&financiero=true&limit=1000

Documentación: Buscar productos

Los IDs de categoría se consultan en Categorías del catálogo y el identificador de cada marca (campo id, por ejemplo hikvision) en Lista de marcas. Si ya conoce el ID del producto, también puede consultarlo directamente por ID con la petición de fichas técnicas, que acepta hasta 300 IDs separados por coma.

Fichas técnicas

Para obtener fichas técnicas se solicita la información específica del producto:

GET
https://developers.syscom.mx/api/v1/productos/PRODUCTO_ID?inventarios=true&moneda=mxn&iva=true&financiero=true

Para consultar varios productos en una sola petición, separe sus IDs con coma (hasta 300 IDs):

GET
https://developers.syscom.mx/api/v1/productos/PRODUCTO_ID,PRODUCTO_ID,PRODUCTO_ID?inventarios=true&moneda=mxn&iva=true&financiero=true

Documentación: Ficha de producto

Búsqueda con IA

Busca productos por intención en lenguaje natural, no solo por palabras exactas (hasta 60 resultados por página):

GET
https://developers.syscom.mx/api/v1/productos/busqueda-ia?q=conector&inventarios=true&pagina=1&moneda=mxn&iva=true&financiero=true&limit=60

Documentación: Búsqueda con IA

Respuesta

Las peticiones anteriores arrojan una respuesta de tipo JSON:

JSON
{
  "cantidad": 1,
  "pagina": 1,
  "paginas": 1,
  "productos": [
    {
      "producto_id": "210627",
      "modelo": "DS-KIS604-P(C)",
      ...,
      "precios": {
        "precio_1": "327.49",
        "precio_especial": "327.49",
        "precio_descuento": "209.59",
        "volumen": {
          "2": "203.30",
          "3": "201.20",
          "4": "199.11",
          "5": "194.92"
        },
        "precio_lista": "327.49"
      },
      ...
    }
  ]
}

Obtener precio cliente

Puede obtener el precio como aparece en syscom.mx agregando los siguientes parámetros a las peticiones para obtener productos que realiza al API SYSCOM:

  • moneda → seleccionar moneda (mxn / usd)
  • iva → con IVA o sin IVA (true / false)
  • financiero → agregar descuento final por pronto pago (true / false)

Una vez agregados estos parámetros el precio final aparecerá en el atributo "precio_descuento".

Ejemplos:

GET · Precio MXN con IVA y descuentos finales
https://developers.syscom.mx/api/v1/productos/238515?moneda=mxn&iva=true&financiero=true
GET · Precio MXN sin IVA y descuentos finales
https://developers.syscom.mx/api/v1/productos/238515?moneda=mxn&financiero=true
GET · Precio USD con IVA y descuentos finales
https://developers.syscom.mx/api/v1/productos/238515?iva=true&financiero=true

Documentación: Ficha de producto

Tipo de cambio

La petición para obtener el tipo de cambio vigente en Syscom es la siguiente, y se utiliza el valor de "normal". Es pública: no requiere token.

GET
https://developers.syscom.mx/api/v1/tipocambio

Documentación: Tipo de cambio

Crear pedido con API Syscom

Documentación: Cotizar / generar orden

Para entrega a domicilio

cURL
curl --location 'https://developers.syscom.mx/api/v1/carrito/generar' \
--header 'Authorization: Bearer SU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "tipo_entrega": "domicilio",
    "direccion": {
        "atencion_a": "nombre destinatario",
        "calle": "CENTRO",
        "colonia": "LAS ARBOLEDAS",
        "num_ext": "1405",
        "num_int": "",
        "codigo_postal": "37480",
        "ciudad": "Leon",
        "estado": "GTA",
        "pais": "MEX",
        "telefono": "6141234567"
    },
    "metodo_pago": "transferencia",
    "fletera": "estafeta",
    "productos": [
        { "id": 38012, "tipo": "nuevo", "cantidad": 1 },
        { "id": 68809, "tipo": "nuevo", "cantidad": 1 }
    ],
    "moneda": "mxn",
    "uso_cfdi": "G01",
    "tipo_pago": "PUE",
    "orden_compra": "OPCIONAL_SU_FOLIO",
    "ordenar": true,
    "testmode": true,
    "iva_frontera": false,
    "directo_cliente": true
}'

Para entrega en sucursal syscom

cURL
curl --location 'https://developers.syscom.mx/api/v1/carrito/generar' \
--header 'Authorization: Bearer SU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "tipo_entrega": "sucursal",
    "direccion": {
        "atencion_a": "quien recoge",
        "sucursal": "chihuahua"
    },
    "metodo_pago": "transferencia",
    "productos": [
        { "id": 38012, "tipo": "nuevo", "cantidad": 1 },
        { "id": 68809, "tipo": "nuevo", "cantidad": 1 }
    ],
    "moneda": "mxn",
    "uso_cfdi": "G01",
    "tipo_pago": "PUE",
    "orden_compra": "OPCIONAL_SU_FOLIO",
    "ordenar": true,
    "testmode": true,
    "iva_frontera": false,
    "directo_cliente": false
}'
  • tipo_pago: PUE (default) o PPD.
  • Con "testmode": true solo se cotiza, no se genera el pedido. Para generar el pedido real, envíe "testmode": false junto con "ordenar": true.
  • El costo de envío (flete) que devuelve /carrito/generar en totales.flete es sin IVA; el IVA del envío viene incluido en totales.iva.
  • Los valores de estado, pais, fletera, metodo_pago y uso_cfdi se toman de los catálogos de estados, países, fleteras, métodos de pago y usos de CFDI; el de sucursal, del catálogo de sucursales.

Extras

En la parte superior del sitio developers.syscom.mx se encuentra un acceso hacia el repositorio de Postman del API Syscom (botón «Run in Postman»), donde podrán encontrar ejemplos funcionales para comunicarse con nuestra API.

Run in Postman