Skip to content

Visão geral da API

Este artigo de referência aborda os conceitos básicos da API, incluindo a terminologia comum e uma visão geral das chaves da REST API, permissões e como mantê-las seguras.

Coleção da REST API da Braze

Coleção Finalidade
Catálogos Crie e gerencie catálogos e itens de catálogo para fazer referência nas suas Campaigns na Braze.
Ingestão de dados na nuvem Gerencie as integrações e sincronizações do seu data warehouse.
Listas e endereços de e-mail Configure e gerencie a sincronização bidirecional entre a Braze e seus sistemas de e-mail.
Exportar Acesse e exporte várias informações das suas Campaigns, Canvas, KPIs e muito mais.
Biblioteca de mídia Gerencie ativos dentro da Braze.
Mensagens Programe, envie e gerencie suas Campaigns e Canvas.
Central de Preferências Crie sua Central de Preferências e atualize o estilo dela.
SCIM Gerencie identidades de usuários em aplicativos e serviços baseados em nuvem.
SMS Gerencie os números de telefone dos seus usuários nos seus grupos de inscrições.
Grupos de inscrições Liste e atualize os grupos de inscrições para e-mail e SMS armazenados no dashboard da Braze.
Modelos Crie e atualize modelos para envio de mensagens de e-mail e Content Blocks.
Dados de usuários Identifique, rastreie e gerencie seus usuários.

Definições da API

A seguir, uma visão geral dos termos que você poderá encontrar na documentação da REST API da Braze.

Endpoints

A Braze gerencia várias instâncias diferentes para nosso dashboard e endpoints REST. Quando sua conta for provisionada, você faz login em uma das seguintes URLs. Use o endpoint REST correto com base na instância para a qual você está provisionado. Se você não tiver certeza, abra um ticket de suporte ou use a tabela a seguir para corresponder a URL do dashboard que você usa ao endpoint REST correto.

Para encontrar seu endpoint REST na Braze:

  1. Faça login na Braze e acesse Settings > APIs and Identifiers > API Keys.
  2. Selecione uma chave de API existente ou selecione Create API Key para criar uma nova chave.
  3. Copie o endpoint REST mostrado nesta guia e use esse endpoint para suas solicitações de API.
Instância URL Endpoint REST Endpoint de SDK
US-01 https://dashboard-01.braze.com https://rest.iad-01.braze.com sdk.iad-01.braze.com
US-02 https://dashboard-02.braze.com https://rest.iad-02.braze.com sdk.iad-02.braze.com
US-03 https://dashboard-03.braze.com https://rest.iad-03.braze.com sdk.iad-03.braze.com
US-04 https://dashboard-04.braze.com https://rest.iad-04.braze.com sdk.iad-04.braze.com
US-05 https://dashboard-05.braze.com https://rest.iad-05.braze.com sdk.iad-05.braze.com
US-06 https://dashboard-06.braze.com https://rest.iad-06.braze.com sdk.iad-06.braze.com
US-07 https://dashboard-07.braze.com https://rest.iad-07.braze.com sdk.iad-07.braze.com
US-08 https://dashboard-08.braze.com https://rest.iad-08.braze.com sdk.iad-08.braze.com
US-10 https://dashboard.us-10.braze.com https://rest.us-10.braze.com sdk.us-10.braze.com
EU-01 https://dashboard-01.braze.eu https://rest.fra-01.braze.eu sdk.fra-01.braze.eu
EU-02 https://dashboard-02.braze.eu https://rest.fra-02.braze.eu sdk.fra-02.braze.eu
AU-01 https://dashboard.au-01.braze.com https://rest.au-01.braze.com sdk.au-01.braze.com
ID-01 https://dashboard.id-01.braze.com https://rest.id-01.braze.com sdk.id-01.braze.com
JP-01 https://dashboard.jp-01.braze.com https://rest.jp-01.braze.com sdk.jp-01.braze.com
KR-01 https://dashboard.kr-01.braze.com https://rest.kr-01.braze.com sdk.kr-01.braze.com

Limites da API

Para a maioria das APIs, a Braze tem um limite de taxa padrão de 250.000 solicitações por hora. No entanto, certos tipos de solicitações têm seu próprio limite de taxa aplicado para lidar melhor com altos volumes de dados em toda a base de clientes. Para mais informações, consulte Limites de taxa da API.

IDs de usuário

  • ID externo: O external_id serve como um identificador exclusivo do usuário para o qual você está enviando dados. Esse identificador deve ser o mesmo que você definiu no SDK da Braze para evitar a criação de vários perfis para o mesmo usuário.
  • ID do usuário da Braze: O braze_id serve como um identificador único de usuário definido pela Braze. Você pode usar esse identificador para excluir usuários pela REST API, além dos external_ids.

