Skip to content

Crear catálogo

post

/catalogs

Utiliza este punto de conexión para crear un catálogo.

Requisitos previos

Para utilizar este punto de conexión, necesitarás una clave de API con el permiso catalogs.create.

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 de catálogo síncronos, como se documenta en Límites de velocidad de la API.

Parámetros de la solicitud

Parámetro Obligatorio Tipo de datos Descripción
catalogs Obligatorio Matriz Una matriz que contiene objetos de catálogo. Solo se permite un objeto de catálogo para esta solicitud.

Parámetros del objeto del catálogo

Parámetro Obligatorio Tipo de datos Descripción
name Obligatorio Cadena El nombre del catálogo que quieres crear.
description Obligatorio Cadena La descripción del catálogo que quieres crear.
fields Obligatorio Matriz Una matriz de objetos en la que el objeto contiene las claves name y type.

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
curl --location --request POST 'https://rest.iad-03.braze.com/catalogs' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "catalogs": [
    {
      "name": "restaurants",
      "description": "My Restaurants",
      "fields": [
        {
          "name": "id",
          "type": "string"
        },
        {
          "name": "Name",
          "type": "string"
        },
        {
          "name": "City",
          "type": "string"
        },
        {
          "name": "Cuisine",
          "type": "string"
        },
        {
          "name": "Rating",
          "type": "number"
        },
        {
          "name": "Loyalty_Program",
          "type": "boolean"
        },
        {
          "name": "Location",
          "type": "geo"
        },
        {
          "name": "Preferences",
          "type": "object"
        },
        {
          "name": "Top_Dishes",
          "type": "array"
        },
        {
          "name": "Created_At",
          "type": "time"
        }
      ]
    }
  ]
}'

Respuesta

Hay dos respuestas de código de estado para este punto de conexión: 201 y 400.

Ejemplo de respuesta correcta

El código de estado 201 podría devolver el siguiente cuerpo de respuesta.

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
{
  "catalogs": [
    {
      "description": "My Restaurants",
      "fields": [
        {
          "name": "id",
          "type": "string"
        },
        {
          "name": "Name",
          "type": "string"
        },
        {
          "name": "City",
          "type": "string"
        },
        {
          "name": "Cuisine",
          "type": "string"
        },
        {
          "name": "Rating",
          "type": "number"
        },
        {
          "name": "Loyalty_Program",
          "type": "boolean"
        },
        {
          "name": "Location",
          "type": "geo"
        },
        {
          "name": "Preferences",
          "type": "object"
        },
        {
          "name": "Top_Dishes",
          "type": "array"
        },
        {
          "name": "Created_At",
          "type": "time"
        }
      ],
      "name": "restaurants",
      "num_items": 0,
      "updated_at": "2022-11-02T20:04:06.879+00:00"
    }
  ],
  "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-name-already-exists",
      "message": "A catalog with that name already exists",
      "parameters": [
        "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-array-invalid catalogs debe ser una matriz de objetos.
catalog-name-already-exists Ya existe un catálogo con ese nombre.
catalog-name-too-large El límite de caracteres para el nombre de un catálogo es de 250.
description-too-long El límite de caracteres para la descripción es de 250.
field-names-not-unique Se hace referencia dos veces al mismo nombre de campo.
field-names-too-large El límite de caracteres para un nombre de campo es de 250.
id-not-first-column El id debe ser el primer campo de la matriz. Comprueba que el tipo es una cadena.
invalid-catalog-name El nombre del catálogo solo puede incluir letras, números, guiones y guiones bajos.
invalid-field-names Los campos solo pueden incluir letras, números, guiones y guiones bajos.
invalid-field-types Asegúrate de que los tipos de campo son válidos.
invalid-fields fields no tiene el formato correcto.
too-many-catalog-atoms Solo puedes crear un catálogo por solicitud.
too-many-fields El límite de campos es de 500.
New Stuff!