Editar elemento del catálogo
/catalogs/{catalog_name}/items/{item_id}
Utilice este punto final para editar un elemento existente en su catálogo.
Requisitos previos
Para utilizar este punto final, necesitarás una clave de API con el permiso catalogs.update_item
.
Límite de velocidad
Parámetros de la ruta
Parámetro | Obligatoria | Tipo de datos | Descripción |
---|---|---|---|
catalog_name |
Obligatoria | Cadena | Nombre del catálogo. |
item_id |
Obligatoria | Cadena | El ID del elemento del catálogo. |
Parámetros de la solicitud
Parámetro | Obligatoria | Tipo de datos | Descripción |
---|---|---|---|
items |
Obligatoria | Matriz | Un array que contiene objetos item. Los objetos de artículo deben contener campos que existan en el catálogo, excepto el campo id . Sólo se permite un objeto 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
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"
}
]
}'
Los operadores $add
y $remove
sólo son aplicables a campos de tipo array, y sólo son compatibles con los extremos PATCH.
Respuesta
Existen tres respuestas de código de estado para este punto final: 200
, 400
y 404
.
Ejemplo de respuesta positiva
El código de estado 200
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. Consulte la sección Solución de problemas para obtener más información sobre los errores que puede 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 los pasos asociados para solucionarlos.
Error | Solución de problemas |
---|---|
arbitrary-error |
Se ha producido un error arbitrario. Vuelva a intentarlo o póngase en contacto con el servicio de asistencia. |
catalog-not-found |
Compruebe que el nombre del catálogo es válido. |
filtered-set-field-too-long |
El valor del campo se está utilizando en un conjunto filtrado que supera el límite de caracteres de un elemento. |
id-in-body |
Ya existe un ID de artículo en el catálogo. |
ids-too-large |
El límite de caracteres para cada ID de artículo es de 250 caracteres. |
invalid-ids |
Los caracteres admitidos para los nombres de ID de artículos son letras, números, guiones y guiones bajos. |
invalid-fields |
Confirme que los campos de la solicitud existen en el catálogo. |
invalid-keys-in-value-object |
Las claves de objeto de artículo no pueden incluir . ni $ . |
item-not-found |
Compruebe que el artículo está en el catálogo. |
item-array-invalid |
items debe ser un array de objetos. |
items-too-large |
El límite de caracteres para cada elemento es de 5000 caracteres. |
request-includes-too-many-items |
Sólo puede editar un elemento del catálogo por solicitud. |
too-deep-nesting-in-value-object |
Los objetos item no pueden tener más de 50 niveles de anidamiento. |
unable-to-coerce-value |
Los tipos de artículo no se pueden convertir. |