Blog en el cual se emitirán temas relacionados a lenguajes de programación en modo básico y a la instalación de programas y consejos de los mismos para una mejor experiencia del usuario básico o intermedio.

API Seller Center Linio Marketplace




Dirigido para aquellos que han desarrollado proyectos web de comercio electrónico u otros desarrolladores que andan en busca de integrar sus proyectos con mercados aún más grandes como de comercio a nivel de latinoamerica y el mundo entero, LINIO por ejemplo.

Si no sabes lo que es LINIO puedes ver el siguiente vídeo


Este post no está enfocado a precisar que es LINIO y su forma de trabajo, pero sí, para los que andaban buscando la manera de integrar sus proyectos de comercio electrónico con empresa como ésta, pues presento un tuto de como integrar la API de SELLER CENTER con LINIO MARKETPLACE.

A través de esta API los vendedores registrados podrán hacer consultas como estado de sus ventas, sus órdenes, administrar sus productos, entre muchas cosas.

¿Cómo funciona la API de Seller Center?
La función en básica, esta API genera una URL con datos que se envían a un servidor dedicado, según la consulta te enviará la respuesta en formato JSON o XML, esta opción lo puedes configurar.

¿Dónde y cómo configuro estos datos?
Primero necesitamos una clave de API. Se crea una bajo Configuración / Gestión de usuarios:



La siguiente es la implementación de referencia de PHP:
<?php

// Pay no attention to this statement.
// It's only needed if timezone in php.ini is not set correctly.
date_default_timezone_set("UTC");

// The current time. Needed to create the Timestamp parameter below.
$now = new DateTime();

// The parameters for our GET request. These will get signed.
$parameters = array(
    // The user ID for which we are making the call.
    'UserID' => 'look@me.com',

    // The API version. Currently must be 1.0
    'Version' => '1.0',

    // The API method to call.
    'Action' => 'FeedList',

    // The format of the result.
    'Format' => 'XML',

    // The current time formatted as ISO8601
    'Timestamp' => $now->format(DateTime::ISO8601)
);

// Sort parameters by name.
ksort($parameters);

// URL encode the parameters.
$encoded = array();
foreach ($parameters as $name => $value) {
    $encoded[] = rawurlencode($name) . '=' . rawurlencode($value);
}

// Concatenate the sorted and URL encoded parameters into a string.
$concatenated = implode('&', $encoded);

// The API key for the user as generated in the Seller Center GUI.
// Must be an API key associated with the UserID parameter.
$api_key = 'b1bdb357ced10fe4e9a69840cdd4f0e9c03d77fe';

// Compute signature and add it to the parameters.
$parameters['Signature'] =
    rawurlencode(hash_hmac('sha256', $concatenated, $api_key, false));


Para hacer una solicitud GET en PHP, podría escribir algo como esto:

<?php
// ...continued from above

// Replace with the URL of your API host.
$url = "https://sellercenter-api.linio.com.pe/?";

// Build Query String
$queryString = http_build_query($parameters, '', '&', PHP_QUERY_RFC3986);

// Open cURL connection
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url."?".$queryString);

// Save response to the variable $data
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($ch);

// Close Curl connection
curl_close($ch);


Con estas configuraciones podrás generar una URL para enviar como consulta


  • Creación de Conexión API SellerCenter Linio (Primer Post)
  • Creación de formulario de Consulta GET (Ver Ejemplo)
  • Creación de formulario de Consulta POST (Ver Ejemplo)



2 comentarios:

  1. Usted sabe como obtener un solo producto de la API de linio?

    ResponderEliminar
    Respuestas
    1. Que tal, verifica la versión del API con el que vienes trabajando, es más que probable que, por el tiempo que ha pasado tengan nuevas versiones.

      Eliminar