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 referenciar nas suas Campaigns da Braze.
Ingestão de dados na nuvem Gerencie suas integrações e sincronizações de 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.
Exportação Acesse e exporte diversos detalhes das suas Campaigns, Canvas, KPIs e muito mais.
Biblioteca de mídia Gerencie ativos na Braze.
Mensagens Agende, 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 na 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 de SMS e e-mail armazenados no dashboard da Braze.
Modelos Crie e atualize modelos para envio de mensagens por e-mail e Content Blocks.
Dados de usuários Identifique, rastreie e gerencie seus usuários.

Definições da API

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

Endpoints

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

Para encontrar seu endpoint REST na Braze:

  1. Faça login na Braze e acesse Configurações > APIs e identificadores > Chaves de API.
  2. Selecione uma chave de API existente ou selecione Criar chave de API para criar uma nova chave.
  3. Copie o endpoint REST exibido 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 possui um limite de frequência padrão de 250.000 solicitações por hora. No entanto, determinados tipos de solicitação possuem seu próprio limite de frequência aplicado para lidar melhor com grandes volumes de dados na base de clientes. Para saber mais, consulte Limites de frequência da API

IDs de usuários

  • ID externo do usuário: 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 múltiplos perfis para o mesmo usuário.
  • ID de usuário Braze: O braze_id serve como um identificador exclusivo de usuário definido pela Braze. Você pode usar esse identificador para excluir usuários por meio da 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 da REST API (interface de programação de aplicativos REST) é um código exclusivo que você passa para uma API a fim de autenticar a chamada de API e identificar o aplicativo ou usuário que faz a chamada. Você acessa a API usando solicitações web HTTPS no endpoint da REST API da sua empresa. As chaves da REST API funcionam em conjunto com as chaves de identificação 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 caminham juntos na Braze. Os espaços de trabalho foram 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 de seus aplicativos na mesma plataforma. Como você pode notar, esses espaços de trabalho também utilizam a REST API e possuem suas próprias chaves da REST API. Essas chaves podem ter escopos individuais definidos para incluir acesso a endpoints específicos da API. Cada chamada à API deve incluir uma chave com acesso ao endpoint chamado.

Nós nos referimos tanto à chave da REST API quanto à chave de API do espaço de trabalho como api_key. A api_key é incluída em cada solicitação como um cabeçalho da solicitação e funciona como uma chave de autenticação que permite o uso das nossas REST APIs. Essas REST APIs são usadas para rastrear usuários, enviar mensagens, exportar dados de usuários e muito mais. Ao criar uma nova chave da REST API, você 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 de API pode autenticar.

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

Criando chaves da REST API

Para criar uma nova chave da REST API:

  1. Acesse Configurações > APIs e identificadores.
  2. Selecione Criar chave de API.
  3. Dê à sua nova chave um nome para identificação rápida.
  4. Especifique os endereços IP na lista de permissões e sub-redes para a nova chave.
  5. Selecione quais permissões você deseja associar à sua nova chave.

Permissões da chave da REST API

As permissões da chave de API são permissões que você pode atribuir a um usuário ou grupo para limitar o acesso deles a determinadas chamadas de API. Para visualizar sua lista de permissões de chave de API, acesse Configurações > APIs e identificadores e selecione sua chave de API.

