Ir para o conteúdo

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.
Cloud Data Ingestion 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 os 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 dentro da Braze.
Mensagens Agende, envie e gerencie suas Campaigns e Canvas.
Central de Preferências Construa 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 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, 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 URLs a seguir. Use o endpoint REST correto com base na instância à qual você está 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 nessa 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 frequência padrão de 250.000 solicitações por hora. No entanto, certos tipos de solicitação têm seu próprio limite de frequência aplicado para lidar melhor com altos volumes de dados na base de clientes. Para saber mais, consulte Limites de frequência da API

IDs de usuário

  • ID de usuário externo: O external_id serve como um identificador único 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 único 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 artigos a seguir com base na sua plataforma: iOS, Android e Web.

Sobre as chaves da REST API

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

Espaços de trabalho e chaves de API andam lado a lado na Braze. Os espaços de trabalho são projetados para abrigar versões do mesmo app em múltiplas plataformas. Muitos clientes também usam espaços de trabalho para conter versões gratuitas e premium dos seus apps 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 escopo individual para incluir acesso a endpoints específicos da API. Cada chamada à API deve incluir uma chave com acesso ao endpoint utilizado.

Referimos tanto a chave da REST API quanto a chave da API do espaço de trabalho como api_key. A api_key é incluída em cada solicitação como cabeçalho da solicitação e funciona como uma chave de autenticação que permite utilizar 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. Atribuindo permissões específicas a uma chave de API, você pode limitar exatamente quais chamadas uma chave de API pode autenticar.

Painel de chaves da REST API na guia API Keys.

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ê um nome à sua nova chave para fácil identificação.
  4. Especifique endereços IP permitidos e sub-redes para a nova chave.
  5. Selecione quais permissões você deseja associar à nova chave.

Permissões de chaves da REST API

As permissões de chaves de API são permissões que você pode atribuir a um usuário ou grupo para limitar seu acesso a determinadas chamadas de API. Para visualizar sua lista de permissões de chaves 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 broadcast 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 o envio de uma 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 uma Campaign 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.
campaigns.url_info.details /campaigns/url_info/details Consultar detalhes de URL de uma variação de mensagem específica dentro de uma Campaign. Essa permissão está disponível apenas para espaços de trabalho com Link Aliasing ativado. Se essa permissão não estiver disponível no seu espaço de trabalho, entre em contato com o gerente da sua conta Braze.
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 o envio de um 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. Essa permissão está disponível apenas para espaços de trabalho com Link Aliasing ativado. Se essa permissão não estiver disponível no seu espaço de trabalho, entre em contato com o gerente da sua conta Braze.
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 um Segment 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 receita 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 contínua 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 e desinscritos.
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 múltiplos itens a um catálogo existente.
catalogs.update_items /catalogs/{catalog_name}/items Atualizar múltiplos itens em um catálogo existente.
catalogs.delete_items /catalogs/{catalog_name}/items Excluir múltiplos 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 uma 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 primária 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 API Keys. Observe que não é possível editar chaves da REST API após 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 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 mostra “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 utilizada pela última vez. Este campo mostra “N/A” para chaves que nunca foram usadas.

Para ver os detalhes de uma chave de API, passe o mouse sobre a chave e selecione Visualizar. Isso inclui todas as permissões que essa chave possui, IPs na lista de permissões (se houver) e se essa chave está habilitada para a lista de permissões de IP da Braze.

A lista de permissões de chaves 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 mouse sobre ela e selecione Excluir.

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

Segurança das chaves 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. Atribuindo permissões específicas a uma chave de API, você pode limitar exatamente quais chamadas uma chave de API pode autenticar.

Considerando que as chaves da REST API permitem acesso a endpoints da REST API potencialmente sensíveis, 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 qualquer outra forma pública.

Uma boa prática de segurança é conceder a um usuário apenas o nível de acesso necessário para realizar seu trabalho. Esse princípio também pode ser aplicado às 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ê expor uma chave acidentalmente, poderá excluí-la pelo 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 têm perfis de segurança diferentes.

Atributo 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ários. Projetada para ser pública. Incluída no binário do seu app ou visível no JavaScript do navegador web, 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 > 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 realizar ingestão de 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 IPs permitidos da API

Para segurança adicional, você pode especificar uma lista de endereços IP e sub-redes que têm permissão para fazer solicitações à REST API para uma determinada chave da REST API. Isso é chamado de lista de permissões (allowlisting 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:

Authorization: Bearer YOUR_REST_API_KEY

Em cada solicitação, a Braze realiza 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 desativada).
  2. Autorização do token: Confirma que a chave de API possui 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.

Capitalização do cabeçalho de solicitação

Os nomes dos 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 a capitalização que seu cliente HTTP produzir.

A Braze também aceita qualquer capitalização 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 para 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 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 no nível HTTP.
4 NGINX ingress 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 NGINX ingress, de modo que sua chave de API e os dados da solicitação permanecem criptografados em trânsito.

Recursos adicionais

Biblioteca cliente Ruby

Se você está implementando a Braze usando Ruby, pode usar a biblioteca cliente Ruby para reduzir o tempo de importação de dados. Uma biblioteca 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 cliente Ruby é compatível com os endpoints de usuário.

New Stuff!