Skip to content

Editar item do catálogo

patch

/catalogs/{catalog_name}/items/{item_id}

Use esse endpoint para editar um item existente em seu catálogo.

Pré-requisitos

Para usar esse endpoint, você precisará de uma chave de API com a permissão catalogs.update_item.

Limite de taxa

Esse endpoint tem um limite de taxa compartilhado de 50 solicitações por minuto entre todos os endpoints síncronos de itens de catálogo, conforme documentado em Limites de taxa da API.

Parâmetros de caminho

Parâmetro Obrigatória Tipo de dados Descrição
catalog_name Obrigatória String Nome do catálogo.
item_id Obrigatória String O ID do item do catálogo.

Parâmetros de solicitação

Parâmetro Obrigatória Tipo de dados Descrição
items Obrigatória Vetor Um vetor que contém objetos de item. Os objetos de item devem conter campos que existem no catálogo, exceto o campo id. Somente um objeto de item é permitido por solicitação.

Exemplo de solicitação

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
curl --location --request PATCH 'https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "items": [
    {
      "Name": "Restaurant",
      "Loyalty_Program": false,
      "Location": [-73.988103, 40.779109],
      "Preferences": {
        "favorite_brand": "Nike",
        "shirt_size": "L"
      },
      "Top_Dishes": {
        "$add": [
          "Biscuits",
          "Coleslaw"
        ],
        "$remove": [
          "French Fries"
        ]
      },
      "Open_Time": "2021-09-03T09:03:19.967+00:00"
    }
  ]
}'

Resposta

Há três respostas de código de status para esse endpoint: 200, 400 e 404.

Exemplo de resposta bem-sucedida

O código de status 200 poderia retornar o seguinte corpo de resposta.

1
2
3
{
  "message": "success"
}

Exemplo de resposta de erro

O código de status 400 poderia retornar o seguinte corpo de resposta. Consulte Solução de problemas para saber mais sobre os erros que você pode encontrar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "errors": [
    {
      "id": "invalid-fields",
      "message": "Some of the fields given do not exist in the catalog",
      "parameters": [
        "id"
      ],
      "parameter_values": [
        "restaurant1"
      ]
    }
  ],
  "message": "Invalid Request"
}

Solução de problemas

A tabela a seguir lista os possíveis erros retornados e as etapas de solução de problemas associadas.

Erro Solução de problemas
arbitrary-error Ocorreu um erro arbitrário. Tente novamente ou entre em contato com o suporte.
catalog-not-found Verifique se o nome do catálogo é válido.
filtered-set-field-too-long O valor do campo está sendo usado em um conjunto filtrado que excede o limite de caracteres de um item.
id-in-body Já existe um ID de item no catálogo.
ids-too-large O limite de caracteres para cada ID de item é de 250 caracteres.
invalid-ids Os caracteres compatíveis com os nomes de ID de item são letras, números, hífens e sublinhados.
invalid-fields Confirme se os campos da solicitação existem no catálogo.
invalid-keys-in-value-object As chaves de objeto do item não podem incluir . ou $.
item-not-found Verifique se o item está no catálogo.
item-array-invalid items deve ser um vetor de objetos.
items-too-large O limite de caracteres para cada item é de 5.000 caracteres.
request-includes-too-many-items Você só pode editar um item do catálogo por solicitação.
too-deep-nesting-in-value-object Os objetos de item não podem ter mais de 50 níveis de aninhamento.
unable-to-coerce-value Os tipos de itens não podem ser convertidos.
New Stuff!