Crear catálogo
post
/catalogs
Utiliza este punto final para crear un catálogo.
Requisitos previos
Para utilizar este punto final, necesitarás una clave de API con el permiso catalogs.create
.
Límite de velocidad
Parámetros de la solicitud
Parámetro | Obligatoria | Tipo de datos | Descripción |
---|---|---|---|
catalogs |
Obligatoria | Matriz | Una matriz que contiene objetos de catálogo. Sólo se permite un objeto de catálogo para esta solicitud. |
Parámetros del objeto del catálogo
Parámetro | Obligatoria | Tipo de datos | Descripción |
---|---|---|---|
name |
Obligatoria | Cadena | El nombre del catálogo que quieres crear. |
description |
Obligatoria | Cadena | La descripción del catálogo que quieres crear. |
fields |
Obligatoria | 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
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": "object"
},
{
"name": "Top_Dishes",
"type": "array"
},
{
"name": "Created_At",
"type": "time"
}
]
}
]
}'
Respuesta
Hay dos respuestas de código de estado para este punto final: 201
y 400
.
Ejemplo de respuesta satisfactoria
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
{
"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": "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. 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": "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 los pasos asociados para solucionarlos.
Error | Solución de problemas |
---|---|
catalog-array-invalid |
catalogs debe ser un array 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 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 sólo puede incluir letras, números, guiones y guiones bajos. |
invalid-field-names |
Los campos sólo 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 está formateado correctamente. |
too-many-catalog-atoms |
Sólo puedes crear un catálogo por solicitud. |
too-many-fields |
El límite de campos es 500. |
New Stuff!