Ir para o conteúdo

Criar e atualizar usuários

post

/users/track

Use esse endpoint para registrar eventos personalizados e compras, além de atualizar atributos do perfil de usuário.

A Braze processa os dados passados por meio da API pelo valor nominal, e você deve passar apenas deltas (dados alterados) para minimizar o registro desnecessário de pontos de dados.

Precisa atualizar usuários em massa?

Use o endpoint /users/track/bulk para enviar lotes maiores e reduzir o volume de solicitações.

Pré-requisitos

Para usar esse endpoint, você precisará de uma chave de API com a permissão users.track.

Os clientes que usam a API para chamadas de servidor para servidor podem precisar incluir rest.iad-01.braze.com na lista de permissões se estiverem protegidos por um firewall.

Limite de taxa

Os limites de frequência desse endpoint variam de acordo com o seu contrato. Para clientes com pontos de dados em seus preços, a Braze aplica um limite de pico de 3.000 solicitações a cada três segundos. Para todos os outros clientes, os limites são configurados de acordo com os termos do seu contrato. Os limites atuais da sua conta podem ser encontrados no dashboard em Configurações > APIs e identificadores > Dashboard de uso da API.

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 múltiplos objetos.

Para clientes que adquiriram Monthly Active Users CY 24-25, Universal MAU, Web MAU ou Mobile MAU, limites de frequência adicionais se aplicam. Para saber mais, consulte Limites do Monthly Active Users CY 24-25.

Limites de frequência legados

Para clientes com limites de frequência legados, cada solicitação /users/track pode conter até 75 objetos de atributo, 75 objetos de evento e 75 objetos de compra. Cada objeto pode atualizar um usuário, para um máximo combinado de até 225 objetos por solicitação. Um único perfil de usuário pode ser atualizado por múltiplos objetos.

Para saber mais, consulte Limites de frequência da API. Entre em contato com seu gerente de sucesso do cliente para solicitar um aumento.

Corpo da solicitação

Content-Type: application/json
Authorization: Bearer YOUR_REST_API_KEY
{
  "attributes": (optional, array of attributes object),
  "events": (optional, array of event object),
  "purchases": (optional, array of purchase object),
  "group_id": (optional, string)
}

Parâmetros de solicitação

Parâmetro Obrigatório Tipo de dados Descrição
attributes Opcional Vetor de objetos de atributos Consulte o objeto de atributos do usuário
events Opcional Vetor de objetos de eventos Consulte o objeto de eventos
purchases Opcional Vetor de objetos de compra Consulte o objeto de compras
group_id Opcional String (Beta) Um ID de sua escolha para agrupar esta solicitação com solicitações relacionadas, de modo que você possa verificar o status de processamento delas. Para saber mais, consulte Rastrear status de processamento de solicitações.

Resolução de identificadores

Cada objeto de solicitação deve incluir pelo menos um identificador. A tabela a seguir descreve como a Braze determina qual identificador usar para a busca do perfil de usuário.

Tipo de identificador Identificadores Comportamento
Primário external_id, user_alias, braze_id Usado para busca do perfil de usuário. Apenas um identificador primário é permitido por objeto de solicitação — incluir mais de um faz com que o objeto seja rejeitado.
Secundário email, phone Usado para busca do perfil de usuário somente quando nenhum identificador primário está presente. Se tanto email quanto phone forem incluídos sem um identificador primário, email tem precedência.

Quando um identificador primário está presente, quaisquer valores de email ou phone no mesmo objeto de solicitação são tratados como atributos do perfil — não como identificadores para busca de usuário. Por exemplo, se uma solicitação inclui tanto um external_id quanto um email:

  • A Braze busca o perfil de usuário pelo external_id.
  • O valor de email é definido (ou atualizado) como um atributo no perfil encontrado.

Exemplos de solicitações

Atualizar um perfil de usuário por endereço de e-mail

É possível atualizar um perfil de usuário por endereço de e-mail usando o endpoint /users/track.

curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--data-raw '{
    "attributes": [
        {
            "email": "[email protected]",
            "string_attribute": "fruit",
            "boolean_attribute_1": true,
            "integer_attribute": 26,
            "array_attribute": [
                "banana",
                "apple"
            ]
        }
    ],
    "events": [
        {
            "email": "[email protected]",
            "app_id": "your_app_identifier",
            "name": "rented_movie",
            "time": "2022-12-06T19:20:45+01:00",
            "properties": {
                "release": {
                    "studio": "FilmStudio",
                    "year": "2022"
                },
                "cast": [
                    {
                        "name": "Actor1"
                    },
                    {
                        "name": "Actor2"
                    }
                ]
            }
        },
        {
            "user_alias": {
                "alias_name": "device123",
                "alias_label": "my_device_identifier"
            },
            "app_id": "your_app_identifier",
            "name": "rented_movie",
            "time": "2013-07-16T19:20:50+01:00"
        }
    ],
    "purchases": [
        {
            "email": "[email protected]",
            "app_id": "your_app_identifier",
            "product_id": "product_name",
            "currency": "USD",
            "price": 12.12,
            "quantity": 6,
            "time": "2017-05-12T18:47:12Z",
            "properties": {
                "color": "red",
                "monogram": "ABC",
                "checkout_duration": 180,
                "size": "Large",
                "brand": "Backpack Locker"
            }
        }
    ]
}'

Atualizar um perfil de usuário por número de telefone

Você pode atualizar um perfil de usuário por número de telefone usando o endpoint /users/track. Esse endpoint só funciona se você incluir um número de telefone válido.

curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--data-raw '{
    "attributes": [
        {
            "phone": "+15043277269",
            "string_attribute": "fruit",
            "boolean_attribute_1": true,
            "integer_attribute": 25,
            "array_attribute": [
                "banana",
                "apple"
            ]
        }
    ],
}'

Definir grupos de inscrições

Este exemplo mostra como criar um usuário e definir seu grupo de inscrições no objeto de atributos do usuário.

A atualização do status da inscrição com esse endpoint atualiza o usuário especificado pelo external_id (como User1) e atualiza o status da inscrição de todos os usuários com o mesmo e-mail desse usuário (User1).

curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--data-raw '{
  "attributes": [
  {
    "external_id": "user_identifier",
    "email": "[email protected]",
    "email_subscribe": "subscribed",
    "subscription_groups": [{
      "subscription_group_id": "subscription_group_identifier_1",
      "subscription_state": "unsubscribed"
      },
      {
        "subscription_group_id": "subscription_group_identifier_2",
        "subscription_state": "subscribed"
        },
        {
          "subscription_group_id": "subscription_group_identifier_3",
          "subscription_state": "subscribed",
          "use_double_opt_in_logic": true
        }
      ]
    }
  ]
}'

Exemplo de solicitação para criar um usuário somente de alias

Você pode usar o endpoint /users/track para criar um usuário somente de alias, definindo a chave _update_existing_only com o valor false no corpo da solicitação. Se você omitir esse valor, a Braze não criará o perfil de usuário somente de alias. O uso de um usuário somente de alias garante que exista um perfil com esse alias. Isso é especialmente útil ao criar uma integração, pois evita que a Braze crie perfis de usuário duplicados.

curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--data-raw '{
    "attributes": [
        {
            "_update_existing_only": false,
            "user_alias": {
                "alias_name": "example_name",
                "alias_label": "example_label"
            },
            "email": "[email protected]"
        }
    ],
}'

Exemplo de solicitação com um group ID para rastreamento de status

Este exemplo atualiza o nível de fidelidade de um usuário e inclui um group_id para que você possa verificar quando a Braze terminar de processar a solicitação. Para verificar o status, chame o endpoint /users/track/status com o mesmo group_id. Para saber mais, consulte Rastrear status de processamento de solicitações.

curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--data-raw '{
    "group_id": "loyalty_backfill_2026-09-23",
    "attributes": [
        {
            "external_id": "user_identifier",
            "loyalty_tier": "gold"
        }
    ]
}'

Respostas

Ao usar qualquer uma das solicitações de API mencionadas acima, você deve receber uma das três respostas gerais a seguir: uma mensagem de sucesso, uma mensagem de sucesso com erros não fatais ou uma mensagem com erros fatais.

Mensagem de sucesso

As mensagens de sucesso retornam a seguinte resposta:

{
  "message": "success",
  "attributes_processed": (optional, integer), if attributes are included in the request, this returns an integer of the number of external_ids with attributes that Braze queued for processing,
  "events_processed": (optional, integer), if events are included in the request, this returns an integer of the number of events that Braze queued for processing,
  "purchases_processed": (optional, integer), if purchases are included in the request, this returns an integer of the number of purchases that Braze queued for processing,
}

Mensagem de sucesso com erros não fatais

Se sua mensagem for bem-sucedida, mas tiver erros não fatais, como um objeto de evento inválido em uma longa lista de eventos, você receberá a seguinte resposta:

{
  "message": "success",
  "errors": [
    {
      <minor error message>
    }
  ]
}

Para mensagens de sucesso, a Braze ainda processa todos os dados não afetados por um erro no vetor errors.

Mensagem com erros fatais

Se sua mensagem tiver um erro fatal, você receberá a seguinte resposta:

{
  "message": <fatal error message>,
  "errors": [
    {
      <fatal error message>
    }
  ]
}

Códigos de resposta de erros fatais

Para obter os códigos de status e as mensagens de erro associadas que a Braze retorna se sua solicitação encontrar um erro fatal, consulte Erros fatais e respostas.

Se receber o erro “provided external_id is blacklisted and disallowed”, sua solicitação pode ter incluído um “usuário fictício”. Para saber mais, consulte Bloqueio de spam.

Erros específicos do endpoint

Os erros a seguir são específicos do endpoint /users/track e são retornados no vetor errors da resposta. Use-os para solucionar problemas com objetos individuais em uma solicitação.

Erro Descrição
BAD_DEVICE_ID O device_id para uma importação de token deve ter entre 8 e 255 bytes.
BAD_EMAIL_SUBSCRIPTION_STATE email_subscribe deve ser subscribed, unsubscribed ou opted_in.
BAD_LOCATION_UPDATE current_location deve ser um objeto contendo longitude e latitude.
BAD_PUSH_SUBSCRIPTION_STATE push_subscribe deve ser subscribed, unsubscribed ou opted_in.
BAD_PUSH_TOKEN_APP_ID O app_id em uma importação de token deve ser um identificador de app válido do espaço de trabalho atual.
BAD_PUSH_TOKEN_IMPORT As importações de token devem incluir tokens e excluir external_id e braze_id.
BAD_PUSH_TOKEN_STRING O valor de token em uma importação de token deve ser uma string.
BAD_PUSH_TOKEN_VALUE push_tokens deve ser um vetor de objetos.
BAD_SUBSCRIPTION_GROUP_ARRAY subscription_groups deve ser um vetor.
BAD_SUBSCRIPTION_GROUP_HASH Cada item no vetor subscription_groups deve ser um objeto JSON com as chaves subscription_group_id e subscription_state.
BAD_SUBSCRIPTION_GROUP_ID subscription_group_id deve ser um UUID válido de grupo de inscrições.
BAD_SUBSCRIPTION_GROUP_STATE subscription_state para um grupo de inscrições deve ser subscribed ou unsubscribed.
BLACKLISTED_EXTERNAL_USER_ID O external_id fornecido está na lista de proibições e não é permitido.
EMAIL_BAD_FORMAT O valor fornecido para email não é um endereço de e-mail válido.
EXTERNAL_USER_ID_TOO_LARGE O external_id excede o comprimento máximo permitido de 987 bytes.
INVALID_ATTRIBUTE_EMAIL_SUBSCRIPTION_INFO email_subscription_info não é um atributo válido.

