Documentação da API
Começe a usar nossa API rapidamente e sem complicações.
Sumario
Comece a usar nossa API de forma rápida e segura. Aqui você encontrará informações sobre endpoints, autenticação, limites e exemplos práticos e informações essenciais para integrar nossa API ao seu projeto.
Limites da API
Visualize os limites de requisições
Base URL
Entenda o endereço raiz da API
Autenticação
Saiba como autenticar suas requisições
Lojas
Gerencie suas lojas e suas informações
Categorias
Organize seus produtos em categorias
Cupons
Gerencie cupons de desconto
Produtos
Gerencie seus produtos e suas informações
Pagamentos
Gerencie seus pagamentos e suas informações
LIMITES DA API
Cada plano define a quantidade máxima de requisições que você pode realizar, tanto por minuto quanto por mês. O limite por minuto controla a frequência de chamadas à API em curtos períodos, evitando sobrecarga no sistema, enquanto o limite mensal garante que o uso total da API se mantenha dentro do plano contratado. Ao atingir qualquer um desses limites, será necessário adquirir pacotes adicionais de requisições ou atualizar para um plano superior, garantindo continuidade no acesso à API sem interrupções.
Madeira
Ideal para pequenos projetos ou testes, com limites básicos de requisições.
- Limite por minuto: 30
- Limite por mês: 2.500
- Preço mensal: R$ 2,99
Ouro
Para projetos de médio porte com maior volume de requisições.
- Limite por minuto: 60
- Limite por mês: 20.000
- Preço mensal: R$ 22
Esmeralda
Indicado para projetos avançados ou aplicações de grande escala.
- Limite por minuto: 120
- Limite por mês: 30.000
- Preço mensal: R$ 33
BASE URL
A Base URL é o endereço raiz da nossa API e serve como ponto de partida para todas as requisições. Todos os endpoints devem ser anexados a essa URL para que as chamadas sejam processadas corretamente. Manter o uso correto da Base URL garante que suas requisições sejam encaminhadas ao serviço certo e que você receba respostas válidas.
https://api.cabrapi.com.br AUTENTICAÇÃO
As requisições à API requer autenticação via Bearer Token.
O token deve ser incluído no cabeçalho "Authorization" de cada requisição que precise de autenticação.
Ele garante que apenas clientes autorizados possam acessar os recursos protegidos da API, mantendo a segurança, privacidade e integridade dos dados.
Como usar: envie o token no formato abaixo nas requisições protegidas:
'Authorization': 'Bearer SEU_TOKEN_AQUI'
Erros comuns:
- 401 - API_KEY_NOT_PROVIDED: Nenhum token foi fornecido no cabeçalho Authorization.
- 401 - USER_NOT_FOUND: O token fornecido não corresponde a nenhum usuário registrado.
- 403 - NO_ACTIVE_PLAN: O usuário não possui um plano ativo.
- 403 - INVALID_PLAN: O plano do usuário não é válido ou não existe.
- 403 - PLAN_EXPIRED: O plano do usuário está expirado.
- 429 - RATE_LIMIT_EXCEEDED: O limite de requisições por minuto foi ultrapassado.
- 429 - MONTHLY_REQUEST_LIMIT_EXCEEDED: O limite de requisições mensais foi ultrapassado.
LOJAS
A API disponibiliza endpoints para gerenciamento completo das lojas. É possível listar, criar, atualizar e remover lojas. Observe que a exclusão de uma loja elimina todos os dados associados a ela.
Criar loja
POST /stores
$ curl --location 'https://api.cabrapi.com.br/stores' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data '{
"name": "caBRAPI - A melhor loja",
"description": "Loja central da caBRAPI",
"image": "https://cabrapi.com/image/icone.png"
}'
201 - STORE_CREATED (Loja criada com sucesso)
{
"status": true,
"code": "STORE_CREATED",
"store": {
"id": "SEU_STORE_ID",
"name": "caBRAPI - A melhor loja",
"description": "Loja central da caBRAPI",
"image": "https://cabrapi.com/image/icone.png",
"ownerId": "f3737138-fe23-4063-8dfc-14364b5e6b83",
"createdAt": "2025-12-27T17:36:07.005Z",
"updatedAt": "2025-12-27T17:36:07.005Z"
}
}
400 - STORE_NAME_DUPLICATE (Nome da loja já existe)
{
"status": false,
"code": "STORE_NAME_DUPLICATE"
}
404 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Listar lojas
GET /stores
$ curl --location 'https://api.cabrapi.com.br/stores' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - STORE_GET_SUCCESS (Sucesso)
{
"status": true,
"code": "STORE_GET_SUCCESS",
"stores": [
{
"id": "SEU_STORE_ID",
"name": "caBRAPI - A melhor loja",
"description": "Loja central da caBRAPI",
"image": "https://cabrapi.com/image/icone.png",
"ownerId": "f3737138-fe23-4063-8dfc-14364b5e6b83",
"createdAt": "2025-12-27T17:36:07.005Z",
"updatedAt": "2025-12-27T17:36:07.005Z"
},
{
"id": "1a2b3c4d-5678-9012-3456-abcdef123456",
"name": "Loja Secundária",
"description": "Segunda loja de teste",
"image": "https://example.com/image2.png",
"ownerId": "f3737138-fe23-4063-8dfc-14364b5e6b83",
"createdAt": "2025-12-26T15:20:10.000Z",
"updatedAt": "2025-12-26T15:20:10.000Z"
}
]
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Atualizar loja
PUT /stores
$ curl --location --request PUT 'https://api.cabrapi.com.br/stores?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data '{
"name": "caBRAPI"
}'
200 - STORE_UPDATED (Atualização bem-sucedida)
{
"status": true,
"store": {
"id": "SEU_STORE_ID",
"name": "caBRAPI",
"description": "Loja central da caBRAPI",
"image": null,
"ownerId": "f3737138-fe23-4063-8dfc-14364b5e6b83",
"createdAt": "2025-12-27T17:36:07.005Z",
"updatedAt": "2025-12-27T19:18:01.745Z"
}
}
400 - INVALID_DATA
{
"status": false,
"code": "INVALID_DATA"
}
400 - STORE_NAME_DUPLICATE
{
"status": false,
"code": "STORE_NAME_DUPLICATE"
}
404 - STORE_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR"
"error": "Mensagem do erro interno"
}
Deletar loja
DELETE /stores
$ curl --location --request DELETE 'https://api.cabrapi.com.br/stores?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - STORE_DELETED_SUCCESS
{
"status": true,
"code": "STORE_DELETED_SUCCESS"
}
400 - INVALID_DATA
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
404 - STORE_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
CATEGORIAS
A API disponibiliza endpoints para gerenciamento completo das categorias. É possível listar, criar, atualizar e remover categorias associadas a lojas.
Listar categorias
GET /categories
$ curl --location 'https://api.cabrapi.com.br/categories?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - STORE_CATEGORIES_FETCHED (Categorias listadas com sucesso)
{
"status": true,
"code": "STORE_CATEGORIES_FETCHED",
"categories": []
}
400 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
404 - STORE_NOT_FOUND (Loja não encontrada)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Criar categoria
POST /categories
$ curl --location 'https://api.cabrapi.com.br/categories?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data '{
"name": "comida",
"image": "https://google.com",
"description": "Itens relacionados a comida"
}'
201 - CATEGORY_CREATED (Categoria criada com sucesso)
{
"status": true,
"code": "CATEGORY_CREATED",
"category": {
"id": "uuid-da-categoria",
"storeId": "SEU_STORE_ID",
"name": "comida",
"description": "Itens relacionados a comida",
"image": "https://google.com",
"createdAt": "2025-12-27T17:36:07.005Z",
"updatedAt": "2025-12-27T17:36:07.005Z"
}
}
400 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
404 - STORE_NOT_FOUND (Loja não encontrada)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
409 - CATEGORY_ALREADY_EXISTS (Categoria já existe)
{
"status": false,
"code": "CATEGORY_ALREADY_EXISTS"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Atualizar categoria
PUT /categories
$ curl --location --request PUT 'https://api.cabrapi.com.br/categories?storeId=SEU_STORE_ID&categoryId=SEU_CATEGORY_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data '{
"name": "comida",
"image": "uma imagem",
"description": "itens relacionadas a comida e etc..."
}'
200 - CATEGORY_UPDATED (Categoria atualizada com sucesso)
{
"status": true,
"category": {
"id": "SEU_CATEGORY_ID",
"storeId": "SEU_STORE_ID",
"name": "comida",
"description": "itens relacionadas a comida e etc...",
"image": "uma imagem",
"createdAt": "2025-12-27T20:33:40.338Z",
"updatedAt": "2025-12-27T20:51:27.197Z"
}
}
400 - INVALID_REQUEST (Dados inválidos)
{
"status": false,
"code": "INVALID_REQUEST",
"message": "Mensagem de validação do Joi"
}
400 - CATEGORY_NAME_EXISTS (Nome da categoria já existe)
{
"status": false,
"code": "CATEGORY_NAME_EXISTS"
}
403 - STORE_NOT_FOUND (Loja não encontrada ou não pertence ao usuário)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
404 - CATEGORY_NOT_FOUND (Categoria não encontrada)
{
"status": false,
"code": "CATEGORY_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Deletar categoria
DELETE /categories
$ curl --location --request DELETE 'https://api.cabrapi.com.br/categories?storeId=SEU_STORE_ID&categoryId=SEU_CATEGORY_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - CATEGORY_DELETED (Categoria excluída com sucesso)
{
"status": true,
"code": "CATEGORY_DELETED"
}
400 - INVALID_REQUEST (Dados inválidos)
{
"status": false,
"code": "INVALID_REQUEST",
"message": "Mensagem de validação do Joi"
}
403 - STORE_NOT_FOUND (Loja não encontrada ou não pertence ao usuário)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
404 - CATEGORY_NOT_FOUND (Categoria não encontrada)
{
"status": false,
"code": "CATEGORY_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
CUPONS
A API disponibiliza endpoints para gerenciamento completo dos cupons. É possível listar, criar, atualizar e remover cupons associados a lojas.
Criar cupom
POST /coupons
$ curl --location 'https://api.cabrapi.com.br/coupons?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data '{
"code": "aaa",
"discount": 20,
"useLimit": 1,
"expiredAt": "2025-12-27T21:43:06.000Z",
"productIds": ["uuid-do-produto"],
"categoryIds": ["uuid-da-categoria"]
}'
201 - COUPON_CREATED (Cupom criado com sucesso)
{
"status": true,
"coupon": {
"id": "ea1fbff2-0e1e-4654-af19-89b47ada23c6",
"code": "aaa",
"discount": 20,
"useLimit": 1,
"expiredAt": "2025-12-27T21:43:06.000Z",
"storeId": "ID_DA_SUA_LOJA",
"createdAt": "2025-12-27T21:18:00.882Z",
"updatedAt": "2025-12-27T21:18:00.882Z"
}
}
400 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
404 - STORE_NOT_FOUND (Loja não encontrada)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
409 - COUPON_ALREADY_EXISTS (Cupom já existe)
{
"status": false,
"code": "COUPON_ALREADY_EXISTS"
}
400 - RELATION_NOT_FOUND (Produto ou categoria não existe)
{
"status": false,
"code": "RELATION_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Listar cupons
GET /coupons
$ curl --location 'https://api.cabrapi.com.br/coupons?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - COUPONS_FETCHED (Cupons listados com sucesso)
{
"status": true,
"code": "COUPONS_FETCHED",
"coupons": [
{
"id": "ea1fbff2-0e1e-4654-af19-89b47ada23c6",
"code": "aaa",
"discount": 20,
"storeId": "SEU_STORE_ID",
"useLimit": 1,
"expiredAt": "2025-12-27T21:43:06.000Z",
"createdAt": "2025-12-27T21:18:00.882Z",
"updatedAt": "2025-12-27T21:18:00.882Z",
"products": [],
"categories": []
}
]
}
400 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
404 - STORE_NOT_FOUND (Loja não encontrada)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Atualizar cupom
PUT /coupons
$ curl --location --request PUT 'https://api.cabrapi.com.br/coupons?storeId=SEU_STORE_ID&couponId=SEU_COUPON_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data '{
"code": "novo-codigo",
"discount": 25,
"useLimit": 2,
"expiredAt": "2025-12-27T21:43:06.000Z",
"productIds": ["uuid-produto1", "uuid-produto2"],
"categoryIds": ["uuid-categoria1", "uuid-categoria2"]
}'
200 - CUPON_UPDATED (Cupom atualizado com sucesso)
{
"status": true,
"coupon": {
"id": "SEU_COUPON_ID",
"code": "novo-codigo",
"discount": 25,
"useLimit": 2,
"expiredAt": "2025-12-27T21:43:06.000Z",
"storeId": "SEU_STORE_ID",
"createdAt": "2025-12-27T21:41:48.779Z",
"updatedAt": "2025-12-27T21:43:06.000Z"
}
}
400 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
404 - STORE_NOT_FOUND / COUPON_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
{
"status": false,
"code": "COUPON_NOT_FOUND"
}
409 - COUPON_ALREADY_EXISTS
{
"status": false,
"code": "COUPON_ALREADY_EXISTS"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
Excluir cupom
DELETE /coupons
$ curl --location --request DELETE 'https://api.cabrapi.com.br/coupons?storeId=SEU_STORE_ID&couponId=SEU_COUPON_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json'
200 - COUPON_DELETED (Cupom excluído com sucesso)
{
"status": true,
"code": "COUPON_DELETED"
}
400 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
404 - STORE_NOT_FOUND (Loja não encontrada) ou COUPON_NOT_FOUND (Cupom não encontrado)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
PRODUTOS
A API disponibiliza endpoints para gerenciamento completo dos produtos. É possível listar, criar, atualizar e remover produtos associados a lojas.
Listar produtos
GET /products
$ curl --location 'https://api.cabrapi.com.br/products?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - STORE_PRODUCTS_RETRIEVED
{
"status": true,
"code": "STORE_PRODUCTS_RETRIEVED",
"products": []
}
400 - INVALID_DATA
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação"
}
404 - STORE_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem interna"
}
Criar produto
POST /products
$ curl --location 'https://api.cabrapi.com.br/products?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data '{
"name": "Produto de exemplo",
"image": "https://exemplo.com/imagem.png",
"description": "Descrição do produto",
"delivery": "DIGITAL",
"price": 49.90,
"stock": 10,
"metadata": {
"nivel": "premium"
}
}'
200 - PRODUCT_CREATED
{
"status": true,
"code": "PRODUCT_CREATED",
"product": {
"id": "uuid",
"name": "Produto de exemplo",
"delivery": "DIGITAL",
"price": 49.9,
"stock": 10,
"storeId": "uuid",
"createdAt": "2025-12-28T14:35:12.504Z"
}
}
400 - INVALID_DATA
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação"
}
404 - STORE_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"message": "Erro interno"
}
Atualizar produto
PUT /products
$ curl --location --request PUT 'https://api.cabrapi.com.br/products?storeId=SEU_STORE_ID&productId=SEU_PRODUCT_ID' \
--header 'Authorization: Bearer SEU_TOKEN_AQUI' \
--header 'Content-Type: application/json' \
--data '{
"name": "Novo nome do produto",
"description": "Descrição atualizada",
"image": "https://imagem.com/produto.png",
"price": 99.90,
"stock": 10,
"metadata": {
"key": "value"
}
}'
200 - PRODUCT_UPDATED
{
"status": true,
"code": "PRODUCT_UPDATED",
"product": {
"id": "uuid",
"name": "Novo nome do produto",
"price": 99.9,
"stock": 10,
"updatedAt": "2025-12-28T14:40:00.000Z"
}
}
400 - INVALID_DATA
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação"
}
403 - STORE_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
404 - PRODUCT_NOT_FOUND
{
"status": false,
"code": "PRODUCT_NOT_FOUND"
}
404 - CATEGORY_NOT_FOUND
{
"status": false,
"code": "CATEGORY_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem interna"
}
Deletar produto
DELETE /products
$ curl --location --request DELETE 'https://api.cabrapi.com.br/products?storeId=ID_DA_SUA_LOJA&productId=ID_DO_SEU_PRODUTO' \
--header 'Authorization: Bearer SEU_TOKEN_AQUI' \
--header 'Content-Type: application/json'
200 - PRODUCT_DELETED (Produto excluído com sucesso)
{
"status": true,
"code": "PRODUCT_DELETED"
}
400 - INVALID_DATA (Dados inválidos)
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação do Joi"
}
403 - STORE_NOT_FOUND (Loja não encontrada ou não pertence ao usuário)
{
"status": false,
"code": "STORE_NOT_FOUND"
}
404 - PRODUCT_NOT_FOUND (Produto não encontrado)
{
"status": false,
"code": "PRODUCT_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR (Erro interno do servidor)
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem do erro interno"
}
PAGAMENTOS
A API disponibiliza endpoints para gerenciamento completo dos pagamentos. É possível listar, criar, atualizar e remover pagamentos associados a lojas.
Listar pagamentos
GET /payments
$ curl --location 'https://api.cabrapi.com.br/user/payments?storeId=SEU_STORE_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - PAYMENTS_RETRIEVED
{
"status": true,
"code": "PAYMENTS_RETRIEVED",
"payments": []
}
400 - INVALID_DATA
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação"
}
404 - STORE_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem interna"
}
Criar pagamento
POST /payments
$ curl --location 'https://api.cabrapi.com.br/payments?storeId=SEU_STORE_ID&productId=SEU_PRODUCT_ID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data-raw '{
"name": "Nome do Cliente",
"email": "cliente@email.com",
"gateway": "MERCADOPAGO",
"coupon": "OPCIONAL",
"metadata": { "nickname": ".exemplo" }
}'
201 - Pagamento criado com sucesso
{
"status": true,
"payment": {
"id": "200f8c9f-2f3b-4e6e-80e1-36b938b79a6b",
"uuid": "057030ed-6309-40c2-9498-06e6a3aeb695",
"status": "PENDING",
"name": "Sebastian Jn",
"email": "sebastianjnuwu@gmail.com",
"cpf": null,
"price": 10,
"coupon": false,
"gateway": "MERCADOPAGO",
"metadata": {
"nickname": ".sebastianjnuwu",
"product": { "id": "2ed066a1-74f1-4552-b5b9-19d20b073dce", "name": "TEST", "price": 10 },
"coupon": false
},
"storeId": "08646caa-5763-4688-acdf-596fbb4bc060",
"createdAt": "2025-12-28T21:15:46.477Z",
"updatedAt": "2025-12-28T21:15:46.477Z"
}
}
400 - INVALID_DATA / USER_NOT_FOUND / OUT_OF_STOCK / INVALID_COUPON / COUPON_EXPIRED / GATEWAY_NOT_ENABLED
{
"status": false,
"code": "INVALID_DATA" ou "OUT_OF_STOCK" ou "INVALID_COUPON" ou "COUPON_EXPIRED" ou "GATEWAY_NOT_ENABLED",
}
404 - STORE_NOT_FOUND / PRODUCT_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND" ou "PRODUCT_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem interna"
}
Atualizar pagamento
PUT /payments
$ curl --location --request PUT 'https://api.cabrapi.com.br/payments?storeId=SEU_STORE_ID&paymentId=SEU_PAYMENT_UUID' --header 'Authorization: Bearer SEU_TOKEN_AQUI' --header 'Content-Type: application/json' --data-raw '{
"status": "DELIVERED",
"metadata": { "exemplo": "valor" }
}'
200 - PAYMENT_UPDATED
{
"status": true,
"code": "PAYMENT_UPDATED",
"payment": {
"id": "ae34b104-de00-4dfe-b6fb-de2fa7b2b653",
"uuid": "67723603-7636-4a81-a02e-47f23375eda6",
"status": "DELIVERED",
"name": "Sebastian Jn",
"email": "sebastianjnuwu@gmail.com",
"cpf": null,
"price": 10,
"coupon": false,
"gateway": "MERCADOPAGO",
"metadata": {
"nickname": ".sebastianjnuwu",
"product": { ... },
"exemplo": "valor"
},
"storeId": "08646caa-5763-4688-acdf-596fbb4bc060",
"createdAt": "2025-12-28T21:36:58.209Z",
"updatedAt": "2025-12-28T21:38:27.492Z"
}
}
400 - INVALID_DATA
{
"status": false,
"code": "INVALID_DATA",
"message": "Descrição do erro de validação"
}
400 - PAYMENT_NOT_APPROVED
{
"status": false,
"code": "PAYMENT_NOT_APPROVED",
"message": "Só é possível marcar como DELIVERED pagamentos aprovados"
}
404 - STORE_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
404 - PAYMENT_NOT_FOUND
{
"status": false,
"code": "PAYMENT_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"error": "Mensagem interna do servidor"
}
Deletar pagamento
DELETE /payments
$ curl --location --request DELETE 'http://localhost:8081/payments?storeId=08646caa-5763-4688-acdf-596fbb4bc060&paymentId=057030ed-6309-40c2-9498-06e6a3aeb695' --header 'Authorization: Bearer SEU_TOKEN_AQUI'
200 - PAYMENT_DELETED
{
"status": true,
"code": "PAYMENT_DELETED"
}
400 - INVALID_DATA / CANNOT_DELETE_PAYMENT
{
"status": false,
"code": "INVALID_DATA",
"message": "Mensagem de validação"
}
404 - STORE_NOT_FOUND / PAYMENT_NOT_FOUND
{
"status": false,
"code": "STORE_NOT_FOUND"
}
500 - INTERNAL_SERVER_ERROR
{
"status": false,
"code": "INTERNAL_SERVER_ERROR",
"message": "Mensagem interna"
}