Permissão Endpoint Descrição
users.track /users/track Registrar atributos de usuário, eventos personalizados e compras.
users.delete /users/delete Excluir qualquer usuário.
users.alias.new /users/alias/new Criar um novo alias para um usuário existente.
users.identify /users/identify Identificar um usuário somente com alias usando um ID externo.
users.export.ids /users/export/ids Consultar informações do perfil de usuário por ID de usuário.
users.export.segment /users/export/segment Consultar informações do perfil de usuário por Segment.
users.merge /users/merge Mesclar dois usuários existentes.
users.external_ids.rename /users/external_ids/rename Alterar o ID externo de um usuário existente.
users.external_ids.remove /users/external_ids/remove Remover o ID externo de um usuário existente.
users.alias.update /users/alias/update Atualizar um alias para um usuário existente.
users.export.global_control_group /users/export/global_control_group Consultar informações do perfil de usuário no grupo de controle global.
Permissão Endpoint Descrição
messages.send /messages/send Enviar uma mensagem imediata para usuários específicos.
messages.schedule.create /messages/schedule/create Agendar uma mensagem para ser enviada em um horário específico.
messages.schedule.update /messages/schedule/update Atualizar uma mensagem agendada.
messages.schedule.delete /messages/schedule/delete Excluir uma mensagem agendada.
messages.schedule_broadcasts /messages/scheduled_broadcasts Consultar todas as mensagens de transmissão agendadas.
messages.live_activity.update /messages/live_activity/update Atualizar uma Live Activity do iOS.
Permissão Endpoint Descrição
campaigns.trigger.send /campaigns/trigger/send Disparar o envio de uma Campaign existente.
campaigns.trigger.schedule.create /campaigns/trigger/schedule/create Agendar um envio de Campaign com entrega disparada por API.
campaigns.trigger.schedule.update /campaigns/trigger/schedule/update Atualizar uma Campaign agendada com entrega disparada por API.
campaigns.trigger.schedule.delete /campaigns/trigger/schedule/delete Excluir uma Campaign agendada com entrega disparada por API.
campaigns.list /campaigns/list Consultar uma lista de Campaigns.
campaigns.data_series /campaigns/data_series Consultar análise de dados de Campaigns em um intervalo de tempo.
campaigns.details /campaigns/details Consultar detalhes de uma Campaign específica.
sends.data_series /sends/data_series Consultar análise de dados de envio de mensagens em um intervalo de tempo.
sends.id.create /sends/id/create Criar um ID de envio para rastreamento de envios em massa de mensagens.
campaigns.url_info.details /campaigns/url_info/details Consultar 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 Disparar o envio de um Canvas existente.
canvas.trigger.schedule.create /canvas/trigger/schedule/create Agendar um envio de Canvas com entrega disparada por API.
canvas.trigger.schedule.update /canvas/trigger/schedule/update Atualizar um Canvas agendado com entrega disparada por API.
canvas.trigger.schedule.delete /canvas/trigger/schedule/delete Excluir um Canvas agendado com entrega disparada por API.
canvas.list /canvas/list Consultar uma lista de Canvas.
canvas.data_series /canvas/data_series Consultar análise de dados de Canvas em um intervalo de tempo.
canvas.details /canvas/details Consultar detalhes de um Canvas específico.
canvas.data_summary /canvas/data_summary Consultar resumos de análise de dados de Canvas em um intervalo de tempo.
canvas.url_info.details /canvas/url_info/details Consultar detalhes de URL de uma variação de mensagem específica dentro de uma etapa do Canvas.
Permissão Endpoint Descrição
segments.list /segments/list Consultar uma lista de Segments.
segments.data_series /segments/data_series Consultar análise de dados de Segments em um intervalo de tempo.
segments.details /segments/details Consultar detalhes de um Segment específico.
Permissão Endpoint Descrição
purchases.product_list /purchases/product_list Consultar uma lista de produtos comprados no seu app.
purchases.revenue_series /purchases/revenue_series Consultar o total de dinheiro gasto por dia no seu app em um intervalo de tempo.
purchases.quantity_series /purchases/quantity_series Consultar 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 Consultar uma lista de eventos personalizados.
events.data_series /events/data_series Consultar ocorrências de um evento personalizado em um intervalo de tempo.
Permissão Endpoint Descrição
sessions.data_series /sessions/data_series Consultar sessões por dia em um intervalo de tempo.
Permissão Endpoint Descrição
kpi.dau.data_series /kpi/dau/data_series Consultar usuários ativos únicos por dia em um intervalo de tempo.
kpi.mau.data_series /kpi/mau/data_series Consultar o total de usuários ativos únicos em uma janela móvel de 30 dias em um intervalo de tempo.
kpi.new_users.data_series /kpi/new_users/data_series Consultar novos usuários por dia em um intervalo de tempo.
kpi.uninstalls.data_series /kpi/uninstalls/data_series Consultar desinstalações do app por dia em um intervalo de tempo.
Permissão Endpoint Descrição
templates.email.create /templates/email/create Criar um novo modelo de e-mail no dashboard.
templates.email.info /templates/email/info Consultar informações de um modelo específico.
templates.email.list /templates/email/list Consultar uma lista de modelos de e-mail.
templates.email.update /templates/email/update Atualizar um modelo de e-mail armazenado no dashboard.
Permissão Descrição
sso.saml.login Configurar login iniciado pelo provedor de identidade. Para saber mais, consulte Login iniciado pelo provedor de serviço (SP).
Permissão Endpoint Descrição
content_blocks.info /content_blocks/info Consultar informações de um modelo específico.
content_blocks.list /content_blocks/list Consultar uma lista de Content Blocks.
content_blocks.create /content_blocks/create Criar um novo Content Block no dashboard.
content_blocks.update /content_blocks_update Atualizar um Content Block existente no dashboard.
Permissão Endpoint Descrição
preference_center.get /preference_center/v1/{preferenceCenterExternalId} Obter uma Central de Preferências.
preference_center.list /preference_center/v1/list Listar centrais de preferências.
preference_center.update /preference_center/v1

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