Rastrear status de processamento de solicitações

A Braze processa as solicitações /users/track de forma assíncrona. Uma resposta de sucesso significa que a Braze recebeu sua solicitação e a colocou na fila para processamento, mas os dados podem ainda não estar no perfil do usuário. Para confirmar quando o processamento é concluído, adicione um group_id às suas solicitações e verifique o status do grupo com o endpoint /users/track/status.

Use o rastreamento de status de processamento de solicitações para o seguinte:

  • Confirmar que atualizações de atributos ou inscrições estão no perfil antes de disparar um Canvas ou uma Campaign que dependa delas
  • Confirmar que um preenchimento retroativo ou importação foi concluído antes de lançar o envio de mensagens para os usuários afetados
  • Manter um registro de que atualizações de alta prioridade, como alterações de consentimento, concluíram o processamento

Como funciona

  1. Escolha um group_id para um conjunto de solicitações relacionadas. Por exemplo, use um group_id para cada solicitação em um preenchimento retroativo, ou um group_id exclusivo para uma única solicitação que você deseja confirmar.
  2. Inclua o group_id no nível superior do corpo de cada solicitação /users/track. A Braze conta cada solicitação aceita para o grupo.
  3. Chame o endpoint /users/track/status com o group_id. Quando o status do grupo for completed, a Braze terá concluído o processamento de todas as solicitações do grupo.

Se você enviar outra solicitação com o mesmo group_id depois que o grupo estiver completed, o status do grupo retornará a processing até que a Braze termine de processar a nova solicitação.

A Braze rastreia o status de cada grupo como um todo. Um grupo é completed quando a Braze termina de processar todas as solicitações do grupo, incluindo solicitações em que a Braze rejeitou alguns objetos. A Braze lista os objetos rejeitados no vetor errors de cada resposta /users/track.

O rastreamento de status está disponível apenas para o endpoint /users/track. A Braze não rastreia o status de solicitações para o endpoint /users/track/bulk ou o endpoint /users/track/sync.

Requisitos do group ID

Um group_id deve ter de 1 a 128 caracteres e pode conter apenas letras, números, pontos (.), underscores (_), tils (~) e hífens (-).

Os group IDs são delimitados por espaço de trabalho. O mesmo group_id em dois espaços de trabalho refere-se a dois grupos separados.

Use um novo group_id para cada conjunto de solicitações que deseja rastrear. Reutilizar um group_id adiciona solicitações ao grupo existente e não estende o período de retenção.

Limites e retenção

Limite Valor
Retenção 24 horas

A Braze retém o status do grupo por 24 horas a partir da primeira solicitação com um group_id. Após o período de retenção, o endpoint /users/track/status retorna um vetor results vazio para esse group_id.
Solicitações por grupo 6.000.000
Grupos ativos por espaço de trabalho 100.000. Um grupo fica ativo até o fim do período de retenção.
Limite de taxa do /users/track/status 1.500 solicitações por minuto por espaço de trabalho. Este limite é separado do limite de taxa do /users/track.

Erros de rastreamento de status

A Braze não consegue rastrear o status de uma solicitação em alguns casos, como quando o espaço de trabalho atingiu o número máximo de grupos ativos. Quando isso acontece, a resposta de /users/track ainda é bem-sucedida e a Braze ainda processa os atributos, eventos e compras da solicitação. A resposta inclui uma entrada no vetor errors que descreve por que a Braze não está rastreando a solicitação:

