Seller Center permite al encargado de la tienda administrar los productos y pedidos en su tienda en línea.

En consecuencia, la API de Seller Center permite el mantenimiento programático de productos y pedidos.

Por ejemplo, puede utilizar la API para importar productos o migrar pedidos a su sistema de contabilidad.

Formato de comunicación

En términos generales, todas las solicitudes se originan en usted; en otras palabras, usted contacta con la API. La API no se pone en contacto con usted.

Más específicamente, cada solicitud es una solicitud HTTP dirigida a un endpoint. Dependiendo de lo que desee lograr, realizará una solicitud HTTP con un comando GET o POST.

En la mayoría de los casos, la llamada sólo involucra parámetros de URL, como la llamada a GetProducts, que es tan simple como esto:

https://sellercenter-api.linio.com.mx/?Action=GetProducts&Filter=sold-out&Format=XML&Timestamp=2015-07-21T05%3A14%3A49%2B02%3A00&UserID=maintenance%40sellercenter.net&Version=1.0&Signature=dee80841b2aa0ad1fb517f196c56a5e5b9c78627c9256a11df11da76a3f84503

🚧

Request headers

A partir del 30 de noviembre de 2022, todas las solicitudes (requests) deberán tener el encabezado (header) User-Agent configurado con el siguiente formato:

Linio_SellerId/Lenguaje_de_programacion/Version_del_lenguaje

Ejemplo:
User-Agent: JJJ123/PHP/8.1.7

Más información sobre este header en MDN - User-Agent.

📘

URL del endpoint

A lo largo de esta documentación, el ejemplo realiza llamadas contra sellercenter-api.linio.com.mx. Debe sustituirlo por la URL de la instancia de su país del Centro de vendedores:

Ambiente de Producción:

Chile: https://sellercenter-api.linio.cl/
Colombia: https://sellercenter-api.linio.com.co/
México: https://sellercenter-api.linio.com.mx/
Perú: https://sellercenter-api.linio.com.pe/

Ambiente de Staging:

Chile: https://rocket:[email protected]
Colombia: https://rocket:[email protected]/
Mexico: https://rocket:[email protected]/
Peru: https://rocket:[email protected]/

Asegúrese de probar siempre su código con una instancia de ensayo. Aparte de una restauración de la base de datos, ¡No hay cómo deshacer una llamada a la API!

📘

Seller Center URL

Ambiente de Producción:

Chile: https://sellercenter.linio.cl/
Colombia: https://sellercenter.linio.com.co/
Mexico: https://sellercenter.linio.com.mx/
Peru: https://sellercenter.linio.com.pe/

Staging:

Chile: https://sellercenter-staging.linio.cl/
Colombia: https://sellercenter-staging.linio.com.co/
Mexico: https://sellercenter-staging.linio.com.mx/
Peru: https://sellercenter-staging.linio.com.pe/

Al observar la solicitud anterior, vemos que todos los parámetros necesarios ya están incluidos en la URL como parámetros. Luego, la API devuelve la información que buscamos, ya sea en formato XML o JSON, dependiendo de lo que solicitamos:

<?xml version="1.0" encoding="UTF-8"?>
<SuccessResponse>
  <Head>
    <RequestId/>
    <RequestAction>GetProducts</RequestAction>
    <ResponseType>Products</ResponseType>
    <Timestamp>2015-07-01T11:11:11+0000</Timestamp>
  </Head>
  <Body>
    <Products>
      <Product>
        <SellerSku>BobKing</SellerSku>
        <ShopSku>KI995ELAAK2HNAFAMZ-53759</ShopSku>
        <Name>Bob the King</Name>
        <Variation>...</Variation>
        <ParentSku>BobKing</ParentSku>
        <Quantity>51</Quantity>
        <Available>51</Available>
        <Price>323.00</Price>
        <SalePrice/>
        <SaleStartDate/>
        <SaleEndDate/>
        <Status>active</Status>
        <ProductId>BobtheKing</ProductId>
        <Url>http://rocket:[email protected]/26009.html</Url>
        <MainImage>http://mycdn.net/p/26009-1497-90062-1-catalog.jpg</MainImage>
      </Product>
      <Product>
        <SellerSku>Bobqueen</SellerSku>
        <ShopSku>JE134FAAAK2INAFAMZ-53760</ShopSku>
        <Name>Bob the queen</Name>
        <Variation>42</Variation>
        <ParentSku>Bobqueen</ParentSku>
        <Quantity>5</Quantity>
        <Available>5</Available>
        <Price>343.00</Price>
        <SalePrice/>
        <SaleStartDate/>
        <SaleEndDate/>
        <Status>active</Status>
        <ProductId>Bobthequeen</ProductId>
        <Url>http://rocket:[email protected]/26010.html</Url>
        <MainImage>http://mycdn.net/p/26010-4018-01062-1-catalog.jpg</MainImage>
      </Product>
    </Products>
  </Body>
</SuccessResponse>
{
  "SuccessResponse": {
    "Head": {
      "RequestId": "",
      "RequestAction": "GetProducts",
      "ResponseType": "Products",
      "Timestamp": "2015-07-21T07:28:52+0200"
    },
    "Body": {
      "Products": {
        "Product": [
          {
            "SellerSku": "BobKing",
            "ShopSku": "KI995ELAAK2HNAFAMZ-53759",
            "Name": "Bob the King",
            "Variation": "...",
            "ParentSku": "BobKing",
            "Quantity": "51",
            "Available": "51",
            "Price": "323.00",
            "SalePrice": "",
            "SaleStartDate": "",
            "SaleEndDate": "",
            "Status": "active",
            "ProductId": "BobtheKing",
            "Url": "http://rocket:[email protected]/26009.html",
            "MainImage": "http://mycdn.net/p/26009-1497-90062-1-catalog.jpg"
          },
          {
            "SellerSku": "Bobqueen",
            "ShopSku": "JE134FAAAK2INAFAMZ-53760",
            "Name": "Bob the queen",
            "Variation": "42",
            "ParentSku": "Bobqueen",
            "Quantity": "5",
            "Available": "5",
            "Price": "343.00",
            "SalePrice": "",
            "SaleStartDate": "",
            "SaleEndDate": "",
            "Status": "active",
            "ProductId": "Bobthequeen",
            "Url": "http://rocket:[email protected]/26010.html",
            "MainImage": "http://mycdn.net/p/26010-4018-01062-1-catalog.jpg"
          }
        ]
      }
    }
  }
}

🚧

Todos los valores JSON son cadenas (strings)

Una limitación actual de la API es que en una respuesta JSON todos los valores son cadenas: por ejemplo, los valores booleanos se devuelven como "true" y "false", no true y false. En la respuesta JSON anterior, por ejemplo, esperaría que "Quantity" sea el entero 51, pero se devuelve como la cadena "51".

Limitaciones de la velocidad de llamada

Hay límites en la cantidad de llamadas que puede realizar por segundo (esto a veces se denomina "throttling"): si realiza más de 30 solicitudes en 3 segundos, obtendrá una respuesta de error "E429: Too many requests" (Demasiadas solicitudes).

Consulte también el tema "Feed Throttling" en la página Feeds.