Límites de velocidad
Para asegurar que nuestra plataforma permanezca estable y justa para todos, todas las APIs de GoShop tienen límites en la velocidad de acceso. Utilizamos una variedad de estrategias para hacer cumplir los límites de velocidad. Pedimos a los desarrolladores que utilicen las técnicas estándar de la industria para limitar las llamadas, almacenar en caché los resultados y reintentar las solicitudes de forma responsable.

Compativa de los límites de velocidad por API

Las APIs de GoShop utilizan diferentes métodos de limitación de velocidad. Se describen con más detalle a continuación, pero estas son las cifras clave en resumen:
API
Método de limitación
Límite Plus/PRO
Límite Enterprise
Admin API (Rest)
Basado en peticiones
2 peticiones / segundo.
4 peticiones / segundo.
Storefront API (beta)
Basado en tiempo
mínimo 0,5s por solicitud, 60s por usuario IP
mínimo 0,5s por solicitud, 120s por usuario IP

Métodos de limitación de velocidad

GoShop utiliza dos métodos diferentes para gestionar los límites de velocidad. Diferentes APIs usan diferentes métodos dependiendo del caso de uso, así que asegúrate de entender los diferentes tipos de límites de velocidad que tus aplicaciones encontrarán:

Límites basados en las peticiones

Las aplicaciones pueden realizar un número máximo de peticiones por minuto. Por ejemplo 40 solicitudes de API en 60 segundos. Cada solicitud cuenta por igual, independientemente de la cantidad de datos que se devuelvan.
Este método se utiliza en la API REST de administración.

Límites basados en el tiempo

Las aplicaciones pueden realizar solicitudes que requieran una cantidad máxima de tiempo por minuto. Por ejemplo: 120 solicitudes en 60 segundos, y cada solicitud tarda 0,5 segundos en ser devuelta. Las solicitudes más complejas tardan más tiempo y, por lo tanto, ocupan una parte proporcionalmente mayor del límite.
Este método es utilizado por la API de Storefront.

Cómo evitar errores de limitación de velocidad

Diseñar su aplicación teniendo en cuenta las mejores prácticas es la mejor manera de evitar errores de limitación de velocidad. Por ejemplo, puedes escalonar las peticiones de la API en una cola y realizar otras tareas de procesamiento mientras esperas a que se ejecute el siguiente trabajo en cola. Ten en cuenta las siguientes prácticas recomendadas al diseñar tu aplicación:
  1. 1.
    Optimiza tu código para obtener sólo los datos que tu aplicación necesita.
  2. 2.
    Utiliza la caché para los datos que tu aplicación utiliza con frecuencia.
  3. 3.
    Regula el ritmo de tus peticiones para una distribución más suave.
  4. 4.
    Incluye código que detecte errores. Si ignoras estos errores y sigues intentando hacer peticiones, tu aplicación no podrá recuperarse con normalidad.
  5. 5.
    Utiliza los metadatos sobre el uso de la API de tu aplicación, incluidos en todas las respuestas de la API, para gestionar el comportamiento de tu aplicación de forma dinámica.
  6. 6.
    Tu código debería dejar de hacer peticiones adicionales a la API hasta que haya pasado el tiempo suficiente para volver a intentarlo. El tiempo de espera recomendado es de 1 segundo.