GETOpções, anexos e obrigatórios
Lê as opções e variações de um produto, os arquivos ligados a ele e a lista de produtos obrigatórios (sempre vazia).
Três leituras auxiliares da tela de produto do app do seller: as opções (características e variações do produto, como tamanho e cor), os anexos (arquivos enviados para o produto) e os produtos obrigatórios (itens que a Venddor 1.0 exigia comprar junto; hoje a lista é sempre vazia).
As duas primeiras pedem o product_id na consulta. Elas confirmam que quem chama é um seller, mas não conferem se o produto é desse seller: qualquer product_id existente responde. Não trate o retorno como dado privado do seller.
Opções e variações
/api/v1.0/vendor_product_optionsSellerLer opções e variações de um produto
Parâmetros de consulta
product_iduuidobrigatório/api/vendor_product_optionsSellerAlias de GET /api/v1.0/vendor_product_options
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_product_options. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.
/api/v1.0/vn_product_optionSellerAlias de GET /api/v1.0/vendor_product_options
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_product_options.
/api/vn_product_optionSellerAlias de GET /api/v1.0/vendor_product_options
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_product_options. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.
Anexos do produto
/api/v1.0/vendor_product_attachmentsSellerListar os arquivos de um produto
Devolve até 50 arquivos ligados ao produto (os enviados com owner_type=product e owner_id igual ao produto).
Parâmetros de consulta
product_iduuidobrigatório/api/vendor_product_attachmentsSellerAlias de GET /api/v1.0/vendor_product_attachments
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_product_attachments. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.
/api/v1.0/vn_product_attachmentSellerAlias de GET /api/v1.0/vendor_product_attachments
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_product_attachments.
/api/vn_product_attachmentSellerAlias de GET /api/v1.0/vendor_product_attachments
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_product_attachments. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.
Produtos obrigatórios
/api/v1.0/vendor_required_productsSellerListar produtos obrigatórios (sempre vazio)
Na Venddor 1.0, um produto podia exigir que outro fosse comprado junto. A plataforma atual não tem esse recurso: a rota existe para o app não quebrar e devolve sempre uma lista vazia.
/api/vendor_required_productsSellerAlias de GET /api/v1.0/vendor_required_products
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_required_products. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.
/api/v1.0/vn_required_products_apiSellerAlias de GET /api/v1.0/vendor_required_products
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_required_products.
/api/vn_required_products_apiSellerAlias de GET /api/v1.0/vendor_required_products
Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_required_products. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.
Exemplo de requisição
curl -u "$EMAIL:$API_KEY" \
"$BASE_URL/api/v1.0/vendor_product_options?product_id=22fbd12a-1b6e-41ea-a84f-4d9cf06c8766"
curl -u "$EMAIL:$API_KEY" \
"$BASE_URL/api/v1.0/vendor_product_attachments?product_id=22fbd12a-1b6e-41ea-a84f-4d9cf06c8766"
curl -u "$EMAIL:$API_KEY" "$BASE_URL/api/v1.0/vendor_required_products"Resposta
{
"status": 200,
"data": {
"success": true,
"message": "",
"product_id": "22fbd12a-1b6e-41ea-a84f-4d9cf06c8766",
"options": [],
"variants": []
}
}{
"status": 200,
"data": {
"success": true,
"message": "",
"attachments": [
{
"id": "7c0f2b9e-1d44-4c0a-b6a4-2b3c4d5e6f70",
"filename": "ficha-tecnica.pdf",
"url": "/uploads/dfe2555e/product/22fbd12a/ficha-tecnica.pdf",
"content_type": "application/pdf",
"size": 48213
}
]
}
}{ "status": 200, "data": { "success": true, "message": "", "required_products": [] } }Campos da resposta
data.optionsarraydata.variantsarraydata.attachments[].iduuiddata.attachments[].filenamestringdata.attachments[].urlstringdata.attachments[].content_typestringimage/png, application/pdf).data.attachments[].sizeintegerdata.required_productsarray[].Erros
| Status | Quando | Corpo |
|---|---|---|
| 200 | product_id ausente | {"status": 200, "data": {"success": false, "message": "product_id is required"}} |
| 200 | Produto inexistente ou product_id inválido | {"status": 200, "data": {"success": false, "message": "Product not found"}} (opções) |
| 200 | Falha ao ler os anexos | {"status": 200, "data": {"success": false, "message": "Failed to load attachments"}} |
| 200 | Conta que não é de seller ativo | {"status": 200, "data": {"success": false, "message": "User is not a vendor", "action": "logout"}} |
| 401 | Sem credencial ou credencial inválida | {"message": "Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.", "status": 401} |
| 403 | Usuário cliente (não seller nem administrador) | {"message": "Forbidden: vendor scope required", "status": 403} |