Orders API
A API de pedidos do Codante.io é uma api que simula uma lista de pedidos em uma plataforma. Traz suporte para uma variedade de parâmetros de consulta, como busca textual por nome, ordenação, e filtragem por status. A API responde com um código de status 200 para solicitações bem-sucedidas, fornecendo um array de recursos de pedido no formato JSON, cada um contendo informações detalhadas, como ID do pedido, nome e email do cliente, data do pedido, valor em centavos, status e datas de criação e atualização.
Além disso, a API inclui tratamento adequado para solicitações inválidas, retornando um código de status 422 quando os parâmetros fornecidos são incorretos ou insuficientes.
Autenticação
A API de pedidos do Codante.io não requer autenticação para acessar os pedidos.
Rate Limit
A API de pedidos do Codante.io possui um limite de taxa de 100 solicitações por minuto. Se você exceder esse limite, receberá um código de status 429. O uso indiscriminado também poderá levar ao bloqueio do seu IP.
Base URL
A URL base para a API de pedidos do Codante.io é https://apis.codante.io/api/orders-api
.
O model Order (Pedido)
O model Order
traz todas as informações sobre um pedido.
Propriedades
- Name
id
- Type
- integer
- Description
Identificador único do pedido.
- Name
customer_name
- Type
- string
- Description
Nome completo do cliente que realizou o pedido.
- Name
customer_email
- Type
- string
- Description
Email do cliente que realizou o pedido.
- Name
order_date
- Type
- timestamp
- Description
Data do pedido.
- Name
amount_in_cents
- Type
- integer
- Description
Valor do pedido em centavos.
- Name
status
- Type
- string
- Description
Status do pedido. Pode ser
completed
oupending
.
- Name
created_at
- Type
- timestamp
- Description
Data e hora de criação do pedido.
- Name
updated_at
- Type
- timestamp
- Description
Data e hora da última atualização do pedido.
Listagem de pedidos
Este endpoint permite que você recupere uma lista paginada de todos os seus pedidos. Por padrão, um máximo de dez pedidos são mostrados por página.
Atributos opcionais
- Name
page
- Type
- integer
- Description
Número da página a ser recuperada.
- Name
status
- Type
- string
- Description
Filtra os pedidos por status. Pode ser
completed
oupending
.
- Name
sort
- Type
- string
- Description
Ordena os pedidos por um campo específico. Pode ser
customer_name
,order_date
,amount_in_cents
,status
,created_at
ouupdated_at
. O padrão éorder_date
.Para ordenação decrescente, adicione um sinal de menos (
-
) antes do nome do campo.
- Name
search
- Type
- string
- Description
Filtra os pedidos por um termo de busca textual (nome do cliente).
Request
curl -G https://apis.codante.io/api/orders-api/orders \
-d page=1
Response
{
"data": [
{
"id": 178,
"customer_name": "Michelle Carrara",
"customer_email": "michelle.carrara@example.com",
"order_date": "2014-05-05",
"amount_in_cents": 2739,
"status": "pending",
"created_at": "2024-04-29T18:00:02.000000Z",
"updated_at": "2024-04-29T18:00:02.000000Z"
},
// ...
{
"id": 87,
"customer_name": "Stephanie Dias",
"customer_email": "stephanie.dias@example.net",
"order_date": "2014-09-07",
"amount_in_cents": 965,
"status": "completed",
"created_at": "2024-04-29T18:00:02.000000Z",
"updated_at": "2024-04-29T18:00:02.000000Z"
}
],
"links": {
"first": "https://apis.codante.io/api/orders-api/orders?page=1",
"last": "https://apis.codante.io/api/orders-api/orders?page=30",
"prev": null,
"next": "https://apis.codante.io/api/orders-api/orders?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 30,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=1",
"label": "1",
"active": true
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=2",
"label": "2",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=3",
"label": "3",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=4",
"label": "4",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=5",
"label": "5",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=6",
"label": "6",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=7",
"label": "7",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=8",
"label": "8",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=9",
"label": "9",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=29",
"label": "29",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=30",
"label": "30",
"active": false
},
{
"url": "https://apis.codante.io/api/orders-api/orders?page=2",
"label": "Next »",
"active": false
}
],
"path": "https://apis.codante.io/api/orders-api/orders",
"per_page": 10,
"to": 10,
"total": 300
}
}
Pedido Individual
Este endpoint permite que você visualize um único pedido.
Request
curl -G https://apis.codante.io/api/orders-api/orders/1 \
Response
{
"data": {
"id": 1,
"customer_name": "Benjamin Pacheco",
"customer_email": "benjamin.pacheco@example.net",
"order_date": "2022-09-24",
"amount_in_cents": 9916,
"status": "completed",
"created_at": "2024-04-29T19:00:02.000000Z",
"updated_at": "2024-04-29T19:00:02.000000Z"
}
}
Apagar Pedido
Este endpoint permite que você apague uma entrada. Caso o pedido não exista, um código de status 404 será retornado.
Request
curl -X "DELETE" https://apis.codante.io/api/orders-api/orders/1 \
Criar Pedido
Este endpoint permite que você crie um novo pedido. O valor do pedido deve ser fornecido em centavos. Caso o pedido seja criado com sucesso, um código de status 201 será retornado. Caso contrário, um código de status 422 será retornado.
Parâmetros
- Name
customer_name
- Type
- string
- Description
Nome completo do cliente que realizou o pedido.
- Name
customer_email
- Type
- string
- Description
Email do cliente que realizou o pedido.
- Name
order_date
- Type
- timestamp
- Description
Data do pedido.
- Name
amount_in_cents
- Type
- integer
- Description
Valor do pedido em centavos.
- Name
status
- Type
- string
- Description
Status do pedido. Pode ser
completed
oupending
.
Request
curl -X "POST" https://apis.codante.io/api/orders-api/orders \
-d "customer_name=Benjamin Pacheco" \
-d "customer_email=benjamin@example.com" \
-d "order_date=2022-09-24" \
-d "amount_in_cents=9916" \
-d "status=completed"