edita vários itens do catálogo
/catalogs/{catalog_name}/items
Use este endpoint para editar vários itens existentes em seu catálogo.
Cada solicitação pode suportar até 50 itens. Esse ponto de extremidade é assíncrono.
Pré-requisitos
Para usar esse endpoint, você precisará de uma chave de API com a permissão catalogs.update_items.
Limite de taxa
Esse endpoint tem um limite de frequência compartilhado de 16.000 solicitações por minuto entre todos os endpoints assíncronos de itens de catálogo, conforme documentado em Limites de frequência da API.
Parâmetros da jornada
| Parâmetro | Obrigatória | Tipo de dados | Descrição |
|---|---|---|---|
catalog_name |
Obrigatória | String | Nome do catálogo. |
Parâmetros de solicitação
| Parâmetro | Obrigatória | Tipo de dados | Descrição |
|---|---|---|---|
items |
Obrigatória | Vetor | Uma matriz que contém objetos de item. Os objetos de item devem conter campos que existem no catálogo. Até 50 objetos de item são permitidos 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
27
28
29
30
31
32
33
34
35
curl --location --request PATCH 'https://rest.iad-03.braze.com/catalogs/restaurants/items' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"items": [
{
"id": "restaurant1",
"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"
},
{
"id": "restaurant3",
"City": "San Francisco",
"Rating": 2,
"Top_Dishes": [
"Buffalo Wings",
"Philly Cheesesteak"
]
}
]
}'
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: 202, 400 e 404.
Exemplo de resposta bem-sucedida
O código de status 202 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 |
|---|---|
catalog-not-found |
Verifique se o nome do catálogo é válido. |
ids-too-large |
Os IDs de item não podem ter mais de 250 caracteres. |
ids-not-strings |
As IDs de item devem ser do tipo string. |
ids-not-unique |
As IDs de item devem ser exclusivas na solicitação. |
invalid-ids |
Os IDs de itens só podem conter letras, números, hifens e underscores. |
invalid-fields |
Confirme se todos os campos que está enviando na solicitação de API já existem no catálogo. Isso não está relacionado ao campo ID mencionado no erro. |
invalid-keys-in-value-object |
As chaves de objeto do item não podem incluir . ou $. |
items-missing-ids |
Alguns itens não têm IDs de item. Verifique se cada item tem um ID de item. |
item-array-invalid |
items deve ser um vetor de objetos. |
items-too-large |
Os valores dos itens não podem exceder 5.000 caracteres. |
request-includes-too-many-items |
Sua solicitação tem muitos itens. O limite de itens por solicitação é de 50. |
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. |
Editar esta página no GitHub