Skip to content

Limites de taxa

A infraestrutura da API da Braze foi projetada para lidar com grandes volumes de dados de nossa base de clientes. Para isso, aplicamos limites de taxa de API por espaço de trabalho.

Um limite de taxa é o número de solicitações que a API pode receber em um determinado período de tempo. Muitos incidentes de negação de serviço baseados em carga em grandes sistemas não são intencionais — causados por erros no software ou nas configurações — e não por ataques mal-intencionados. Os limites de taxa verificam se esses erros não privam nossos clientes dos recursos da API da Braze. Se muitas solicitações forem enviadas em um determinado período de tempo, você poderá ver respostas de erro com um código de status 429, o que indica que o limite de taxa foi atingido.

Limites de taxa por tipo de solicitação

Consulte a seguir os limites de taxa padrão da API para diferentes tipos de solicitações. Esses limites padrão podem ser aumentados mediante solicitação. Entre em contato com seu gerente de sucesso do cliente para saber mais.

Solicitações com diferentes limites de taxa

Solicitações com limites de taxa compartilhados

As seguintes solicitações têm um limite de taxa de 250.000 solicitações por hora, compartilhado entre elas.

O que conta como o mesmo público único?

Isso se aplica aos seguintes três endpoints: /messages/send, /campaigns/trigger/send e /canvas/trigger/send.

Para esses endpoints, as solicitações de transmissão são consideradas direcionadas ao mesmo público único quando todos os seguintes critérios correspondem:

  • A campanha ou Canvas sendo acionado (o campaign_id ou canvas_id na sua solicitação de API, se especificado)
  • O público sendo direcionado (os segmentos ou filtros, ou para campanhas de API, o segment_id na sua solicitação de API)
  • Os filtros de público conectado (o objeto audience na sua solicitação de API, se especificado)

Cada combinação única desses atributos conta como um público distinto, portanto, o limite de taxa adicional para cada público único se aplica a cada combinação de forma independente.

Agrupamento de solicitações de API

As APIs da Braze foram criadas para oferecer suporte a lotes. Com os lotes, a Braze pode receber o máximo de dados possível em uma única chamada de API para que você não precise fazer muitas chamadas de API. É mais eficiente para a Braze processar dados em lotes do que processar dados em uma chamada de cada vez. Por exemplo, lidar com 1.000 chamadas de API em lote requer menos recursos do que lidar com 75.000 chamadas individuais. O agrupamento é extremamente importante para qualquer aplicativo que possa necessitar de mais de 75.000 chamadas por hora.

Agrupando solicitações para o endpoint de rastreamento de usuários

Cada solicitação /users/track pode conter até 75 objetos no total combinados entre attributes, events e purchases. Cada objeto pode atualizar um usuário. Um único perfil de usuário pode ser atualizado por vários objetos.

Limites de taxa legados

Para clientes com limites de taxa legados, cada array (attributes, events e purchases) pode conter até 75 objetos de forma independente, para um máximo combinado de até 225 objetos por solicitação.

Para saber mais sobre os limites de taxa do /users/track, consulte POST: Criar e atualizar usuários.

As solicitações feitas a esse endpoint geralmente começarão a ser processadas nesta ordem:

  1. Atributos
  2. Eventos
  3. Compras

Agrupando solicitações de endpoints de envio de mensagens

Uma única solicitação para os endpoints de envio de mensagens pode alcançar qualquer um dos seguintes:

  • Até 50 external_ids específicos, cada um com parâmetros de mensagens individuais
  • Um segmento de qualquer tamanho criado no dashboard da Braze, especificado por seu segment_id
  • Usuários que correspondem a filtros de público adicionais de qualquer tamanho, definidos na solicitação como um objeto de público conectado

Exemplo de solicitação em lote

O exemplo a seguir usa external_id para fazer uma chamada de API para e-mail e SMS.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl --location --request POST 'https://rest.iad-01.braze.com/v2/subscription/status/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "subscription_groups":[
    {
      "subscription_group_id":"subscription_group_identifier",
      "subscription_state":"subscribed",
      "external_ids":["example-user","[email protected]"]
    },
    {
      "subscription_group_id":"subscription_group_identifier",
      "subscription_state":"subscribed",
      "external_ids":["example-user","[email protected]"]
    }
  ]
}

Monitoramento dos seus limites de taxa

Toda solicitação de API enviada à Braze retorna as seguintes informações nos cabeçalhos de resposta:

Essas informações são incluídas intencionalmente no cabeçalho da resposta à solicitação da API, e não no dashboard da Braze. Isso permite que seu sistema reaja melhor em tempo real à medida que você interage com nossa API. Por exemplo, se o valor de X-RateLimit-Remaining cair abaixo de um determinado limite, talvez você queira diminuir a velocidade de envio para garantir que todos os e-mails de transação sejam enviados. Ou, se chegar a zero, talvez você queira pausar todos os envios até que passe o tempo especificado em X-RateLimit-Reset.

Se tiver dúvidas sobre os limites da API, entre em contato com o gerente de sucesso do cliente ou abra um tíquete de suporte.

Postergação ideal entre endpoints

Compreender a postergação ideal entre endpoints é crucial ao fazer chamadas consecutivas para a API da Braze. Os problemas surgem quando os endpoints dependem do processamento bem-sucedido de outros endpoints e, se as chamadas forem feitas muito cedo, podem gerar erros. Por exemplo, se você estiver atribuindo aos usuários um alias por meio do nosso endpoint /user/alias/new e, em seguida, usando esse alias para enviar um evento personalizado por meio do nosso endpoint /users/track, quanto tempo deve esperar?

Em condições normais, o tempo para a eventual consistência dos nossos dados ocorrer é de 10-100ms (1/10 de segundo). No entanto, em alguns casos, pode levar mais tempo para que essa consistência ocorra, portanto, recomendamos que você permita uma postergação de 5 minutos entre as chamadas subsequentes para minimizar a probabilidade de erro.

Redefinição do limite de taxa

Os limites de taxa são redefinidos na hora cheia, e não em uma janela contínua. Por exemplo, se o limite for de 250.000 solicitações por hora, você pode fazer 50.000 solicitações entre 22h00 e 22h59 e outras 250.000 solicitações entre 23h00 e 23h59, porque o contador é redefinido no início de cada hora.

New Stuff!