Crear varios elementos del catálogo
/catalogs/{catalog_name}/items
Utiliza este punto de conexión para crear varios elementos en tu catálogo.
Cada solicitud puede admitir hasta 50 elementos. Este punto de conexión es asíncrono.
Requisitos previos
Para utilizar este punto de conexión, necesitarás una clave de API con el permiso catalogs.add_items.
Límite de velocidad
Este punto de conexión tiene un límite de velocidad compartido de 16 000 solicitudes por minuto entre todos los puntos finales de elementos de catálogo asíncronos, como se documenta en Límites de velocidad de la API.
Parámetros de ruta
| Parámetro | Obligatorio | Tipo de datos | Descripción |
|---|---|---|---|
catalog_name |
Obligatorio | Cadena | Nombre del catálogo. |
Parámetros de la solicitud
| Parámetro | Obligatorio | Tipo de datos | Descripción |
|---|---|---|---|
items |
Obligatorio | Matriz | Un array que contiene objetos de elementos. Los objetos de elementos deben contener todos los campos del catálogo. Se permite un máximo de 50 objetos de elementos por solicitud. |
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
curl --location --request POST '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": "Restaurant1",
"City": "New York",
"Cuisine": "American",
"Rating": 5,
"Loyalty_Program": true,
"Location": [-73.988103, 40.779109],
"Preferences": {
"favorite_brand": "Nike",
"shirt_size": "L"
},
"Top_Dishes": [
"Hamburger",
"Deluxe Cheeseburger"
],
"Created_At": "2022-11-01T09:03:19.967+00:00"
},
{
"id": "restaurant2",
"Name": "Restaurant2",
"City": "New York",
"Cuisine": "American",
"Rating": 10,
"Loyalty_Program": true,
"Location": [-73.988103, 40.779109],
"Preferences": {
"favorite_brand": "Nike",
"shirt_size": "L"
},
"Top_Dishes": [
"Hot Dog",
"French Fries"
],
"Created_At": "2022-11-02T09:03:19.967+00:00"
},
{
"id": "restaurant3",
"Name": "Restaurant3",
"City": "New York",
"Cuisine": "American",
"Rating": 3,
"Loyalty_Program": false,
"Location": [-73.988103, 40.779109],
"Preferences": {
"favorite_brand": "Nike",
"shirt_size": "L"
},
"Top_Dishes": [
"Buffalo Wings",
"Philly Cheesesteak"
],
"Created_At": "2022-11-03T09:03:19.967+00:00"
}
]
}'

El campo Location utiliza el tipo de datos geo, que espera un array con el formato [longitude, latitude].
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 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": "invalid-fields",
"message": "Some of the fields given do not exist in the catalog",
"parameters": [
"id"
],
"parameter_values": [
"restaurant1"
]
}
],
"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. |
ids-not-strings |
Los ID de elementos deben ser de tipo cadena. |
ids-not-unique |
Los ID de los elementos deben ser únicos en la solicitud. |
ids-too-large |
Los ID de los elementos no pueden tener más de 250 caracteres. |
invalid-ids |
Los ID de elementos solo pueden incluir letras, números, guiones y guiones bajos. |
invalid-fields |
Confirma que todos los campos que envías en la solicitud de API ya existen en el catálogo. Esto no está relacionado con el campo ID mencionado en el error. |
invalid-keys-in-value-object |
Las claves de objeto de elemento no pueden incluir . ni $. |
item-array-invalid |
items debe ser un array de objetos. |
items-missing-ids |
Algunos elementos no tienen ID de elemento. Comprueba que cada elemento tiene un ID de elemento. |
items-too-large |
Los valores de los elementos no pueden superar los 5.000 caracteres. |
request-includes-too-many-items |
Tu solicitud tiene demasiados elementos. El límite de elementos por solicitud es de 50. |
too-deep-nesting-in-value-object |
Los objetos de elementos no pueden tener más de 50 niveles de anidamiento. |
unable-to-coerce-value |
Los tipos de elementos no se pueden convertir. |