Criar categoria
curl --request POST \
--url https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Pizzas salgadas",
"description": "As melhores pizzas da região",
"index": 1,
"status": "ACTIVE"
}
'import requests
url = "https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories"
payload = {
"name": "Pizzas salgadas",
"description": "As melhores pizzas da região",
"index": 1,
"status": "ACTIVE"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Pizzas salgadas',
description: 'As melhores pizzas da região',
index: 1,
status: 'ACTIVE'
})
};
fetch('https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Pizzas salgadas',
'description' => 'As melhores pizzas da região',
'index' => 1,
'status' => 'ACTIVE'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories"
payload := strings.NewReader("{\n \"name\": \"Pizzas salgadas\",\n \"description\": \"As melhores pizzas da região\",\n \"index\": 1,\n \"status\": \"ACTIVE\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Pizzas salgadas\",\n \"description\": \"As melhores pizzas da região\",\n \"index\": 1,\n \"status\": \"ACTIVE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Pizzas salgadas\",\n \"description\": \"As melhores pizzas da região\",\n \"index\": 1,\n \"status\": \"ACTIVE\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"description": "<string>",
"index": 123,
"image": {
"image_url": "<string>",
"thumbnail_url": "<string>"
},
"allowed_times": [
{
"start_at": "18:00",
"end_at": "23:00"
}
],
"items": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"image": {
"image_url": "<string>",
"thumbnail_url": "<string>"
},
"highlighted": true,
"external_code": "<string>",
"price": 1,
"cost_price": 1,
"stock": 1,
"active_stock_control": true,
"index": 123,
"available_for": [],
"hide_observation_field": true,
"adults_only": true,
"promotional_price_active": true,
"promotional_price": 1,
"promotional_price_schedules": [
{
"start": "18:00",
"end": "23:00"
}
],
"unit_type": "UN",
"allowed_times": [
{
"start_at": "18:00",
"end_at": "23:00"
}
],
"extra_images": [
{
"image_url": "<string>",
"thumbnail_url": "<string>"
}
],
"option_groups": [
{
"id": 123,
"name": "<string>",
"minimum_quantity": 1,
"maximum_quantity": 2,
"index": 123,
"options": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"external_code": "<string>",
"image": {
"image_url": "<string>",
"thumbnail_url": "<string>"
},
"cost_price": 1,
"active_stock_control": true,
"stock": 123,
"index": 123,
"max_quantity": 123,
"price": 1
}
]
}
],
"combo_steps": [
{
"id": 123,
"name": "<string>",
"price": 1,
"remove_add_on_prices": true,
"index": 123,
"combo_step_items": [
{
"item_id": 123,
"index": 123,
"additional_price": 1
}
]
}
]
}
]
}{
"code": 4001,
"message": "Requisição inválida.",
"errors": {
"name": [
"não pode ficar em branco",
"é muito curto (mínimo: 1 caractere)"
],
"price": [
"não é um número"
]
}
}{
"code": 4010,
"message": "Token inválido."
}This response has no body data.Categorias
Criar categoria
Cria uma nova categoria no cardápio. O nome deve ser único no estabelecimento.
POST
/
api
/
partner
/
v1
/
catalog
/
categories
Criar categoria
curl --request POST \
--url https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Pizzas salgadas",
"description": "As melhores pizzas da região",
"index": 1,
"status": "ACTIVE"
}
'import requests
url = "https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories"
payload = {
"name": "Pizzas salgadas",
"description": "As melhores pizzas da região",
"index": 1,
"status": "ACTIVE"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Pizzas salgadas',
description: 'As melhores pizzas da região',
index: 1,
status: 'ACTIVE'
})
};
fetch('https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Pizzas salgadas',
'description' => 'As melhores pizzas da região',
'index' => 1,
'status' => 'ACTIVE'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories"
payload := strings.NewReader("{\n \"name\": \"Pizzas salgadas\",\n \"description\": \"As melhores pizzas da região\",\n \"index\": 1,\n \"status\": \"ACTIVE\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Pizzas salgadas\",\n \"description\": \"As melhores pizzas da região\",\n \"index\": 1,\n \"status\": \"ACTIVE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://integracao.sandbox.cardapioweb.com/api/partner/v1/catalog/categories")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Pizzas salgadas\",\n \"description\": \"As melhores pizzas da região\",\n \"index\": 1,\n \"status\": \"ACTIVE\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"description": "<string>",
"index": 123,
"image": {
"image_url": "<string>",
"thumbnail_url": "<string>"
},
"allowed_times": [
{
"start_at": "18:00",
"end_at": "23:00"
}
],
"items": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"image": {
"image_url": "<string>",
"thumbnail_url": "<string>"
},
"highlighted": true,
"external_code": "<string>",
"price": 1,
"cost_price": 1,
"stock": 1,
"active_stock_control": true,
"index": 123,
"available_for": [],
"hide_observation_field": true,
"adults_only": true,
"promotional_price_active": true,
"promotional_price": 1,
"promotional_price_schedules": [
{
"start": "18:00",
"end": "23:00"
}
],
"unit_type": "UN",
"allowed_times": [
{
"start_at": "18:00",
"end_at": "23:00"
}
],
"extra_images": [
{
"image_url": "<string>",
"thumbnail_url": "<string>"
}
],
"option_groups": [
{
"id": 123,
"name": "<string>",
"minimum_quantity": 1,
"maximum_quantity": 2,
"index": 123,
"options": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"external_code": "<string>",
"image": {
"image_url": "<string>",
"thumbnail_url": "<string>"
},
"cost_price": 1,
"active_stock_control": true,
"stock": 123,
"index": 123,
"max_quantity": 123,
"price": 1
}
]
}
],
"combo_steps": [
{
"id": 123,
"name": "<string>",
"price": 1,
"remove_add_on_prices": true,
"index": 123,
"combo_step_items": [
{
"item_id": 123,
"index": 123,
"additional_price": 1
}
]
}
]
}
]
}{
"code": 4001,
"message": "Requisição inválida.",
"errors": {
"name": [
"não pode ficar em branco",
"é muito curto (mínimo: 1 caractere)"
],
"price": [
"não é um número"
]
}
}{
"code": 4010,
"message": "Token inválido."
}This response has no body data.Autorizações
bearerAuthpartnerKey & apiKey
Access token OAuth 2.0 de app instalado na CW App Store. Escopo: catalog.
Corpo
application/json
Nome da categoria. Deve ser único no estabelecimento.
Required string length:
1 - 200Descrição da categoria.
Maximum string length:
1000Índice de exibição da categoria no cardápio.
Intervalo obrigatório:
x >= 0Status da categoria.
ACTIVE: categoria ativa e visível.INACTIVE: categoria oculta.MISSING: categoria em falta.
Opções disponíveis:
ACTIVE, INACTIVE, MISSING Resposta
Categoria criada com sucesso.
Categoria do cardápio que agrupa itens relacionados.
Identificador único da categoria.
Nome da categoria.
Descrição da categoria.
Índice de exibição da categoria.
Status da categoria.
ACTIVE: categoria ativa e visível.INACTIVE: categoria oculta.MISSING: categoria em falta.
Opções disponíveis:
ACTIVE, INACTIVE, MISSING Imagem da categoria.
Show child attributes
Show child attributes
Horários de disponibilidade da categoria. Array vazio significa sempre disponível.
Show child attributes
Show child attributes
Lista de itens da categoria.
Show child attributes
Show child attributes
Última modificação em 30 de junho de 2026
Esta página foi útil?
⌘I