Para saber mais, consulte os seguintes artigos com base na sua plataforma: iOS, Android e Web.

Sobre as chaves da REST API

Uma chave de interface de programação de aplicativo REST (chave da REST API) é um código único que você passa para uma API para autenticar a chamada e identificar o aplicativo ou usuário que está fazendo a chamada. Você acessa a API usando solicitações web HTTPS para o endpoint REST da sua empresa. As chaves da REST API funcionam em conjunto com as chaves de identificador de app para rastrear, acessar, enviar, exportar e analisar dados, ajudando a garantir que tudo funcione sem problemas.

Os espaços de trabalho e as chaves de API andam de mãos dadas na Braze. Os espaços de trabalho são projetados para abrigar versões do mesmo aplicativo em várias plataformas. Muitos clientes também usam espaços de trabalho para conter versões gratuitas e premium dos seus aplicativos na mesma plataforma. Como você pode notar, esses espaços de trabalho também usam a REST API e têm suas próprias chaves da REST API. Essas chaves podem ter escopo individual para incluir acesso a endpoints específicos na API. Cada chamada para a API precisa incluir uma chave com acesso ao endpoint utilizado.

Referimo-nos tanto à chave da REST API quanto à chave da API do espaço de trabalho como api_key. O api_key é incluído em cada solicitação como um cabeçalho de solicitação e atua como uma chave de autenticação que permite usar nossas REST APIs. Essas REST APIs são usadas para rastrear usuários, enviar mensagens, exportar dados de usuários e muito mais. Quando você cria uma nova chave da REST API, deve conceder acesso a endpoints específicos. Ao atribuir permissões específicas a uma chave de API, você pode limitar exatamente quais chamadas essa chave pode autenticar.

Painel de chaves da REST API na guia Chaves de API.

Criação de chaves da REST API

Para criar uma nova chave da REST API:

  1. Acesse Settings > APIs and Identifiers.
  2. Selecione Create API Key.
  3. Dê um nome à sua nova chave para identificá-la rapidamente.
  4. Especifique endereços IP na lista de permissões e sub-redes para a nova chave.
  5. Selecione as permissões que deseja associar à sua nova chave.

Permissões de chave da REST API

As permissões de chave de API são permissões que podem ser atribuídas a um usuário ou grupo para limitar seu acesso a determinadas chamadas de API. Para visualizar sua lista de permissões de chave de API, acesse Settings > APIs and Identifiers e selecione sua chave de API.

