Criar catálogo
post
/catalogs
Use esse ponto de extremidade para criar um catálogo.
Pré-requisitos
Para usar esse endpoint, você precisará de uma chave de API com a permissão catalogs.create
.
Limite de taxa
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog endpoints, as documented in API rate limits.
Parâmetros de solicitação
Parâmetro | Obrigatória | Tipo de dados | Descrição |
---|---|---|---|
catalogs |
Obrigatória | Vetor | Um vetor que contém objetos de catálogo. Somente um objeto de catálogo é permitido para essa solicitação. |
Parâmetros do objeto de catálogo
Parâmetro | Obrigatória | Tipo de dados | Descrição |
---|---|---|---|
name |
Obrigatória | String | O nome do catálogo que você deseja criar. |
description |
Obrigatória | String | A descrição do catálogo que você deseja criar. |
fields |
Obrigatória | Vetor | Um vetor de objetos em que o objeto contém as chaves name e type . |
Exemplo de solicitação
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"
}
]
}
]
}'
Resposta
Existem dois códigos de status para este endpoint: 201
e 400
.
Exemplo de resposta bem-sucedida
O código de status 201
poderia retornar o seguinte corpo de resposta.
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"
}
Exemplo de resposta de erro
O código de status 400
poderia retornar o seguinte corpo de resposta. Consulte Solução de problemas para obter mais informações sobre os erros que você pode 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"
}
Solução de problemas
A tabela a seguir lista os possíveis erros retornados e as etapas de solução de problemas associadas.
Erro | Solução de problemas |
---|---|
catalog-array-invalid |
catalogs deve ser um vetor de objetos. |
catalog-name-already-exists |
Já existe um catálogo com esse nome. |
catalog-name-too-large |
O limite de caracteres para um nome de catálogo é 250. |
description-too-long |
O limite de caracteres para a descrição é de 250. |
field-names-not-unique |
O mesmo nome de campo é referenciado duas vezes. |
field-names-too-large |
O limite de caracteres para um nome de campo é 250. |
id-not-first-column |
O id deve ser o primeiro campo da matriz. Verifique se o tipo é uma string. |
invalid-catalog-name |
O nome do catálogo só pode incluir letras, números, hífens e sublinhados. |
invalid-field-names |
Os campos só podem incluir letras, números, hífens e sublinhados. |
invalid-field-types |
Verifique se os tipos de campo são válidos. |
invalid-fields |
fields não está formatado corretamente. |
too-many-catalog-atoms |
Você só pode criar um catálogo por solicitação. |
too-many-fields |
O limite de número de campos é 500. |
New Stuff!