Atualizar relacionamento de usuário
/data_objects/objects/{type_name}/{object_id}/users
Use este endpoint para mesclar atributos em um relacionamento de usuário existente.

O Data Objects está disponível para todos, mas seu espaço de trabalho precisa estar provisionado para Accounts antes que você possa usar este endpoint. Para solicitar o provisionamento, acesse Configurações de dados > Accounts e preencha o questionário. Para mais detalhes, consulte Ativar Accounts.
Pré-requisitos
Para usar este endpoint, você precisa de uma chave de API com a permissão data_objects.user_relationships.update.
Limite de frequência
Este endpoint está no bucket de escrita do Data Objects, com um limite padrão de 1.000 requisições por minuto.
Parâmetros de caminho
A tabela a seguir lista e descreve os parâmetros de caminho para o endpoint /data_objects/objects/{type_name}/{object_id}/users.
| Parâmetro | Obrigatório | Tipo de dados | Descrição |
|---|---|---|---|
type_name |
Obrigatório | String | Tipo de objeto |
object_id |
Obrigatório | String | Identificador do objeto |
Parâmetros de requisição
A tabela a seguir lista e descreve os parâmetros do corpo da requisição JSON para o endpoint /data_objects/objects/{type_name}/{object_id}/users.
| Parâmetro | Obrigatório | Tipo de dados | Descrição |
|---|---|---|---|
user |
Obrigatório | Objeto | O usuário a ser relacionado ao objeto. Deve conter exatamente um destes campos: external_id, braze_id, alias, email ou phone. |
user.external_id |
Opcional | String | O ID externo do usuário. |
user.braze_id |
Opcional | String | O ID de usuário da Braze. |
user.alias |
Opcional | Objeto | Objeto de alias de usuário com alias_name e alias_label (ambos obrigatórios quando usado). |
user.email |
Opcional | String | O endereço de e-mail do usuário. |
user.phone |
Opcional | String | O número de telefone do usuário. Deve ser conversível para E.164. |
rel_kind |
Obrigatório | String | Tipo de relacionamento |
attributes |
Opcional | Objeto | Atributos de relacionamento a serem mesclados |
Identificação do usuário
- Informe exatamente um identificador em
user. Nenhum identificador não nulo, ou mais de um, retorna400. Campos de identificador nulos junto com um identificador válido são aceitos. - Se um e-mail ou número de telefone corresponder a mais de um perfil de usuário, a Braze escolhe o usuário identificado (aquele com um
external_id). Se ainda houver empate, a Braze escolhe o perfil atualizado mais recentemente. - Use
external_idsempre que disponível.
Exemplo de requisição
Esta seção inclui uma carga útil JSON de exemplo e uma requisição cURL de exemplo.
Carga útil de requisição de exemplo
{
"user": {
"external_id": "user-123"
},
"rel_kind": "account_user",
"attributes": {
"role": "billing_admin"
}
}
Exemplo alternativo usando alias de usuário:
{
"user": {
"alias": {
"alias_name": "[email protected]",
"alias_label": "crm_email"
}
},
"rel_kind": "account_user",
"attributes": {
"role": "billing_admin"
}
}
Requisição cURL de exemplo
Este exemplo altera o atributo role no relacionamento account_user existente para billing_admin, mantendo os demais atributos do relacionamento inalterados.
curl --location --request PATCH 'https://rest.iad-01.braze.com/data_objects/objects/account/acct-123/users' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"user": {
"external_id": "user-123"
},
"rel_kind": "account_user",
"attributes": {
"role": "billing_admin"
}
}'
Resposta
Esta seção inclui um exemplo de resposta bem-sucedida e os campos da resposta.
Exemplo de resposta bem-sucedida
O código de status 200 pode retornar o seguinte corpo de resposta.
{
"user_relationship": {
"type_name": "account",
"object_id": "acct-123",
"rel_kind": "account_user",
"user": {
"external_id": "user-123",
"braze_id": "507f1f77bcf86cd799439011"
},
"attributes": { "role": "billing_admin" }
}
}
Parâmetros de resposta
A tabela a seguir lista e descreve os campos de uma resposta bem-sucedida.
| Parâmetro | Obrigatório | Tipo de dados | Descrição |
|---|---|---|---|
user_relationship |
Obrigatório | Objeto | Registro atualizado do relacionamento de usuário |
user_relationship.type_name |
Obrigatório | String | Nome de máquina do tipo de objeto de dados |
user_relationship.object_id |
Obrigatório | String | Identificador do objeto de dados |
user_relationship.rel_kind |
Obrigatório | String | Valor do tipo de relacionamento |
user_relationship.user |
Obrigatório | Objeto | Objeto de usuário vinculado, contendo o identificador conforme enviado e o braze_id |
user_relationship.attributes |
Obrigatório | Objeto | Atributos do relacionamento após a mesclagem (sempre presente; objeto vazio se não houver nenhum) |
Erros
A tabela a seguir lista os erros comuns deste endpoint e como resolvê-los.
| Status | Causa | Orientação |
|---|---|---|
400 |
user ausente ou vazio, nenhum identificador, mais de um identificador, identificador em branco, braze_id, email ou alias malformado, telefone que não pode ser convertido para E.164 ou o antigo corpo com braze_id no nível superior |
Envie um objeto user com exatamente um identificador válido. |
400 |
rel_kind desconhecido para o tipo ou erro de validação do esquema |
Confirme se rel_kind é válido para o tipo de objeto e se attributes corresponde ao esquema do relacionamento. |
404 |
Relacionamento ou usuário não encontrado (user-not-found ou data-object-relationship-not-found) |
Confirme se o objeto, o usuário e os valores de chave do relacionamento existem. |
401 |
Chave da API REST ausente ou inválida | Verifique se o cabeçalho Authorization usa Bearer YOUR_REST_API_KEY e se a chave está ativa. |
403 |
A chave de API não tem permissão ou a requisição está bloqueada pela lista de permissões | Confirme se a chave tem data_objects.user_relationships.update e se o seu IP de origem está na lista de permissões da chave, se configurada. |
429 |
Limite de frequência excedido | Tente novamente após X-RateLimit-Reset e reduza a frequência das requisições. |