curl --request GET \
--url https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary', 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/orders/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"total_order_count": 2,
"total_revenue": 150,
"average_order_value": 75
}Resumo de pedidos
Retorna métricas agregadas dos pedidos do estabelecimento no período informado: quantidade de pedidos (total_order_count), soma dos valores totais (total_revenue) e valor médio do pedido (average_order_value).
Este endpoint devolve totais, não a lista de pedidos. Para consultar pedidos individuais, use o histórico ou o polling.
O parâmetro group_by não é aceito neste endpoint. Para quebrar as métricas por dimensão, use GET /orders/summary/grouped.
Autenticação: OAuth 2.0 com escopo orders. Não aceita API Key.
Rate limit: 5 requisições por minuto.
Período
start_date e end_date são obrigatórios. O intervalo não pode ultrapassar 6 meses, e o início não pode retroceder mais de 3 anos.
O campo date_field define qual data do pedido é usada no recorte:
created_at(padrão): data de criação do pedido. Envie datetime ISO 8601 com offset, por exemplo2025-06-01T00:00:00-03:00.scheduled_date: data de agendamento do pedido, correspondente ao objetoschedule. Envie apenas a dataYYYY-MM-DD.
Filtros
Filtros são opcionais e usam o formato plano filters[campo_operador]. Os nomes dos campos são os mesmos do pedido.
Exemplos:
filters[status_in]=closedfilters[status_in]=closed&filters[status_in]=canceledfilters[driver_id_in]=42filters[total_gteq]=50filters[customer_origin_null]=true
Não envie objetos aninhados, como filters[status][in].
| Campo | Operadores | Valores |
|---|---|---|
order_type | in, not_in | delivery, takeout, onsite, closed_table |
order_timing | in, not_in | immediate, scheduled |
sales_channel | in, not_in | catalog, store_front_catalog, table_catalog, portal, integration, ifood, whatsapp_extension, food99, aiqfome, keeta, totem |
status | in, not_in | waiting_confirmation, confirmed, scheduled_confirmed, ready, waiting_to_catch, released, delivered, pending_payment, closed, canceled |
payment_method_id | in, not_in | ID do método de pagamento |
driver_id | in, not_in | ID público positivo do entregador |
customer_origin | in, not_in, null, not_null | origem do pedido, até 255 caracteres |
created_at_time | eq, gt, lt, gteq, lteq | horário de created_at (HH:MM) |
total | eq, not_eq, gt, lt, gteq, lteq | valor total do pedido |
delivery_fee | eq, not_eq, gt, lt, gteq, lteq | taxa de entrega |
Operadores null e not_null devem receber true.
curl --request GET \
--url https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary', 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/orders/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://integracao.sandbox.cardapioweb.com/api/partner/v1/orders/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"total_order_count": 2,
"total_revenue": 150,
"average_order_value": 75
}Autorizações
Access token OAuth 2.0 de app instalado na CW App Store. Escopo principal: orders. A gestão do entregador também exige drivers.
Parâmetros de consulta
Início do período. Com date_field=created_at, use datetime ISO 8601 com offset. Com date_field=scheduled_date (agendamento, campo schedule), use YYYY-MM-DD.
"2025-06-01T00:00:00-03:00"
Fim do período. O intervalo em relação a start_date não pode ultrapassar 6 meses.
"2025-06-30T23:59:59-03:00"
Data do pedido usada no recorte. created_at é a data de criação. scheduled_date é a data de agendamento (schedule).
created_at, scheduled_date Filtros no formato filters[campo_operador]. Veja a tabela na descrição do endpoint.
Resposta
Métricas do período retornadas com sucesso.
Métricas agregadas de pedidos no período.
Esta página foi útil?
