Ir para o conteúdo

Atualizar relacionamento de usuário

patch

/data_objects/objects/{type_name}/{object_id}/users

Use este endpoint para mesclar atributos em um relacionamento de usuário existente.

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, retorna 400. 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_id sempre 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.
New Stuff!