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 nameetype. | 
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 | catalogsdeve 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 iddeve 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 | fieldsnã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!
 
  Editar esta página no GitHub
   Editar esta página no GitHub