Permissão Endpoint Descrição
users.track /users/track Registre atributos do usuário, eventos personalizados e compras.
users.delete /users/delete Exclua qualquer usuário.
users.alias.new /users/alias/new Crie um novo alias para um usuário existente.
users.identify /users/identify Identifique um usuário somente de alias com um ID externo.
users.export.ids /users/export/ids Consulte informações do perfil do usuário por ID do usuário.
users.export.segment /users/export/segment Consulte informações do perfil do usuário por Segment.
users.merge /users/merge Mescle dois usuários existentes.
users.external_ids.rename /users/external_ids/rename Altere o ID externo de um usuário existente.
users.external_ids.remove /users/external_ids/remove Remova o ID externo de um usuário existente.
users.alias.update /users/alias/update Atualize um alias de um usuário existente.
users.export.global_control_group /users/export/global_control_group Consulte informações do perfil do usuário no grupo de controle global.
Permissão Endpoint Descrição
messages.send /messages/send Envie uma mensagem imediata para usuários específicos.
messages.schedule.create /messages/schedule/create Agende uma mensagem para ser enviada em um horário específico.
messages.schedule.update /messages/schedule/update Atualize uma mensagem agendada.
messages.schedule.delete /messages/schedule/delete Exclua uma mensagem agendada.
messages.schedule_broadcasts /messages/scheduled_broadcasts Consulte todas as mensagens de broadcast agendadas.
messages.live_activity.update /messages/live_activity/update Atualize uma Live Activity do iOS.
Permissão Endpoint Descrição
campaigns.trigger.send /campaigns/trigger/send Dispare o envio de uma Campaign existente.
campaigns.trigger.schedule.create /campaigns/trigger/schedule/create Agende o envio de uma Campaign com entrega disparada por API.
campaigns.trigger.schedule.update /campaigns/trigger/schedule/update Atualize uma Campaign agendada com entrega disparada por API.
campaigns.trigger.schedule.delete /campaigns/trigger/schedule/delete Exclua uma Campaign agendada com entrega disparada por API.
campaigns.list /campaigns/list Consulte uma lista de Campaigns.
campaigns.data_series /campaigns/data_series Consulte a análise de dados de uma Campaign em um intervalo de tempo.
campaigns.details /campaigns/details Consulte os detalhes de uma Campaign específica.
sends.data_series /sends/data_series Consulte a análise de dados de envios de mensagens em um período.
sends.id.create /sends/id/create Crie um ID de envio para rastreamento de mensagens.
campaigns.url_info.details /campaigns/url_info/details Consulte detalhes de URL de uma variação de mensagem específica dentro de uma Campaign.
transactional.send /transactional/v1/campaigns/{campaign_id}/send Permite o envio de mensagens transacionais usando o endpoint de mensagens transacionais.
Permissão Endpoint Descrição
canvas.trigger.send /canvas/trigger/send Dispare o envio de um Canvas existente.
canvas.trigger.schedule.create /canvas/trigger/schedule/create Agende o envio de um Canvas com entrega disparada por API.
canvas.trigger.schedule.update /canvas/trigger/schedule/update Atualize um Canvas agendado com entrega disparada por API.
canvas.trigger.schedule.delete /canvas/trigger/schedule/delete Exclua um Canvas agendado com entrega disparada por API.
canvas.list /canvas/list Consulte uma lista de Canvas.
canvas.data_series /canvas/data_series Consulte a análise de dados do Canvas em um período.
canvas.details /canvas/details Consulte os detalhes de um Canvas específico.
canvas.data_summary /canvas/data_summary Consulte resultados consolidados da análise de dados do Canvas em um período.
canvas.url_info.details /canvas/url_info/details Consulte detalhes de URL de uma variação de mensagem específica em uma etapa do Canvas.
Permissão Endpoint Descrição
segments.list /segments/list Consulte uma lista de Segments.
segments.data_series /segments/data_series Consulte a análise de dados de um Segment em um intervalo de tempo.
segments.details /segments/details Consulte os detalhes de um Segment específico.
Permissão Endpoint Descrição
purchases.product_list /purchases/product_list Consulte uma lista de produtos comprados no seu app.
purchases.revenue_series /purchases/revenue_series Consulte o valor total gasto por dia no seu app em um período.
purchases.quantity_series /purchases/quantity_series Consulte o número total de compras por dia no seu app em um intervalo de tempo.
Permissão Endpoint Descrição
events.list /events/list Consulte uma lista de eventos personalizados.
events.data_series /events/data_series Consulte as ocorrências de um evento personalizado em um intervalo de tempo.
Permissão Endpoint Descrição
sessions.data_series /sessions/data_series Consulte a quantidade de sessões por dia em um período.
Permissão Endpoint Descrição
kpi.dau.data_series /kpi/dau/data_series Consulte a quantidade de usuários ativos únicos por dia em um período.
kpi.mau.data_series /kpi/mau/data_series Consulte o total de usuários ativos únicos em uma janela móvel de 30 dias ao longo de um período.
kpi.new_users.data_series /kpi/new_users/data_series Consulte a quantidade de novos usuários por dia em um período.
kpi.uninstalls.data_series /kpi/uninstalls/data_series Consulte a quantidade de desinstalações do app por dia em um período.
Permissão Endpoint Descrição
templates.email.create /templates/email/create Crie um novo modelo de e-mail no dashboard.
templates.email.info /templates/email/info Consulte informações de um modelo específico.
templates.email.list /templates/email/list Consulte uma lista de modelos de e-mail.
templates.email.update /templates/email/update Atualize um modelo de e-mail armazenado no dashboard.
Permissão Descrição
sso.saml.login Configure o login iniciado pelo provedor de identidade. Para saber mais, consulte o login iniciado pelo prestador de serviço (SP).
Permissão Endpoint Descrição
content_blocks.info /content_blocks/info Consulte informações de um modelo específico.
content_blocks.list /content_blocks/list Consulte uma lista de Content Blocks.
content_blocks.create /content_blocks/create Crie um novo Content Block no dashboard.
content_blocks.update /content_blocks_update Atualize um Content Block existente no dashboard.
Permissão Endpoint Descrição
preference_center.get /preference_center/v1/{preferenceCenterExternalId} Obtenha uma Central de Preferências.
preference_center.list /preference_center/v1/list Liste as Centrais de Preferências.
preference_center.update /preference_center/v1

