Skip to content

Editar varios elementos del catálogo

patch

/catalogs/{catalog_name}/items

Utiliza este punto de conexión para editar varios elementos existentes 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.update_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 la 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 Una matriz que contiene objetos de elemento. Los objetos de elemento deben contener campos que existan en el catálogo. Se permiten hasta 50 objetos de elemento 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
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": [-73.988103, 40.779109],
      "Preferences": {
        "favorite_brand": "Nike",
        "shirt_size": "L"
      },
      "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"
      ]
    }
  ]
}'

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": "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-too-large Los ID de los elementos no pueden tener más de 250 caracteres.
ids-not-strings Los ID de los elementos deben ser de tipo cadena.
ids-not-unique Los ID de los elementos deben ser únicos en la solicitud.
invalid-ids Los ID de los 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 $.
items-missing-ids Algunos elementos no tienen ID de elemento. Comprueba que cada elemento tiene un ID de elemento.
item-array-invalid items debe ser una matriz de objetos.
items-too-large Los valores de los elementos no pueden superar los 5000 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 elemento no pueden tener más de 50 niveles de anidamiento.
unable-to-coerce-value Los tipos de elemento no se pueden convertir.
New Stuff!