{
  "message": "success",
  "errors": [
    {
      "type": "request_status_group_full"
    }
  ]
}
Tipo de erro Descrição
invalid_group_id O group_id não é uma string, está vazio, tem mais de 128 caracteres ou contém caracteres não permitidos. Para saber mais, consulte Requisitos do group ID.
request_status_active_group_limit_exceeded O espaço de trabalho atingiu o limite de grupos ativos. Aguarde os grupos existentes expirarem ou envie a solicitação sem um group_id.
request_status_group_full O grupo atingiu o limite de solicitações. Use um novo group_id para solicitações adicionais.
request_status_not_tracked A Braze não conseguiu rastrear a solicitação. Por exemplo, o período de retenção do grupo terminou ou o rastreamento de status não está habilitado para o espaço de trabalho.

Perguntas frequentes

O que acontece quando são encontrados vários perfis com o mesmo endereço de e-mail?

Se o external_id existir, a Braze priorizará o perfil atualizado mais recentemente com um ID externo para atualizações. Se o external_id não existir, a Braze priorizará o perfil atualizado mais recentemente para atualizações.

O que acontece se não houver nenhum perfil com o endereço de e-mail?

A Braze cria um perfil e um usuário somente de e-mail e define o campo de e-mail como [email protected], conforme indicado no exemplo de solicitação para atualizar um perfil de usuário por endereço de e-mail. A Braze não cria um alias.

Como usar o /users/track para importar dados de usuários antigos?

Você pode enviar dados por meio da API da Braze para um usuário que ainda não tenha usado seu app móvel para gerar um perfil de usuário. Se o usuário usar o aplicativo posteriormente, todas as informações após a identificação usando o SDK serão mescladas com o perfil de usuário existente que você criou usando a chamada da API. Qualquer comportamento de usuário registrado anonimamente pelo SDK antes da identificação é perdido ao ser mesclado com o perfil de usuário existente gerado pela API.

A ferramenta de segmentação inclui esses usuários independentemente de terem interagido com o app. Se você quiser excluir usuários enviados usando a API de Usuário que ainda não interagiram com o app, adicione o filtro Session Count > 0.

Como evitar a criação de perfis de usuário duplicados?

Perfis duplicados podem ocorrer quando uma solicitação inclui um identificador primário (como external_id) que não corresponde a nenhum perfil existente, junto com um valor de email ou phone que corresponde a um perfil existente. Como os identificadores primários são usados para busca de usuário, a Braze cria um novo perfil para o external_id não reconhecido em vez de atualizar o perfil existente somente de e-mail ou somente de telefone.

Para evitar duplicatas:

  • Ao fazer a transição de usuários de perfis somente de e-mail ou somente de telefone para perfis identificados, use o endpoint /users/identify para atribuir um external_id ao perfil existente, em vez de enviar ambos para /users/track.
  • Se já existirem duplicatas, mescle-as usando o endpoint /users/merge.

Como o /users/track lida com eventos duplicados?

Cada objeto de evento no vetor de eventos representa uma única ocorrência de um evento personalizado por um usuário em um momento designado. Isso significa que cada evento ingerido pela Braze tem seu próprio ID de evento, de modo que os eventos “duplicados” são tratados como eventos separados e exclusivos.

Como o /users/track lida com atributos personalizados aninhados inválidos?

Quando um atributo personalizado aninhado contém valores inválidos (como formatos de hora inválidos ou valores nulos), a Braze descarta do processamento todas as atualizações de atributos personalizados aninhados na solicitação. Isso se aplica a todas as estruturas aninhadas dentro desse atributo específico. Para garantir o processamento bem-sucedido, verifique se todos os valores dentro dos atributos personalizados aninhados são válidos antes do envio.

As solicitações ao /users/track são garantidamente processadas em ordem?

Quando você faz várias chamadas de API separadas ao /users/track em rápida sucessão, a Braze não pode garantir que as solicitações sejam processadas na ordem exata em que foram enviadas ou recebidas. Isso ocorre porque a Braze usa processamento assíncrono para maximizar velocidade e flexibilidade.

Por exemplo, se você enviar várias solicitações de atualização para o mesmo usuário em poucos segundos — algumas com valores de atributo nulos e outras com valores válidos — as solicitações contendo valores nulos podem ser processadas após as solicitações com valores válidos, mesmo que tenham sido enviadas antes. Isso pode fazer com que os valores dos atributos pareçam reverter ou não refletir a atualização enviada mais recentemente.