/preference_center/v1/{preferenceCenterExternalID}
Crie ou atualize uma Central de Preferências.
preference_center.user.get /preference_center/v1/{preferenceCenterExternalId}/url/{userId} Obtenha o link de uma Central de Preferências para um usuário.
Permissão Endpoint Descrição
subscription.status.set /subscription/status/set Defina o status do grupo de inscrições.
subscription.status.get /subscription/status/get Obtenha o status do grupo de inscrições.
subscription.groups.get /subscription/user/status Obtenha o status dos grupos de inscrições nos quais usuários específicos estão explicitamente inscritos ou cancelaram a inscrição.
Permissão Endpoint Descrição
sms.invalid_phone_numbers /sms/invalid_phone_numbers Consulte números de telefone inválidos.
sms.invalid_phone_numbers.remove /sms/invalid_phone_numbers/remove Remova a sinalização de número de telefone inválido de usuários.
Permissão Endpoint Descrição
catalogs.add_items /catalogs/{catalog_name}/items Adicione vários itens a um catálogo existente.
catalogs.update_items /catalogs/{catalog_name}/items Atualize vários itens de um catálogo existente.
catalogs.delete_items /catalogs/{catalog_name}/items Exclua vários itens de um catálogo existente.
catalogs.get_item /catalogs/{catalog_name}/items/{item_id} Obtenha um único item de um catálogo existente.
catalogs.update_item /catalogs/{catalog_name}/items/{item_id} Atualize um único item de um catálogo existente.
catalogs.create_item /catalogs/{catalog_name}/items/{item_id} Crie um único item em um catálogo existente.
catalogs.delete_item /catalogs/{catalog_name}/items/{item_id} Exclua um único item de um catálogo existente.
catalogs.replace_item /catalogs/{catalog_name}/items/{item_id} Substitua um item de um catálogo existente.
catalogs.create /catalogs Crie um catálogo.
catalogs.get /catalogs Obtenha uma lista de catálogos.
catalogs.delete /catalogs/{catalog_name} Exclua um catálogo.
catalogs.get_items /catalogs/{catalog_name}/items Obtenha uma prévia de itens de um catálogo existente.
catalogs.replace_items /catalogs/{catalog_name}/items Substitua itens em um catálogo existente.
Permissão Endpoint Descrição
sdk_authentication.create /app_group/sdk_authentication/create Crie uma nova chave de autenticação do SDK para seu app.
sdk_authentication.primary /app_group/sdk_authentication/primary Marque uma chave de autenticação do SDK como a chave principal do seu app.
sdk_authentication.delete /app_group/sdk_authentication/delete Exclua uma chave de autenticação do SDK do seu app.
sdk_authentication.keys /app_group/sdk_authentication/keys Obtenha todas as chaves de autenticação do SDK do seu app.

Gerenciamento de chaves da REST API

Você pode visualizar detalhes ou excluir chaves da REST API existentes na guia Settings > APIs and Identifiers > API Keys. Observe que não é possível editar as chaves da REST API depois de criá-las.

A guia API Keys inclui as seguintes informações para cada chave:

Campo Descrição
Nome da chave de API O nome dado à chave na criação.
Identificador A chave de API.
Criado por O endereço de e-mail do usuário que criou a chave. Este campo aparece como “N/A” para chaves criadas antes de junho de 2023.
Data de criação A data em que essa chave foi criada.
Último uso A data em que essa chave foi usada pela última vez. Este campo aparece como “N/A” para chaves que nunca foram usadas.

Para visualizar os detalhes de uma chave de API, passe o mouse sobre a chave e selecione View. Isso inclui todas as permissões dessa chave, IPs na lista de permissões (se houver) e se essa chave está incluída na lista de permissões de IP da Braze.

A lista de permissões da chave de API no dashboard da Braze.

Observe que ao excluir um usuário, a Braze não exclui as chaves de API associadas que o usuário criou. Para excluir uma chave, passe o mouse sobre ela e selecione Delete.

Uma chave de API chamada "Last Seen" com o ícone de lixeira destacado, mostrando "Delete".

Segurança da chave da REST API

As chaves de API são usadas para autenticar uma chamada de API. Ao criar uma nova chave da REST API, você precisa dar a ela acesso a endpoints específicos. Ao atribuir permissões específicas a uma chave de API, você pode limitar exatamente quais chamadas essa chave pode autenticar.

Como as chaves da REST API permitem o acesso a endpoints da REST API potencialmente confidenciais, proteja essas chaves e compartilhe-as apenas com parceiros confiáveis. Elas nunca devem ser expostas publicamente. Por exemplo, não use essa chave para fazer chamadas AJAX no seu site nem a exponha de qualquer outra forma pública.

