edita item do catálogo
/catalogs/{catalog_name}/items/{item_id}
Use esse ponto de extremidade 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
Parâmetros da jornada
Parâmetro | Obrigatória | Tipo de dados | Descrição |
---|---|---|---|
catalog_name |
Obrigatória | String | Nome do catálogo. |
item_id |
Obrigatória | String | A 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
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": {
"Latitude": 33.6112,
"Longitude": -117.8711
},
"Top_Dishes": {
"$add": [
"Biscuits",
"Coleslaw"
],
"$remove": [
"French Fries"
]
},
"Open_Time": "2021-09-03T09:03:19.967+00:00"
}
]
}'
Os operadores $add
e $remove
são aplicáveis somente a campos do tipo matriz e são compatíveis apenas com os pontos de extremidade PATCH.
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 obter mais informações 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. |