Para evitar condições de corrida ao atualizar dados de usuários:

  • Agrupe atualizações em uma única solicitação: inclua todas as atualizações de atributos de um usuário em uma única chamada de API, em vez de fazer chamadas consecutivas separadas.
  • Adicione intervalos entre solicitações: se você precisar fazer chamadas separadas para o mesmo usuário, adicione um intervalo (alguns segundos) entre as solicitações para permitir que a primeira seja processada antes de enviar a próxima.
  • Evite atualizações sobrepostas para o mesmo campo: se duas solicitações atualizam o mesmo atributo com valores diferentes, envie essas atualizações em uma única solicitação ou separe-as com um intervalo para reduzir a chance de resultados fora de ordem.
  • Confirme o processamento antes da próxima solicitação (beta): inclua um group_id na primeira solicitação e aguarde até que o endpoint /users/track/status retorne completed antes de enviar a solicitação dependente. Para saber mais, consulte Rastrear status de processamento de solicitações.

Para saber mais sobre condições de corrida e práticas recomendadas, consulte Condições de corrida.

Como saber quando a Braze terminou de processar minha solicitação?

Inclua um group_id nas suas solicitações /users/track e depois chame o endpoint /users/track/status com esse group_id. Quando o status do grupo for completed, a Braze terá concluído o processamento de todas as solicitações do grupo. Esse recurso está em beta. Para saber mais, consulte Rastrear status de processamento de solicitações.

Com que frequência devo verificar o status de um grupo?

Consulte o endpoint /users/track/status em um intervalo regular, como a cada poucos segundos, e pare quando o status do grupo for completed. Mantenha a frequência de consultas dentro do limite de taxa do endpoint de 1.500 solicitações por minuto por espaço de trabalho.

Por que meu grupo ainda está em processamento?

Um grupo permanece em processing até que a Braze termine de processar todas as solicitações aceitas do grupo. Se uma solicitação falhar durante o processamento, a Braze fará uma nova tentativa, e o grupo permanecerá em processing até que a tentativa seja bem-sucedida. Se você adicionar solicitações a um grupo depois que ele estiver completed, o status retornará a processing. Em casos raros, um grupo pode permanecer em processing até o fim do período de retenção. Se um grupo permanecer em processing por muito mais tempo do que o seu tempo de processamento habitual, entre em contato com o suporte da Braze.

Por que o /users/track/status retorna um vetor results vazio?

O vetor results fica vazio quando a Braze não encontra o grupo no espaço de trabalho. Isso acontece quando o período de retenção de 24 horas do grupo expirou, o group_id não corresponde ao da solicitação, ou você enviou as solicitações para um espaço de trabalho diferente. Também acontece quando a Braze não rastreou nenhuma solicitação para esse group_id. Verifique cada resposta de /users/track em busca de erros de rastreamento de status.

Por que a resposta do /users/track está mais lenta do que eu esperava?

Chamadas bem-sucedidas ao /users/track geralmente são aceitas rapidamente, mas a Braze ainda processa atualizações de atributos, eventos e compras de forma assíncrona. A latência percebida pode aumentar quando as cargas úteis são grandes ou quando o roteamento de rede até o seu endpoint REST é lento. Se você precisar de uma confirmação síncrona por usuário ou de uma ordenação mais rigorosa entre chamadas, consulte /users/track/sync (beta limitado).

Por que o /users/track retorna 429 Too Many Requests?