Uma boa prática de segurança é atribuir a um usuário apenas o acesso necessário para concluir seu trabalho: esse princípio também pode ser aplicado às chaves de API atribuindo permissões a cada chave. Essas permissões proporcionam mais segurança e controle sobre as diferentes áreas da sua conta.

Se você expuser acidentalmente uma chave, pode excluí-la no console de desenvolvedor. Para ajuda com esse processo, abra um ticket de suporte.

Segurança das chaves da REST API e das chaves da API SDK

As chaves da REST API e as chaves da API SDK têm perfis de segurança diferentes.

  Chaves da REST API Chaves da API SDK
Finalidade Autenticação do lado do servidor para a REST API (envio de mensagens, exportação de dados, gerenciamento de usuários) Identificação do lado do cliente para o SDK da Braze (ingestão de dados, mensagens no app, Content Cards)
Visibilidade Devem permanecer privadas. Nunca exponha em código do lado do cliente, repositórios públicos ou aplicativos de usuários. Projetadas para serem públicas. Incluídas no binário do seu app ou visíveis no JavaScript do navegador web, semelhante a um ID de rastreamento do Google Analytics.
Solução se expostas Revogue a chave imediatamente e crie uma substituta em Settings > APIs and Identifiers > API Keys. Uma chave da REST API exposta pode ser usada para enviar mensagens, exportar dados de usuários ou modificar configurações da conta. Nenhuma ação necessária. Uma chave da API SDK só pode ingerir dados e recuperar mensagens do lado do cliente (como mensagens no app e Content Cards). Ela não pode exportar dados de usuários, enviar mensagens em seu nome ou modificar Campaigns.

Lista de permissões de IP da API

Para maior segurança, você pode especificar uma lista de endereços IP e sub-redes que têm permissão para fazer solicitações de REST API para uma determinada chave da REST API. Isso é chamado de lista de permissões. Para permitir endereços IP ou sub-redes específicos, adicione-os à seção Whitelist IPs ao criar uma nova chave da REST API:

Opção para adicionar IPs à lista de permissões ao criar uma chave de API.

Se você não especificar nenhum, as solicitações poderão ser enviadas de qualquer endereço IP.

Autenticação e segurança da API

Autenticação por token Bearer

A Braze autentica as solicitações da REST API usando a chave da REST API passada como um token Bearer no cabeçalho Authorization da solicitação. Ao enviar uma solicitação, inclua sua chave de API no seguinte formato:

1
Authorization: Bearer YOUR_REST_API_KEY

Em cada solicitação, a Braze realiza as seguintes verificações de validação do lado do servidor:

  1. Validade do token: Verifica se a chave da REST API existe na Braze e está ativa (por exemplo, não revogada ou desativada).
  2. Autorização do token: Confirma se a chave da API tem as permissões necessárias para o endpoint solicitado.

Se a autenticação falhar, a API retorna uma resposta de erro com um código de status HTTP. Por exemplo, 401 Unauthorized indica uma chave inválida ou ausente, enquanto 403 Forbidden indica que a chave não tem permissão para o endpoint solicitado. Para saber mais, veja Erros da API.

Segurança em nível de rede

As solicitações da REST API para a Braze são protegidas por criptografia TLS (Transport Layer Security) ao longo de todo o caminho da solicitação. A tabela a seguir descreve o fluxo de rede para uma solicitação de API do seu servidor para a Braze:

Etapa Componente Descrição
1 Seu servidor Inicia uma solicitação HTTPS com criptografia TLS.
2 Cloudflare Encerra a conexão TLS do cliente e aplica proteções em nível de rede.
3 Balanceador de carga de rede (NLB) Encaminha pacotes para a infraestrutura da aplicação. Os NLBs operam na Camada 4, o que significa que não há proxy na Camada 7. Os pacotes são encaminhados sem inspeção ou modificação em nível HTTP.
4 Ingress NGINX Encerra a conexão TLS interna e roteia a solicitação.
5 Unicorn (servidor de aplicação) Processa a solicitação autenticada.

A criptografia TLS cobre cada elo da cadeia. Seu servidor se conecta ao Cloudflare via TLS, e o Cloudflare estabelece uma conexão TLS separada através do NLB para o ingress NGINX, garantindo que sua chave de API e os dados da solicitação permaneçam criptografados em trânsito.

Recursos adicionais

Biblioteca de cliente Ruby

Se você estiver implementando a Braze usando Ruby, pode usar a biblioteca cliente Ruby para reduzir o tempo de importação de dados. Uma biblioteca de cliente é uma coleção de códigos específicos de uma linguagem de programação — neste caso, Ruby — que facilita o uso de uma API.

A biblioteca cliente Ruby é compatível com os endpoints de usuário.

New Stuff!