VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Marketplace de módulos

Instalar e remover módulos

Instala um módulo na loja (ligando as dependências) ou o remove, com as regras de permissão da Venddor e de dependência entre módulos.

Instalar é o que liga um recurso na loja: depois dele, as rotas do módulo deixam de responder 403 module_disabled. As duas operações valem para a loja do token e exigem manage_modules ou manage_settings.

Instalar um módulo

Busca o módulo pelo slug, confere se a sua loja tem permissão de instalar, liga as dependências que ele declara (recursivamente) e grava a instalação com a origem tenant_admin. A rota não lê corpo: não há como enviar configuração aqui.

POST/api/v1/admin/marketplace/install/{slug}Admin

Instala um módulo na loja

Parâmetros de caminho

slugstringobrigatório
Slug do módulo, como em modules[].slug do catálogo.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/marketplace/install/vendor-kyc" \
  -H "Authorization: Bearer $TOKEN"

Resposta

201Módulo instalado
json
{
  "id": "0c4d1c2e-7f10-4b2a-9d36-5a1e8b7c9d02",
  "tenant_id": "dfe2555e-bfd0-41a8-9fa1-9586999f3798",
  "module_id": "be8a6c23-46c5-4a64-8729-a67357ecafca",
  "module_name": "Vendor KYC",
  "module_slug": "vendor-kyc",
  "is_enabled": true,
  "config": {},
  "settings": {},
  "installed_at": "2026-10-11T21:40:00Z",
  "updated_at": "2026-10-11T21:40:00Z"
}

Campos da resposta

iduuid
Id da instalação.
tenant_iduuid
Loja onde foi instalado.
module_iduuid
Id do módulo no catálogo.
module_namestring
Nome do módulo.
module_slugstring
Slug do módulo.
is_enabledboolean
Se o módulo está ligado.
configobject
Configuração gravada. Vazia ({}) quando instalado por esta rota.
settingsobject
Configurações próprias do módulo.
installed_atstring
Quando foi instalado (RFC 3339, UTC).
updated_atstring
Última alteração.
Reinstalar apaga a configuração

A instalação é um upsert: chamar de novo para um módulo já instalado não dá erro, mas regrava config como vazio, porque esta rota não envia configuração. Para só confirmar se um módulo está instalado, leia install_status no catálogo.

Remover um módulo

Desinstala o módulo da loja. É recusado se a sua loja não tem permissão de remover aquele módulo, ou se algum outro módulo instalado depende dele.

DELETE/api/v1/admin/marketplace/uninstall/{slug}Admin

Remove um módulo da loja

Parâmetros de caminho

slugstringobrigatório
Slug do módulo.
200Módulo removido
json
{ "message": "module uninstalled" }
Remover desliga as rotas do módulo

Assim que o módulo sai, as rotas dele passam a responder 403 module_disabled. Os dados que ele criou não são apagados por esta rota, mas ficam inacessíveis até a reinstalação.

Erros

StatusQuandoCorpo de exemplo
400Slug desconhecido, dependência impeditiva ou falha de instalação. O motivo vai em detail.{"error":"failed to install module","detail":"module not found: foo"}
400Remoção bloqueada por módulos que dependem deste.{"error":"failed to uninstall module","detail":"cannot uninstall: modules [x, y] depend on this module"}
403A Venddor restringiu a instalação ou a remoção deste módulo para a sua loja.{"error":"tenant does not have permission to install module vendor-kyc"}
401 / 403Sem token ou sem privilégio.{"error":"missing authorization header"}
O cache de módulos é atualizado na hora

Depois de instalar ou remover, o cache que decide o 403 module_disabled é invalidado imediatamente. Não é preciso esperar nem reiniciar nada para chamar as rotas do módulo.

Veja também

  • Navegar o catálogo
  • Visão geral do marketplace de módulos
Anterior
Navegar o catálogo de módulos
Próxima
Avaliações de módulos
Nesta página
  • Instalar um módulo
  • Exemplo de requisição
  • Resposta
  • Remover um módulo
  • Erros
  • Veja também