Skip to content

Substituir objeto personalizado

put

/custom_objects/objects/{type_name}/{external_id}

Use este endpoint para criar ou substituir um objeto personalizado com semântica de substituição completa de atributos.

Pré-requisitos

Para usar este endpoint, você precisa de uma chave de API com a permissão custom_objects.update.

Limite de frequência

Este endpoint está no bucket de escrita de Custom Objects com um limite padrão de 50 solicitações por minuto.

Parâmetros de caminho

A tabela a seguir lista e descreve os parâmetros de caminho para o endpoint /custom_objects/objects/{type_name}/{external_id}.

Parâmetro Obrigatório Tipo de dados Descrição
type_name Obrigatório String Nome de máquina do tipo de objeto personalizado
external_id Obrigatório String Identificador do objeto

Parâmetros de solicitação

A tabela a seguir lista e descreve os parâmetros do corpo da solicitação JSON para o endpoint /custom_objects/objects/{type_name}/{external_id}.

Parâmetro Obrigatório Tipo de dados Descrição
attributes Obrigatório Objeto Atributos completos do objeto. Campos omitidos são apagados
display_name Opcional String Rótulo de exibição do objeto. Quando o tipo tem um campo de origem de nome de exibição, o valor desse campo tem prioridade. O padrão é external_id

Exemplo de solicitação

Esta seção inclui uma carga útil JSON de exemplo e uma solicitação cURL de exemplo.

Carga útil de exemplo

1
2
3
4
5
{
  "attributes": {
    "name": "Updated Account"
  }
}

Solicitação cURL de exemplo

Este exemplo substitui os atributos armazenados em acct-123 pelos da carga útil. Se não existir um registro com esse identificador, esta solicitação o cria.

1
2
3
4
5
6
7
8
curl --location --request PUT 'https://rest.iad-01.braze.com/custom_objects/objects/account/acct-123' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "attributes": {
    "name": "Updated Account"
  }
}'

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 corpo de resposta a seguir. Este endpoint retorna 200 independentemente de a solicitação ter criado ou substituído o objeto.

1
2
3
4
5
6
7
{
  "custom_object": {
    "type_name": "account",
    "external_id": "acct-123",
    "attributes": { "name": "Updated Account" }
  }
}

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
custom_object Obrigatório Objeto Registro de objeto personalizado criado ou substituído
custom_object.type_name Obrigatório String Nome de máquina do tipo de objeto personalizado
custom_object.external_id Obrigatório String Identificador do objeto personalizado
custom_object.attributes Obrigatório Objeto Atributos armazenados do objeto, organizados por nome de campo

Erros

A tabela a seguir lista os erros comuns deste endpoint e como resolvê-los.

Status Causa Orientação
400 Erro de validação Confirme que cada campo em attributes existe no esquema do tipo e usa o tipo de dados correto.
404 Tipo não encontrado (custom-object-type-not-found) Confirme que type_name existe no espaço de trabalho e corresponde exatamente ao nome de máquina.
422 Limite de registros atingido (custom-object-record-limit-exceeded) quando esta solicitação criaria um novo objeto Reduza a contagem de objetos para o tipo ou entre em contato com o suporte da Braze sobre os limites do seu espaço de trabalho.
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 solicitação está bloqueada pela lista de permissões Confirme que a chave tem custom_objects.update e que o IP de origem está na lista de permissões da chave, se configurado.
429 Limite de frequência excedido Tente novamente após X-RateLimit-Reset e reduza a frequência de solicitações.
New Stuff!