Privilégios do seller
Lista e controla os recursos extras do painel que cada seller ativo pode usar, como promoções, edição em lote e acesso à API.
O painel do seller tem recursos que todo seller ativo já usa e outros que o administrador libera um a um. Os cinco básicos (manage_products, manage_orders, view_analytics, manage_shipping, manage_profile) são implícitos: não aparecem como concedidos nem se concedem ou revogam. Os oito extras são: manage_promotions, bulk_edit, export_data, api_access, manage_usergroups, manage_delivery_areas, view_customers e manage_messages.
Exige manage_vendor_usergroups ou manage_vendors. Esses privilégios são do seller como empresa, não de cada pessoa da equipe dele.
Ler os privilégios
/api/v1/admin/vendors/{vendorId}/privilegesAdminLista os privilégios de um seller
Parâmetros de caminho
vendorIduuidobrigatório{
"privileges": [
{ "privilege": "manage_products", "section_id": "catalog", "description": "Create, edit, and delete own products", "is_default": true },
{ "privilege": "manage_orders", "section_id": "orders", "description": "View and manage orders for own products", "is_default": true },
{ "privilege": "view_analytics", "section_id": "analytics", "description": "View sales analytics and reports", "is_default": true },
{ "privilege": "manage_shipping", "section_id": "shipping", "description": "Configure shipping methods and delivery areas", "is_default": true },
{ "privilege": "manage_profile", "section_id": "profile", "description": "Edit vendor profile, logo, and contact info", "is_default": true }
],
"total": 5
}Campos da resposta
privilegesarrayprivileges[].privilegestringprivileges[].section_idstringcatalog, orders, marketing...).privileges[].descriptionstringprivileges[].is_defaultbooleantrue nos cinco básicos; false nos extras concedidos.totalintegerSubstituir os extras
Apaga os extras atuais e grava a lista enviada. Nomes dos cinco básicos na lista são ignorados; qualquer outro nome desconhecido recusa a chamada inteira.
/api/v1/admin/vendors/{vendorId}/privilegesAdminDefine os privilégios extras de um seller
Parâmetros de caminho
vendorIduuidobrigatórioCorpo da requisição
privilegesarrayobrigatóriocurl -X PUT "$BASE_URL/api/v1/admin/vendors/94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36/privileges" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"privileges": ["manage_promotions", "bulk_edit"]}'{ "message": "vendor privileges updated" }Conceder um privilégio
/api/v1/admin/vendors/{vendorId}/privileges/{privilege}AdminConcede um privilégio extra
Parâmetros de caminho
vendorIduuidobrigatórioprivilegestringobrigatóriomanage_promotionsbulk_editexport_dataapi_accessmanage_usergroupsmanage_delivery_areasview_customersmanage_messages{ "message": "privilege granted" }Conceder um privilégio que o seller já tem não dá erro.
Revogar um privilégio
/api/v1/admin/vendors/{vendorId}/privileges/{privilege}AdminRevoga um privilégio extra
Parâmetros de caminho
vendorIduuidobrigatórioprivilegestringobrigatório{ "message": "privilege revoked" }Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo do PUT não é JSON. | {"error":"INVALID_REQUEST_BODY","detail":"..."} |
| 400 | Nome de privilégio desconhecido (PUT ou concessão). | {"error":"VENDOR_SET_PRIVILEGES_FAILED","detail":"unknown vendor privilege: x"} |
| 400 | Tentativa de conceder ou revogar um dos cinco básicos. | {"error":"VENDOR_GRANT_PRIVILEGE_FAILED","detail":"privilege \"manage_products\" is a default privilege and cannot be explicitly granted"} |
| 400 | Revogar um extra que o seller não tem. | {"error":"VENDOR_REVOKE_PRIVILEGE_FAILED","detail":"vendor ... does not have privilege ..."} |
| 400 | Seller não existe (PUT, concessão). | {"error":"VENDOR_GRANT_PRIVILEGE_FAILED","detail":"vendor ... not found"} |
| 404 | GET de seller que não existe. | {"error":"vendor not found"} |
| 401 / 403 | Sem token ou sem privilégio. | {"error":"missing authorization header"} |