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 SellerCenter Linio Consulta POST





Este es el tercer post en la cual doy una pequeña introducción a la integración con la API SellerCenter de Linio.
Cabe mencionar que en mi primer post hablé sobe como generar la URL para las consultas ha realizar a través de la misma, en el segundo post comparto un ejemplo para realizar Consultas GET.

Puedes descargar el código que he compartido de manera libre en GITHUB 
Recuerda que puedes utilizar de manera libre este código, al igual que llegó a ti, comparte el post para ayudar a más desarrolladores.
Evitaré la explicación de las vistas, solo me enfocaré en las funciones en la cual es "lo fuerte".

Código de la función en la cual ejecuta la Consulta POST:
Si te haz fijado el código de la Consulta POST es idéntico al de la Consulta GET a excepción en la línea 71
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST['request_xml']);
Esta porción de código se agrega solo cuando la consulta es POST por lo que tenemos que enviar datos en la URL al servidor de Linio, este es el caso para la creación de productos, subir imágenes, etc

A través de un formato XML enviamos datos al servidor.




  • 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)


  • API SellerCenter Linio Consulta GET


    En una publicación anterior les había compartido el como hacer la conexión con la API SellerCenter de Linio, en esta segunda parte comparto como realizar una Consulta GET.

    Puedes descargar el código que he compartido de manera libre en GITHUB 
    (Proyecto Actualizado)
    Recuerda que puedes utilizar de manera libre este código, al igual que llegó a ti, comparte el post para ayudar a más desarrolladores.
     Evitaré la explicación de las vistas, solo me enfocaré en las funciones en la cual es "lo fuerte".
    Código de la función en la cual ejecuta la Consulta GET:

    Ahora explicaré las líneas las cuales ustedes modificaran en su proyecto luego de descargar el código.

    Línea 26:
    'UserID' => '',
    Dentro de las comillas simples ingresaran el usuario que se crearon.

    Línea 55:
    $api_key = '';
    Dentro de las comillas simples ingresan su API_KEY

    Si se fijan en las líneas 32 y 35 son los datos recibidos del formulario.

    Ha continuación una imagen donde pueden ver los UserID y el ApiKey








  • 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)



  • 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)



    CSS para Firefox 37




    La mayoría de programadores principiantes o intermedios al momento de maquetear un proyecto web realizamos las pruebas en navegadores como Chrome y Firefox (En versiones actualizadas),  y siempre fue un dolor de cabeza ver que te ha tomado tiempo para que tu proyecto se vea bien en estos navegadores que cuando probamos en IE (Internet Explore) en sus versiones anteriores estos css no sirvieron en absoluto para IE.

    Sin embargo en esta oportunidad no he venido hablar de IE, de lo contrario de Firefox en su versión 37. ¿Porqué hago esto?, En estos últimos días me ha tocado "meter mano" de lado front. la maquetación se veía bien tanto en Chrome, Firefox, Safari, Opera, Android, iOS, pero el requerimiento del cliente fue que en Firefox en versión 37 algunos elementos estaban des alineados y me tomó mucho tiempo encontrar la "tic" para la solución.

    Así que ahora, para facilitarte la vida compartiré las tics CSS.

    Para programar Estilos CSS en Firefox 37 en adelante, solo deberás colocar lo siguiente:

    /**** ... a continuación de tu código css ****/
    @supports (-moz-appearance:none) and (display:contents) {
     /**** aquí tus nuevos estilos ****/
    }

    Si quieres estilos específicamente para Firefox 37:
    /**** ... a continuación de tu código css ****/
    @supports (-moz-appearance:none) and (display:contents)  and (not (ruby-position:over)){
     /**** aquí tus nuevos estilos ****/
    }

    Esto es lo que deberías agregar a tus Estilos CSS y evitarte el dolor de cabeza.
    Comparte para ayudar a otros programadores.