Gerenciando chaves da REST API

Você pode visualizar detalhes ou excluir chaves da REST API existentes em Configurações > APIs e identificadores > guia Chaves de API. Observe que não é possível editar chaves da REST API após criá-las.

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

Campo Descrição
Nome da chave de API O nome dado à chave no momento da criação.
Identificador A chave de API.
Criada 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 esta chave foi criada.
Último uso A data em que esta 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 cursor sobre a chave e selecione Visualizar. Isso inclui todas as permissões que esta chave possui, IPs na lista de permissões (se houver) e se esta chave está habilitada para a lista de permissões de IP da Braze.

A lista de permissões de 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 esse usuário criou. Para excluir uma chave, passe o cursor sobre a chave e selecione Excluir.

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

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 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 de API pode autenticar.

Considerando que as chaves da REST API permitem acesso a endpoints potencialmente sensíveis da REST API, 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 do seu website nem a exponha de nenhuma outra forma pública.

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

Se você acidentalmente expor uma chave, poderá excluí-la do console de desenvolvedor. Para obter 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 possuem 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 Deve permanecer privada. Nunca exponha em código do lado do cliente, repositórios públicos ou aplicativos de usuário. Projetada para ser pública. Incluída dentro do binário do seu app ou visível no JavaScript do navegador web, de forma semelhante a um ID de rastreamento do Google Analytics.
Solução se exposta Revogue a chave imediatamente e crie uma substituta em Configurações > APIs e identificadores > Chaves de API. 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 pode apenas 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 segurança adicional, você pode especificar uma lista de endereços IP e sub-redes com permissão para fazer solicitações da REST API para uma determinada chave da REST API. Isso é chamado de lista de permissões (ou whitelisting). 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 solicitações da REST API usando a chave da API REST passada como um token Bearer no cabeçalho de solicitação Authorization. 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 executa as seguintes verificações de validação no lado do servidor:

  1. Validade do token: verifica se a chave da API REST existe na Braze e está ativa (por exemplo, não foi revogada ou desabilitada).
  2. Autorização do token: confirma se a chave de 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, consulte Erros de API.

Casing do cabeçalho de solicitação

Os nomes de cabeçalhos HTTP não diferenciam maiúsculas de minúsculas, então Authorization e authorization são equivalentes. O mesmo se aplica a outros cabeçalhos de solicitação padrão, como Content-Type. Envie o casing que seu cliente HTTP produzir.

A Braze também aceita qualquer casing do esquema Bearer (Bearer, bearer ou BEARER). Envie a chave da API REST exatamente como ela foi emitida.

Segurança em nível de rede

As solicitações da REST API para a Braze são protegidas por criptografia Transport Layer Security (TLS) em todo o caminho da solicitação. A tabela a seguir descreve o fluxo de rede de uma solicitação de API do seu servidor até 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 Network Load Balancer (NLB) Encaminha os pacotes para a infraestrutura do aplicativo. 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 todos os elos da cadeia. Seu servidor se conecta ao Cloudflare via TLS, e o Cloudflare estabelece uma conexão TLS separada através do NLB até o ingress NGINX, de modo que sua chave de API e os dados da solicitação permanecem criptografados em trânsito.

Recursos adicionais

Biblioteca de cliente Ruby

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

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

New Stuff!