Guia do Desenvolvedor

Referencia API

Referencia completa de endpoints com schemas de request/response para todos os dominios.

Visao Geral da API

A API Venddor oferece 1.250+ endpoints REST organizados por dominio. Todos os endpoints retornam JSON e requerem autenticacao via OAuth Bearer token.

DominioEscopo necessarioDescrição
Catalogoread_products / write_productsProdutos, categorias, features, variantes
Pedidosread_orders / write_ordersPedidos, itens, status, pagamentos
Clientesread_customers / write_customersUsuarios, enderecos, perfis
Estoqueread_inventory / write_inventoryNiveis de estoque, movimentacoes
Freteread_shipping / write_shippingMetodos, calculo, rastreio
Conteudoread_content / write_contentPaginas, menus, banners, SEO
Analiticosread_analyticsVendas, relatorios, metricas
Lojaread_store_infoConfiguracoes, modulos, tema

URL Base e Versionamento

text
Production: https://api.io.venddor.com.br
Sandbox:    https://sandbox.api.io.venddor.com.br

API paths follow this pattern:
  /api/storefront/*   — Public store endpoints (products, search, cart)
  /api/admin/*        — Admin endpoints (requires admin scope)
  /api/vendor/*       — Vendor endpoints (requires vendor scope)
  /graphql            — GraphQL endpoint
A API e versionada automaticamente. Breaking changes so ocorrem em versoes major, com 6 meses de aviso previo.

API de Catalogo

MétodoEndpointDescrição
GET/api/storefront/productsListar produtos
GET/api/storefront/products/{id}Detalhes do produto
GET/api/storefront/categoriesListar categorias
GET/api/storefront/categories/{id}Detalhes da categoria
GET/api/storefront/search?q={query}Buscar produtos
POST/api/admin/productsCriar produto
PUT/api/admin/products/{id}Atualizar produto
DELETE/api/admin/products/{id}Remover produto
GET/api/admin/products/{id}/variantsListar variantes
POST/api/admin/products/{id}/variantsCriar variante
GET/api/admin/featuresListar features
bash
# Example: Search products with filters
curl -H "Authorization: Bearer $TOKEN" \
     -H "X-Tenant-ID: $TENANT" \
     "https://api.io.venddor.com.br/api/storefront/products?search=camiseta&category_id=CAT_UUID&min_price=1000&max_price=10000&sort_by=price_cents&sort_order=asc&page=1&limit=20"

API de Pedidos

MétodoEndpointDescrição
GET/api/admin/ordersListar pedidos
GET/api/admin/orders/{id}Detalhes do pedido
PUT/api/admin/orders/{id}/statusAtualizar status
GET/api/admin/orders/{id}/shipmentsListar envios
POST/api/admin/orders/{id}/shipmentsCriar envio
GET/api/storefront/ordersPedidos do cliente
POST/api/storefront/checkoutFinalizar checkout
bash
# Example: List pending orders from last 7 days
curl -H "Authorization: Bearer $TOKEN" \
     -H "X-Tenant-ID: $TENANT" \
     "https://api.io.venddor.com.br/api/admin/orders?status=pending&created_after=2026-03-20&sort_by=created_at&sort_order=desc"

API de Clientes

MétodoEndpointDescrição
GET/api/admin/usersListar usuarios
GET/api/admin/users/{id}Detalhes do usuario
PUT/api/admin/users/{id}Atualizar usuario
GET/api/admin/users/{id}/ordersPedidos do usuario
GET/api/admin/users/{id}/addressesEnderecos do usuario

API de Estoque

MétodoEndpointDescrição
GET/api/admin/products/{id}/inventoryNivel de estoque
PUT/api/admin/products/{id}/inventoryAtualizar estoque
POST/api/admin/inventory/bulk-updateAtualizacao em lote
bash
# Example: Update inventory for a product
curl -X PUT -H "Authorization: Bearer $TOKEN" \
     -H "X-Tenant-ID: $TENANT" \
     -H "Content-Type: application/json" \
     -d '{"quantity": 150, "reason": "restock"}' \
     "https://api.io.venddor.com.br/api/admin/products/PRODUCT_ID/inventory"

# Example: Bulk update inventory
curl -X POST -H "Authorization: Bearer $TOKEN" \
     -H "X-Tenant-ID: $TENANT" \
     -H "Content-Type: application/json" \
     -d '{
       "updates": [
         {"product_id": "prod_001", "quantity": 100},
         {"product_id": "prod_002", "quantity": 50},
         {"product_id": "prod_003", "quantity": 0}
       ]
     }' \
     "https://api.io.venddor.com.br/api/admin/inventory/bulk-update"

API de Frete

MétodoEndpointDescrição
GET/api/admin/shipping-methodsListar metodos
POST/api/storefront/shipping/calculateCalcular frete
GET/api/admin/orders/{id}/trackingRastreio do pedido
bash
# Example: Calculate shipping
curl -X POST -H "Authorization: Bearer $TOKEN" \
     -H "X-Tenant-ID: $TENANT" \
     -H "Content-Type: application/json" \
     -d '{
       "zip_code": "01001-000",
       "items": [
         {"product_id": "prod_001", "quantity": 2, "weight_grams": 500}
       ]
     }' \
     "https://api.io.venddor.com.br/api/storefront/shipping/calculate"

API de Conteudo

MétodoEndpointDescrição
GET/api/storefront/pagesListar paginas
GET/api/storefront/pages/{slug}Pagina por slug
GET/api/storefront/menusListar menus
GET/api/admin/bannersListar banners
POST/api/admin/pagesCriar pagina
PUT/api/admin/pages/{id}Atualizar pagina

API de Analiticos

MétodoEndpointDescrição
GET/api/admin/analytics/ordersEstatisticas de pedidos
GET/api/admin/analytics/salesRelatorio de vendas
GET/api/admin/analytics/top-productsProdutos mais vendidos
GET/api/admin/analytics/customersMetricas de clientes
bash
# Example: Get sales report for a date range
curl -H "Authorization: Bearer $TOKEN" \
     -H "X-Tenant-ID: $TENANT" \
     "https://api.io.venddor.com.br/api/admin/analytics/sales?from=2026-03-01&to=2026-03-31"

# Response:
# {
#   "total_orders": 142,
#   "total_revenue_cents": 2850000,
#   "average_order_cents": 20070,
#   "daily": [
#     {"date": "2026-03-01", "orders": 5, "revenue_cents": 95000},
#     ...
#   ]
# }

Formato de Resposta

Todas as respostas seguem um formato padronizado:

Sucesso (item unico)

json
{
  "id": "prod_abc123",
  "name": "Camiseta Premium",
  "price_cents": 8990,
  ...
}

Sucesso (lista paginada)

json
{
  "items": [...],
  "total": 142,
  "page": 1,
  "limit": 20
}

Erro

json
{
  "error": "not_found",
  "message": "Product not found",
  "status": 404
}
Para explorar a API interativamente, use o GraphQL Playground em https://api.io.venddor.com.br/graphql/playground