Limitación de frecuencia de la API de marketing

La API de marketing cuenta con su propia lógica de limitación de frecuencia, que es independiente de todas las limitaciones de frecuencia de la API Graph. De este modo, las llamadas que realices a la API de marketing no se tendrán en cuenta para la restricción de la API Graph.

La función que afecta a la cuota del límite de frecuencia de la API de marketing es Acceso estándar a la administración de anuncios. Al añadir el producto API de marketing al panel de aplicaciones, obtendrás el acceso estándar de Acceso estándar a la administración de anuncios de forma predeterminada. De esta forma, tendrás acceso de desarrollo a la API de marketing. Si necesitas actualizar para obtener más cuota de limitación de frecuencia, actualiza al acceso avanzado de Acceso estándar a la administración de anuncios en la revisión de la aplicación.

Cuotas

Acceso a la API de marketingAcceso estándar a la administración de anunciosCapacidad

Acceso de desarrollo

Acceso estándar

Cuota de limitación de frecuencia básica

Acceso estándar

Acceso avanzado

Más cuota de limitación de frecuencia

La mayoría de las solicitudes a la API de marketing y las solicitudes a la API de páginas están sujetas a los límites de frecuencia de casos de uso comercial (BUC) y dependen de los extremos que consultes. Deberías poder resolver esto al consultar si la solicitud HTTP contiene un encabezado X-Business-Use-Case. Consulta más información en Límites de frecuencia de casos de uso comercial.

Límites de API de nivel de cuenta publicitaria

  • La limitación de frecuencia se aplica en el nivel de cuenta publicitaria.
  • Los límites de frecuencia se producen en tiempo real según un intervalo de tiempo determinado.
  • Se asigna una puntuación a cada llamada realizada a la API de marketing. Tu puntuación es la suma de tus llamadas a la API.
  • Aplicamos una puntuación máxima. En general, una llamada a la API de lectura equivale a un punto y una llamada a la API de escritura equivale a tres puntos y, cuando se alcanza la puntuación máxima, generamos un error de restricción.
    • Si tu aplicación está en el nivel de desarrollo de la API de marketing, ten en cuenta lo siguiente:
      • Tu puntuación máxima es 60.
      • La tasa de declive es de 300 segundos.
      • Si alcanzas la puntuación máxima, se te bloqueará durante 300 segundos.
    • Si tu aplicación está en el nivel estándar de la API de marketing, ten en cuenta lo siguiente:
      • Tu puntuación máxima es 9000.
      • La tasa de declive es de 300 segundos.
      • Si alcanzas la puntuación máxima, se te bloqueará durante 60 segundos.

Código de error relacionado:17, Error subcode: 2446079, Message: User request limit reached. 613, Error subcode: 1487742, Message: There have been too many calls from this ad-account. Please wait a bit and try again.

Límites de frecuencia de QPS a nivel de cuenta publicitaria

Para evitar que nuestros sistemas se saturen debido a picos repentinos de tráfico, aplicamos la limitación de frecuencia en tiempo real en los extremos de mutación de la API de marketing (operaciones de creación y edición de campañas, conjuntos de anuncios y anuncios).

  • La limitación de frecuencia se aplica a nivel de cuenta publicitaria por cada aplicación.
  • Límite: 100 solicitudes por segundo (QPS) por combinación de aplicación y cuenta publicitaria.
  • Se aplica a: operaciones de creación y edición de campañas, conjuntos de anuncios y anuncios.
  • Este límite funciona en tiempo real y está diseñado para captar picos de tráfico breves que el intervalo de limitación de frecuencia estándar podría no detectar.

Se ven afectados los extremos siguientes:

Cuando superes este límite, distribuye las solicitudes de manera más uniforme en el tiempo, en lugar de enviarlas en tandas.

Código de error relacionado:613; Subcódigo de error: 5044001; Mensaje: Tu cuenta publicitaria {ad_account_id} ha superado la frecuencia máxima permitida de solicitudes de mutación. Para resolverlo, reduce la frecuencia de las operaciones de creación y actualización de campañas, conjuntos de anuncios y anuncios.

Si se produce este error, implementa la restricción de solicitudes para mantenerte por debajo de 100 QPS por cuenta publicitaria.

Limitación de frecuencia de la plataforma de insights de anuncios

  • La limitación de frecuencia se aplica en el nivel de aplicación.
  • La limitación de frecuencia se determina según la capacidad de la infraestructura de backend y los servicios de bajada.
  • Si se aplica una limitación de frecuencia a tu aplicación, se limitarán todas sus llamadas a la API de insights de anuncios.
  • Se aplica la limitación de frecuencia de nivel de aplicación.

