Visibilidade do seller
Esconde um seller da vitrine ou o restringe a grupos de clientes, e lista as regras de visibilidade de todos os sellers.
Por padrão a loja de um seller aparece para todo mundo. A visibilidade deixa o administrador mudar isso: esconder o seller por completo (is_hidden) ou liberá-lo só para certos grupos de clientes (allowed_usergroups), útil em B2B quando um fornecedor só atende alguns clientes. O módulo vendor-visibility precisa estar ligado. Ler exige view_vendors ou manage_vendors; gravar exige manage_vendor_visibility ou manage_vendors.
Listar todos os sellers com a visibilidade
Devolve todo seller ativo com a regra de visibilidade dele (uma regra padrão, "visível a todos", para quem nunca teve uma).
/api/v1/admin/vendors/visibilityAdminLista a visibilidade de todos os sellers
Parâmetros de consulta
searchstringpageintegerpadrão: 1per_pageintegerpadrão: 20{
"vendors": [
{
"vendor_id": "c0000000-0000-0000-0000-000000000003",
"company_name": "Casa & Cia",
"is_hidden": false,
"allowed_usergroups": [],
"customer_mode": "",
"customer_ids": null,
"customer_visibility_available": false,
"updated_at": "2026-07-20T02:21:09Z"
}
],
"total": 12,
"page": 1,
"per_page": 20,
"total_pages": 1
}Campos da resposta
vendorsarraynull quando não há nenhum.vendors[].vendor_iduuidvendors[].company_namestringvendors[].is_hiddenbooleantrue esconde o seller de toda a vitrine.vendors[].allowed_usergroupsarrayvendors[].customer_modestringall ou uma lista). Vazio/ausente nas listas.vendors[].customer_idsarrayvendors[].customer_visibility_availablebooleanvendors[].updated_atstringtotalintegerpageintegerper_pageintegertotal_pagesintegerListar sellers com regra gravada
Mesmo formato, mas só os sellers que têm uma regra gravada (mesmo que ela diga "visível a todos"). Apesar do nome hidden, não filtra por is_hidden.
/api/v1/admin/vendors/visibility/hiddenAdminLista os sellers com regra de visibilidade gravada
Parâmetros de consulta
searchstringpageintegerpadrão: 1per_pageintegerpadrão: 20A resposta tem o mesmo formato da lista anterior, ordenada da regra mais recente para a mais antiga.
Ler a visibilidade de um seller
/api/v1/admin/vendors/{vendorId}/visibilityAdminLê a regra de visibilidade de um seller
Parâmetros de caminho
vendorIduuidobrigatório{
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"company_name": "Loja Seller Teste",
"is_hidden": false,
"allowed_usergroups": [],
"customer_mode": "all",
"customer_ids": [],
"customer_visibility_available": false,
"updated_at": "2026-07-14T00:34:48Z"
}Para um seller sem regra gravada, a resposta é a padrão (visível a todos). Isso inclui um UUID que não é de nenhum seller: a leitura não dá 404.
Definir a visibilidade
Grava a regra do seller (cria ou substitui). Os dois campos são gravados juntos: o que você não enviar volta ao padrão (is_hidden: false, sem grupos).
/api/v1/admin/vendors/{vendorId}/visibilityAdminDefine a regra de visibilidade de um seller
Parâmetros de caminho
vendorIduuidobrigatórioCorpo da requisição
is_hiddenbooleanpadrão: falsetrue esconde o seller da vitrine.allowed_usergroupsarraypadrão: []curl -X PUT "$BASE_URL/api/v1/admin/vendors/94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36/visibility" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"is_hidden": false, "allowed_usergroups": ["a1111111-1111-1111-1111-111111111111"]}'A resposta (200) é a regra gravada, no formato da leitura.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo do PUT não é JSON. | {"error":"INVALID_REQUEST_BODY","detail":"..."} |
| 500 | PUT em seller que não existe. | {"error":"VENDOR_VISIBILITY_SET_FAILED","detail":"vendor ... not found"} |
| 500 | vendorId que não é UUID. | {"error":"VENDOR_VISIBILITY_GET_FAILED","detail":"..."} |
| 401 / 403 | Sem token, módulo desligado ou sem privilégio. | {"error":"module_disabled","module":"vendor-visibility"} |