Quando o volume de solicitações excede o limite de taxa, o /users/track retorna uma resposta HTTP 429 Too Many Requests. Para voltar a enviar solicitações:

  1. Pause as solicitações pelo número de segundos especificado no cabeçalho de resposta X-RateLimit-Retry-After.
  2. Retome as solicitações em uma taxa menor para reduzir a probabilidade de outra resposta 429.
  3. Combine atualizações sempre que possível e siga o limite de objetos por solicitação da sua conta.
  4. Use o dashboard de uso da API para identificar picos de solicitações e tendências de respostas 429. Para limites padrão do espaço de trabalho e limites de outros endpoints, consulte Limites de taxa da API.

Para respostas que não retornam 429 em contratos compatíveis, use os cabeçalhos de resposta X-RateLimit-* descritos em Cabeçalhos de limite de taxa para Monthly Active Users CY 24-25, Universal MAU, Web MAU e Mobile MAU para verificar as solicitações restantes na janela atual.

Por que recebo 400 Bad Request com um erro de sintaxe ou análise?

Um HTTP 400 com um erro de sintaxe ou análise geralmente significa que o corpo da solicitação não é um JSON válido. Causas comuns incluem vírgulas finais, comentários dentro do JSON, strings com aspas simples, uma chave { extra antes da carga útil ou o envio de um corpo que não é JSON enquanto o cabeçalho Content-Type é application/json. Valide as cargas úteis com um linter de JSON antes de enviar, confirme que seu cliente HTTP codifica objetos em JSON (em vez de concatenar strings brutas) e confirme que o corpo está codificado em UTF-8. Para outras respostas 400 (por exemplo, tamanho da carga útil e limites de objetos por solicitação), consulte Erros fatais e respostas e a tabela de Erros específicos do endpoint nesta página.

Monthly Active Users CY 24-25, Universal MAU, Web MAU e Mobile MAU

Para clientes com novos preços, os limites de taxa são aplicados no nível da empresa. Os clientes podem definir limites de taxa do espaço de trabalho para limites por hora, mas os limites de burst ainda são compartilhados entre todos os espaços de trabalho.

Para os clientes que adquiriram Monthly Active Users CY 24-25, Universal MAU, Web MAU ou Mobile MAU, a Braze gerencia diferentes limites de taxa em seu endpoint /users/track:

  • Os limites de taxa por hora são definidos de acordo com a atividade esperada de ingestão de dados na sua conta, que pode corresponder ao número de usuários ativos mensais que você adquiriu, setor, sazonalidade ou outros fatores.
  • Além do limite por hora, a Braze impõe um limite de burst no número de solicitações que podem ser enviadas a cada três segundos.
  • Cada solicitação pode conter até 75 atualizações combinadas entre objetos de atributo, evento ou compra.

Os limites atuais baseados na ingestão esperada podem ser encontrados no dashboard em Configurações > APIs e identificadores > API Usage Dashboard. Podemos modificar os limites de taxa para proteger a estabilidade do sistema ou permitir um aumento na taxa de transferência de dados na sua conta. Entre em contato com o suporte da Braze ou com o seu gerente de sucesso do cliente em caso de dúvidas ou preocupações relacionadas ao limite de solicitações por hora ou por segundo e às necessidades da sua empresa.

Cabeçalhos de limite de taxa para Monthly Active Users CY 24-25, Universal MAU, Web MAU e Mobile MAU

Todas as respostas sem limite de taxa (ou seja, que não retornam 429) contêm os seguintes cabeçalhos de resposta HTTP que indicam o estado da janela de limite de taxa por hora para o cliente. Use esses cabeçalhos para gerenciar sua taxa de solicitações:

Nome do cabeçalho Descrição
X-RateLimit-Limit O número de solicitações permitidas por período de tempo
X-RateLimit-Remaining O número aproximado de solicitações restantes na janela atual
X-RateLimit-Reset O número de segundos restantes antes da reinicialização da janela atual

Observe que os cabeçalhos RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset não são retornados quando você recebe um erro HTTP 429. Quando o erro ocorre, esses cabeçalhos são substituídos por um cabeçalho X-RateLimit-Retry-After que retorna um número inteiro indicando o número de segundos antes que você possa voltar a fazer solicitações.

New Stuff!