Criar seleção de catálogo
/catalogs/{catalog_name}/selections
Use este endpoint para criar uma seleção em seu catálogo.
Pré-requisitos
Para usar esse endpoint, você precisará de uma chave de API com a permissão catalogs.create_selection.
Limite de taxa
Esse endpoint tem um limite de taxa compartilhado de 50 solicitações por minuto entre todos os endpoints assíncronos de campos e seleções de catálogo, conforme documentado em Limites de taxa da API.
Parâmetros de 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 |
|---|---|---|---|
selection |
Obrigatória | Objeto | Um objeto que contém critérios de seleção. Consulte o objeto de seleção de catálogo para uma descrição completa do objeto e seus campos. |
Parâmetros do objeto de seleção
| Parâmetro | Obrigatória | Tipo de dados | Descrição |
|---|---|---|---|
name |
Obrigatória | String | O nome da seleção de catálogo. |
description |
Opcional | String | Uma descrição da seleção de catálogo. |
external_id |
Obrigatória | String | Um identificador único para a seleção. |
source |
Opcional | String | A origem dos dados do catálogo. Para catálogos do Shopify, use "Shopify". Os valores aceitos são "Shopify" e "Braze". |
filters |
Opcional | Array | Um array de objetos de filtro a serem aplicados aos itens do catálogo. Você pode especificar até quatro filtros por solicitação. Se nenhum filtro for fornecido, todos os itens do catálogo são incluídos. |
results_limit |
Opcional | Inteiro | O número máximo de resultados a retornar. Deve ser um número entre 1 e 50. |
sort_field |
Opcional | String | O campo para ordenar os resultados. Deve ser usado em conjunto com sort_order. Se sort_field e sort_order não estiverem presentes, os resultados são randomizados. |
sort_order |
Opcional | String | A ordem para classificar os resultados. Os valores aceitos são "asc" (crescente) ou "desc" (decrescente). Deve ser usado em conjunto com sort_field. Se sort_field e sort_order não estiverem presentes, os resultados são randomizados. |
Os parâmetros sort_field e sort_order devem ser usados juntos. Se você fornecer um sem o outro, ou se omitir ambos os parâmetros, os resultados da seleção são retornados em uma ordem aleatória.
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 POST 'https://rest.iad-03.braze.com/catalogs/restaurants/selections' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"selection": {
"name": "favorite-restaurants",
"description": "Favorite restaurants in NYC",
"external_id": "favorite-nyc-restaurants",
"filters": [
{
"field": "City",
"operator": "equals",
"value": "NYC"
},
{
"field": "Rating",
"operator": "greater than",
"value": 7
}
],
"results_limit": 10,
"sort_field": "Rating",
"sort_order": "desc"
}
}'
Operadores de filtro
| Tipo de campo | Operadores suportados |
|---|---|
string |
equals, does not equal |
number |
equals, does not equal, greater than, less than |
boolean |
is |
time |
before, after |
array |
includes value, does not include value |
A API suporta um máximo de quatro filtros por solicitação de seleção. No dashboard da Braze, você pode adicionar até 10 filtros por seleção. Os filtros são aplicados na ordem em que aparecem no array.
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": "catalog-not-found",
"message": "Could not find catalog",
"parameters": [
"catalog_name"
],
"parameter_values": [
"restaurants"
]
}
],
"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. |
company-size-limit-already-reached |
O limite de tamanho do armazenamento do catálogo foi atingido. |
selection-limit-reached |
O limite de seleções do catálogo foi atingido. |
invalid-selection |
Verifique se a seleção é válida. |
too-many-filters |
Verifique se a seleção tem muitos filtros. |
selection-name-already-exists |
Verifique se o nome da seleção já existe no catálogo. |
selection-has-invalid-filter |
Verifique se o filtro da seleção é válido. |
selection-invalid-results-limit |
Verifique se o limite de resultados da seleção é válido. |
invalid-sorting |
Verifique se a ordenação da seleção é válida. |
invalid-sort-field |
Verifique se o campo de ordenação da seleção é válido. |
invalid-sort-order |
Verifique se a ordem de classificação da seleção é válida. |
selection-contains-too-many-arrays |
Verifique se a seleção contém mais de um campo com o tipo array. Apenas um é suportado. |