Crear selección de catálogo
/catalogs/{catalog_name}/selections
Utiliza este punto de conexión para crear una selección en tu catálogo.
Requisitos previos
Para utilizar este punto de conexión, necesitarás una clave de API con el permiso catalogs.create_selection.
Límite de velocidad
Este punto de conexión tiene un límite de velocidad compartido de 50 solicitudes por minuto entre todos los puntos finales asíncronos de campos y selecciones de catálogo, como se documenta en Límites de velocidad de la API.
Parámetros de ruta
| Parámetro | Obligatoria | Tipo de datos | Descripción |
|---|---|---|---|
catalog_name |
Obligatoria | Cadena | Nombre del catálogo. |
Parámetros de solicitud
| Parámetro | Obligatoria | Tipo de datos | Descripción |
|---|---|---|---|
selection |
Obligatoria | Objeto | Un objeto que contiene criterios de selección. Consulta el objeto de selección del catálogo para obtener un desglose completo del objeto y sus campos. |
Parámetros del objeto de selección
| Parámetro | Obligatoria | Tipo de datos | Descripción |
|---|---|---|---|
name |
Obligatoria | Cadena | El nombre de la selección del catálogo. |
description |
Opcional | Cadena | Una descripción de la selección del catálogo. |
external_id |
Obligatoria | Cadena | Un identificador único para la selección. |
source |
Opcional | Cadena | La fuente de los datos del catálogo. Para los catálogos de Shopify, utiliza "Shopify". Los valores aceptados son "Shopify" y "Braze". |
filters |
Opcional | Matriz | Una matriz de objetos de filtro para aplicar a los elementos del catálogo. Puedes especificar hasta cuatro filtros por solicitud. Si no se proporcionan filtros, se incluyen todos los elementos del catálogo. |
results_limit |
Opcional | Entero | El número máximo de resultados que se devolverán. Debe ser un número entre 1 y 50. |
sort_field |
Opcional | Cadena | El campo por el que ordenar los resultados. Debe combinarse con sort_order. Si ni sort_field ni sort_order están presentes, los resultados se aleatorizan. |
sort_order |
Opcional | Cadena | El orden para clasificar los resultados. Los valores aceptados son "asc" (ascendente) o "desc" (descendente). Debe combinarse con sort_field. Si ni sort_field ni sort_order están presentes, los resultados se aleatorizan. |

Los parámetros sort_field y sort_order deben utilizarse juntos. Si proporcionas uno sin el otro, u omites ambos parámetros, los resultados de la selección se devuelven en orden aleatorio.
Ejemplo de solicitud
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 filtrado
| Tipo de campo | Operadores admitidos |
|---|---|
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 |

La API admite un máximo de cuatro filtros por solicitud de selección. En el panel de Braze, puedes añadir hasta 10 filtros por selección. Los filtros se aplican en el orden en que aparecen en la matriz.
Respuesta
Existen tres respuestas de código de estado para este punto de conexión: 202, 400 y 404.
Ejemplo de respuesta correcta
El código de estado 202 podría devolver el siguiente cuerpo de respuesta.
1
2
3
{
"message": "success"
}
Ejemplo de respuesta de error
El código de estado 400 podría devolver el siguiente cuerpo de respuesta. Consulta la sección Solución de problemas para obtener más información sobre los errores que puedes 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"
}
Solución de problemas
La siguiente tabla enumera los posibles errores devueltos y sus pasos asociados para la solución de problemas.
| Error | Solución de problemas |
|---|---|
catalog-not-found |
Comprueba que el nombre del catálogo es válido. |
company-size-limit-already-reached |
Se ha alcanzado el límite de tamaño de almacenamiento del catálogo. |
selection-limit-reached |
Se ha alcanzado el límite de selecciones del catálogo. |
invalid-selection |
Comprueba que la selección es válida. |
too-many-filters |
Comprueba si la selección tiene demasiados filtros. |
selection-name-already-exists |
Comprueba si el nombre de la selección ya existe en el catálogo. |
selection-has-invalid-filter |
Comprueba si el filtro de selección es válido. |
selection-invalid-results-limit |
Comprueba si el límite de resultados de la selección es válido. |
invalid-sorting |
Comprueba si la ordenación de la selección es válida. |
invalid-sort-field |
Comprueba si el campo de ordenación de la selección es válido. |
invalid-sort-order |
Comprueba si el orden de clasificación de la selección es válido. |
selection-contains-too-many-arrays |
Comprueba si la selección contiene más de un campo con el tipo array. Solo se admite uno. |