Registre-se como desenvolvedor, crie seu primeiro app e complete o fluxo OAuth em 10 minutos.
Para comecar a construir no Venddor-IO, voce precisa de uma conta de desenvolvedor. Acesse o Portal do Desenvolvedor e crie sua conta.
| # | Passo | Detalhes |
|---|---|---|
| 1 | Acesse o portal | https://io.venddor.com.br/developers |
| 2 | Clique em Criar Conta | Preencha nome, email, empresa e senha |
| 3 | Verifique seu email | Clique no link de confirmacao |
| 4 | Faca login | Acesse o painel de desenvolvedor |
No painel do desenvolvedor, clique em 'Criar Novo App'. Preencha as informacoes do app:
| Campo | Descrição | Exemplo |
|---|---|---|
| Nome do App | Nome para exibicao | My Inventory Sync |
| Descrição | O que seu app faz | Syncs inventory with external ERP |
| URI de Redirect | URL de callback OAuth | https://myapp.com/auth/callback |
| Escopos | Permissoes necessarias | read_products, write_inventory |
Após criar o app, você receberá um Client ID e Client Secret. O secret só é exibido UMA VEZ, então copie e guarde-o em lugar seguro.
O Venddor usa OAuth 2.0 Authorization Code para conectar seu app a lojas de tenants. O fluxo funciona assim:
1. Your App ---> Venddor Auth (redirect user to authorize)
2. User approves scopes on Venddor
3. Venddor Auth ---> Your App (redirect back with ?code=...)
4. Your App ---> Venddor API (exchange code for access_token)
5. Your App ---> Venddor API (use access_token to call APIs)Apos o usuario aprovar, o Venddor redireciona para sua redirect_uri com um codigo de autorizacao:
GET https://myapp.com/auth/callback
?code=AUTHORIZATION_CODE
&state=random_csrf_token
&tenant_id=TENANT_UUIDTroque o codigo de autorizacao por um token de acesso chamando a API do servidor:
curl -X POST https://api.io.venddor.com.br/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"code": "AUTHORIZATION_CODE",
"redirect_uri": "https://myapp.com/auth/callback"
}'Resposta:
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "rt_abc123...",
"tenant_id": "550e8400-e29b-41d4-a716-446655440000",
"scopes": ["read_products", "write_inventory"]
}Com o access_token, voce pode chamar qualquer endpoint permitido pelos escopos do seu app:
# List products from the tenant's store
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "X-Tenant-ID: TENANT_UUID" \
https://api.io.venddor.com.br/api/storefront/products
# Response:
# {
# "items": [
# {
# "id": "prod_123",
# "name": "Camiseta Premium",
# "price_cents": 8990,
# "currency": "BRL",
# "status": "active"
# },
# ...
# ],
# "total": 42,
# "page": 1,
# "limit": 20
# }// Using the Venddor JS SDK (or plain fetch)
const response = await fetch('https://api.io.venddor.com.br/api/storefront/products', {
headers: {
'Authorization': `Bearer ${accessToken}`,
'X-Tenant-ID': tenantId,
},
});
const data = await response.json();
console.log(`Found ${data.total} products`);
for (const product of data.items) {
console.log(`${product.name}: R$ ${(product.price_cents / 100).toFixed(2)}`);
}import requests
headers = {
'Authorization': f'Bearer {access_token}',
'X-Tenant-ID': tenant_id,
}
response = requests.get(
'https://api.io.venddor.com.br/api/storefront/products',
headers=headers
)
data = response.json()
print(f"Found {data['total']} products")
for product in data['items']:
price = product['price_cents'] / 100
print(f"{product['name']}: R$ {price:.2f}")