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
Esse endpoint tem um limite de frequência compartilhado de 50 solicitações por minuto entre todos os endpoints de catálogo síncrono, conforme documentado em Limites de frequência da API.
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!