Índice.


1. ¿Qué puedes hacer con la API?

    1.1. ¿Cómo inicio?

    1.2. Autenticación Token.

2. Creación de productos. 

3. Límite y uso responsable.

4. Malas prácticas.

5. Tips. 

6. Tips Localtunnel. 

7. Webhooks.

8. Webhooks reglas.


1. ¿Qué puedes hacer con la API? 


Con la API de Yuju tienes las siguientes funcionalidades: 

  • Tiendas: Obtener información. 

  • Productos: Crear, actualizar y eliminar. 


Automatizar la creación de todo tu catálogo de productos así como mantener la actualización de precios e inventario.


Órdenes: Buscar y obtener la información. 

Webhooks. 


Recibir notificaciones cada vez que una venta se crea o cambia de estado.


    1.1. ¿Cómo inicio?


Para comenzar a usar la API de Yuju sigue estos pasos: 

  • Ingresa a Yuju marketplace. 

  • Acciones. 

  • Por API.




  • Genera un token. 

  • Usala. 



    1.2. Autenticación Token. 


El Token es la forma como Yuju autentifica la conexión y la cuenta. Debe de enviarse dentro de los HEADERS de todas las peticiones.


● Header: Authorization

● Valor: Token + {token}


 

 


2. Creación de productos. 


Las acciones sobre productos son asíncronas, lo que significa que no se ejecutan en el momento de la  solicitud. Las acciones son agregadas a una  cola de procesamiento que serán ejecutadas una tras otra. 


Cuando Yuju termine de ejecutarlas lanzará un webhook notificando que ha terminado de realizarlas.



3. Límite y uso responsable. 


Dentro del uso responsable de la API se definen límites que permiten el óptimo funcionamiento tanto de Yuju como los propios marketplaces, ya que estos últimos también tienen una cuota de uso diario. 


No podemos definir un número máximo de actualizaciones ya que cada integración es diferente, pero sí podemos definir las reglas que nos permitirán determinar si una cuenta hace un uso responsable de la API. A continuación te explicamos el uso responsable para la creación y actualización de productos y órdenes. 


Creación y actualización de productos:


  • Máximo 500 productos por petición.

  • Máximo 500 productos por minuto.

  • El número de actualizaciones no deberá superar más de 3 veces el total de productos en Yuju.

  • Se espera que las actualizaciones sean sobre cambios reales en los productos.


Órdenes: 


  • Máximo 2 órdenes en paralelo.

  • Sólo se deberán hacer peticiones de las órdenes cuando se detecte un movimiento en la información (webhook) o se quiera realizar un proceso de revisión.


4. Malas prácticas. 


Las siguientes malas prácticas serán objeto del bloqueo de la API.


  • Ir por la información de los productos constantemente - La API no está pensada para exponer la información de los productos, este proceso deberá de hacerse en casos especiales y sin concurrencia de solicitudes.

  • Actualizar los productos constantemente sin ningún cambio - Se deberá validar que sólo se mandan actualizaciones cuando el producto ha cambiado.

  • Ir por la información de las ventas constantemente sin aparente razón de cambio - En ocasiones un diseño e implementación del desarrollo provoca que un error genere que se esté procesando una orden de forma infinita generando una sobrecarga de la API.


5. Tips. 


A continuación te compartimos los siguientes tips para un desarrollo óptimo y escalable. 


Base de datos (NoSQL)


  • DynamoDb (AWS).

  • MongoDb.

  • Casandra, etc.


Colas de procesamiento. 


  • RabbitMQ.

  • SQS (AWS).


Logs.


  • Logueo del flujo completo para entender en dónde está fallando.


Herramientas recomendadas. 



6. Tips Localtunnel. 


Nos permite exponer un servicio desde nuestra computadora hacia internet.



  • Instalamos NPM

    • rpm install npm.

    • pacman -S npm


  • Instalamos localtunnel

    • npm install -g localtunnel


  • Levantando el tunnel

    •  lt --port 8000  -s mipc



Link: Localtunnel ~ Expose yourself to the world


7. Webhooks. 


En Yuju puedes agregar una URL donde recibirás las notificaciones de 2 eventos:


  • product_feed:feed:finish

  • product_feed:order:created


El primero te permite saber cuando un feed de productos ha sido procesado por la API.

El segundo cuando ha habido un cambio en un pedido.


8. Webhooks reglas.

 

Para que Yuju pueda mandar webhooks, tu servidor necesita estar accesible desde internet. Yuju envía la información básica del webhook a los headers de la petición.


  • User-agent es un prefijo mad-hookshot/ seguido de una cadena aleatoria de 4 caracteres.


Cada petición que de los webhook tiene un timeout de 20 segundos si la petición no se completa en ese tiempo el webhook dará por hecho que la petición no se pudo enviar y volverá a intentarlo en 30, 120, 280 y 560 segundos según el número de veces que falle en intentar de avisar al servidor.


Los hooks esperan una respuesta sin body y con el status code 200, 202 o 204, cualquier otro status code hará que se vuelva a mandar la petición.



Nota: Al utilizar la API se da acceso a toda la información de la cuenta de Yuju y no por cada tienda. Para más información sobre la API de Yuju, da clic aquí


Para cualquier duda y/o aclaración, ponte en contacto con tu KAM asignado o escribiendo a soporte@yuju.io.