Código de error relacionado:4, Error subcode: 1504022 or 1504039, Message: There have been too many calls from this app. Wait a bit and try again.

Cuando se produzca este error, reduce la frecuencia de las llamadas.

Límites de nivel de aplicación

  • La limitación de frecuencia se aplica en el nivel de aplicación.
  • La limitación de frecuencia se determina según el total de usuarios de una aplicación.
  • Si se aplica una limitación de frecuencia a tu aplicación, se limitarán todas sus llamadas.
  • Se aplica la limitación de frecuencia de nivel de aplicación.

Código de error relacionado:4, Message: Application request limit reached.

Cuando se produzca este error, reduce la frecuencia de las llamadas.

Límites de frecuencia de casos de uso comercial de nivel de cuenta publicitaria

Calculamos la cuota del límite de frecuencia en función del nivel de acceso a la API de marketing y la aplicación.

  • La limitación de frecuencia se aplica en el nivel de cuenta publicitaria y la cuota se calcula en función del nivel de acceso a la API de anuncios sobre aplicaciones.
  • ads_management: para cada cuenta publicitaria en un periodo de una hora: (100 000 si la aplicación se encuentra en el nivel estándar de la API de marketing o 300 si la aplicación se encuentra en el nivel de desarrollo) + 40 * Número de anuncios activos.
  • custom_audience: para cada cuenta publicitaria en un periodo de una hora: 700 000 como máximo. 190 000 como mínimo si la aplicación se encuentra en el nivel estándar de la API de marketing o 5000 si la aplicación se encuentra en el nivel de desarrollo + 40 * Número de audiencias personalizadas activas.
  • ads_insights: para cada cuenta publicitaria en un periodo de una hora: (190 000 si la aplicación se encuentra en el nivel estándar de la API de anuncios o 600 si la aplicación se encuentra en el nivel de desarrollo) + 400 * Número de anuncios activos - 0,001 * Errores de usuario.
  • Administración del catálogo: para cada cuenta publicitaria en un periodo de una hora: 20 000 + 20 000 * log2(usuarios únicos).
  • Lote del catálogo: para cada cuenta publicitaria en un periodo de una hora: 200 + 200 * log2(usuarios únicos).
  • El límite de frecuencia de la API de marketing también se puede determinar según el tiempo de CPU total y el tiempo real total de la cuenta publicitaria. Dispondrás de más cuota si tu aplicación tiene acceso estándar a la API de marketing; para obtener más información, consulta el encabezado [X-Business-Use-Case](/docs/graph-api/overview/rate-limiting/#headers-2) HTTP y Límites de frecuencia de casos de uso comercial.

Código de error relacionado:80000, 80003, 80004, 80014, Message: There have been too many calls from this ad-account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.

Comprueba el extremo de la API y el encabezado X-Business-Use-Case HTTP para confirmar el tipo de restricción. Consulta más información en Límites de frecuencia de casos de uso comercial. Cuando se produzca este error, reduce la frecuencia con la que realizas cambios en la cuenta publicitaria.

Límites de frecuencia de gasto publicitario de nivel de cuenta publicitaria

Establecemos en diez veces al día el límite de veces que puedes cambiar los límites de gasto de la cuenta para garantizar el rendimiento de la entrega de anuncios.

  • El número de cambios que puedes realizar en el gasto de la cuenta publicitaria, como los campos spend_cap y spend_cap_action, es limitado.

Código de error relacionado:17, Error subcode: 1885172, Message: You can only change your account spending limit 10 times per day. Please wait to make more changes.

Límites de nivel de conjunto de anuncios

El número de cambios que puedes realizar en los campos daily_budget y lifetime_budget del conjunto de anuncios es limitado. El presupuesto de un conjunto de anuncios solo se puede modificar cuatro veces por hora. Si se supera este límite, se bloquea durante una hora la opción de cambiar el presupuesto de ese conjunto de anuncios en concreto.

Código de error relacionado:613, Error subcode: 1487632, Message: You can only change your ad set budget 4 times per hour. Please wait to make more changes.

Cuando se produzca este error, reduce la frecuencia con la que realizas cambios en el conjunto de anuncios.

Límites de nivel de anuncio

La creación de anuncios se limita para una cuenta publicitaria determinada en función del límite de gasto diario.

Código de error relacionado:613, Error subcode: 1487225, Message: User request limit reached.

Comprueba el subcódigo de error (1487225) y el extremo de la API para confirmar el tipo de restricción. Cuando se produzca este error, reduce la frecuencia de los cambios. Para aumentar el límite, también puedes aumentar el límite de gasto diario.

Límites de frecuencia de prevención del uso indebido

Cuando nuestro sistema detecte que determinadas cuentas publicitarias generan una gran cantidad de tráfico anómalo, reduciremos temporalmente la cuota del límite de frecuencia de la API de las cuentas anómalas para proteger la estabilidad del sistema y garantizar la experiencia de otros usuarios. Intenta ponerte en contacto con el equipo de asistencia de Meta para obtener ayuda.

Código de error relacionado:613, Error subcode: null, Message: (#613) Calls to this api have exceeded the rate limit.

La diferencia entre esto y el límite de API de nivel de cuenta publicitaria es que este error no contiene subcódigos de error. Cuando se produzca este error, investiga si hay alguna acción que active demasiadas solicitudes a la API y ponte en contacto con el equipo de asistencia de Meta para obtener ayuda.

Gestionar errores de restricción

Evaluación inicial

Comprueba el nivel de acceso a la API de marketing:

De forma predeterminada, las aplicaciones tienen development_access a la API de marketing. Para descubrir en qué nivel te encuentras, puedes ir al panel de revisión de la aplicación. Te encuentras en el nivel de desarrollo de acceso a la API de marketing si tienes acceso estándar a la función Acceso estándar a la administración de anuncios. Te encuentras en el nivel estándar de acceso a la API de marketing si tienes acceso avanzado a la función Acceso estándar a la administración de anuncios. Puedes consultar el encabezado HTTP y buscar ads_api_access_tier en el encabezado X-Ad-Account-Usage, X-Business-Use-Case o X-FB-Ads-Insights-Throttle.

Si se siguen produciendo errores de limitación de frecuencia, considera la posibilidad de actualizar a standard_access en la función Acceso estándar a la administración de anuncios. Para acceder al nivel estándar y obtener una cuota más alta del límite de frecuencia, puedes solicitar acceso avanzado a la función Acceso estándar a la administración de anuncios en el panel de revisión de la aplicación.

  • Comprobación de los códigos de error: determina los códigos de error específicos relacionados con la restricción en la respuesta de la API.
  • Comprobación de los encabezados HTTP:
    • X-Ad-Account-Usage contiene acc_id_util_pct, reset_time_duration y ads_api_access_tier.
    • X-Business-Use-Case contiene información de call_count, total_cputime, total_time y estimated_time_to_regain_access, etc. para el extremo de casos de uso comercial.
    • X-FB-Ads-Insights-Throttle contiene app_id_util_pct, acc_id_util_pct y ads_api_access_tier para los extremos de la API de insights de anuncios.
  • Consulta del panel de aplicaciones: en el panel de aplicaciones, proporcionamos consolas en las que se ofrecen a los desarrolladores insights detallados sobre el sistema de limitación de frecuencia y que les ayudan a diagnosticar y prevenir problemas de limitación de frecuencia.

Identificar la causa

  • Límites de frecuencia: comprende los límites de frecuencia de la API de marketing de Meta para los diferentes extremos que se utilizan y comprueba si el número de solicitudes a la API entra dentro de los límites permitidos para la aplicación.
  • Límites de ráfagas: comprueba si los límites de ráfagas causan problemas durante los picos de uso. Normalmente el tráfico por ráfagas causará límites de API de nivel de cuenta publicitaria (códigos de error relacionados:17, 613).
  • Operaciones incorrectas: investiga si alguna operación incorrecta activa demasiadas solicitudes a la API.

Pasos de mitigación

  • Prevención del tráfico por ráfagas: distribuye las solicitudes a la API de manera uniforme para evitar la restricción causada por un gran número de accesos en un breve periodo de tiempo.
  • Optimización de las solicitudes: combina varias solicitudes más pequeñas en solicitudes por lotes, ya sea un lote de identificadores o una solicitud asíncrona para minimizar el número total de llamadas a la API.
  • Estrategia de retroceso: aumenta gradualmente el tiempo entre los reintentos para implementar el retroceso exponencial cuando recibas errores de restricción. También puedes examinar los encabezados HTTP para la estimación del tiempo de restablecimiento.

Otros consejos de mitigación

  • Averigua si estas llamadas son necesarias y, si no lo son, redúcelas.
  • En el caso de los extremos que admiten solicitudes asíncronas como la API de insights de anuncios, usa solicitudes asíncronas para consultar una gran cantidad de datos.
  • También puedes intentar pasar una lista de identificadores si necesitas consultar varios tipos iguales de objetos de anuncios.
  • En el caso de la API de insights, utiliza los parámetros de nivel o la filtración para reducir el número de llamadas.