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

Catálogo de módulos

Lista os módulos disponíveis na plataforma, os instalados na loja e o catálogo com o estado de instalação de cada um.

Três formas de olhar para os módulos. catalog é a principal: todos os módulos da plataforma, cada um com o estado de instalação na sua loja (not_installed, installed_enabled, installed_disabled). available lista os módulos do catálogo sem estado. modules lista só o que já está instalado, ligado ou não. Para instalar, use o id devolvido por aqui em Instalar, configurar e remover.

Catálogo com estado

GET/api/v1/admin/modules/catalogAdmin

Catálogo com o estado de instalação

Exemplo de requisição (catálogo)

bash
curl "$BASE_URL/api/v1/admin/modules/catalog" \
  -H "Authorization: Bearer $TOKEN"

Resposta (catálogo)

200Catálogo (um módulo, cortado)
json
{
  "modules": [
    {
      "id": "2c7168e9-7572-4e6b-9615-9758d55e9e35",
      "name": "Payout Batches",
      "slug": "payout-batches",
      "version": "1.0.0",
      "description": "Pagamento de sellers em lote com arquivo bancário.",
      "author": "Venddor",
      "category": "payments",
      "is_active": true,
      "config_schema": { "fields": [] },
      "dependencies": ["vendor-payouts"],
      "extension_points": null,
      "docs_url": "/docs/guide/modules/payout-batches",
      "created_at": "2026-03-25T19:32:08Z",
      "updated_at": "2026-03-25T19:32:08Z",
      "install_status": "installed_enabled"
    }
  ],
  "total": 59
}

Campos da resposta

modulesarray
Módulos da plataforma que a loja pode ver (a operadora da plataforma pode esconder módulos de uma loja).
modules[].iduuid
Id do módulo no catálogo central.
modules[].namestring
Nome.
modules[].slugstring
Identificador de texto estável.
modules[].versionstring
Versão do módulo.
modules[].descriptionstring
Descrição.
modules[].authorstring
Autor.
modules[].categorystring
Categoria: payments, shipping, storefront, marketing, sales, sales_channels, integrations, erp_integrations, content, checkout, analytics, productivity, admin ou general.
modules[].is_activeboolean
Se o módulo está ativo no catálogo da plataforma.
modules[].config_schemaobject
Descreve os campos de configuração: fields[], cada um com key, label, type (text, number, boolean, select, password, textarea, order_status) e default.
modules[].dependenciesarray
Slugs dos módulos de que este depende.
modules[].extension_pointsarray|null
Pontos de extensão que o módulo usa.
modules[].docs_urlstring
Caminho da documentação do módulo, quando existe.
modules[].created_atstring
Criação, RFC 3339.
modules[].updated_atstring
Última alteração, RFC 3339.
modules[].install_statusstring
not_installedinstalled_enabledinstalled_disabled
Estado na sua loja.
modules[].settingsobject
Ajustes da instalação, quando instalado.
totalinteger
Quantidade de módulos listados.

Erros (catálogo)

StatusQuandoCorpo
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem manage_modules nem manage_settings (basta um dos dois).{"error":"insufficient privileges","privilege_required_any":["manage_modules","manage_settings"]}
500Falha inesperada no servidor.{"error":"failed to ..."}

Módulos disponíveis

GET/api/v1/admin/modules/availableAdmin

Módulos do catálogo da plataforma

Exemplo de requisição (disponíveis)

bash
curl "$BASE_URL/api/v1/admin/modules/available" \
  -H "Authorization: Bearer $TOKEN"

Resposta (disponíveis)

200Módulos disponíveis (cortado)
json
{
  "modules": [{
      "id": "5413e5ab-abc1-46d0-986b-b186f0ec2fb3",
      "name": "Google Analytics",
      "slug": "google-analytics",
      "version": "1.0.0",
      "description": "Mede visitas e conversões da loja com o Google Analytics.",
      "author": "Venddor",
      "category": "marketing",
      "is_active": true,
      "config_schema": { "fields": [ { "key": "ga_measurement_id", "label": "ID de métrica", "type": "text", "default": "" } ] },
      "dependencies": [],
      "extension_points": null,
      "created_at": "2026-03-21T17:48:49Z",
      "updated_at": "2026-03-21T17:48:49Z"
    }],
  "total": 58
}

Campos da resposta

modulesarray
Módulos ativos do catálogo, sem estado de instalação.
modules[].iduuid
Id do módulo no catálogo central.
modules[].namestring
Nome.
modules[].slugstring
Identificador de texto estável.
modules[].versionstring
Versão do módulo.
modules[].descriptionstring
Descrição.
modules[].authorstring
Autor.
modules[].categorystring
Categoria: payments, shipping, storefront, marketing, sales, sales_channels, integrations, erp_integrations, content, checkout, analytics, productivity, admin ou general.
modules[].is_activeboolean
Se o módulo está ativo no catálogo da plataforma.
modules[].config_schemaobject
Descreve os campos de configuração: fields[], cada um com key, label, type (text, number, boolean, select, password, textarea, order_status) e default.
modules[].dependenciesarray
Slugs dos módulos de que este depende.
modules[].extension_pointsarray|null
Pontos de extensão que o módulo usa.
modules[].docs_urlstring
Caminho da documentação do módulo, quando existe.
modules[].created_atstring
Criação, RFC 3339.
modules[].updated_atstring
Última alteração, RFC 3339.
totalinteger
Quantidade.

Erros (disponíveis)

StatusQuandoCorpo
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem manage_modules nem manage_settings (basta um dos dois).{"error":"insufficient privileges","privilege_required_any":["manage_modules","manage_settings"]}
500Falha inesperada no servidor.{"error":"failed to ..."}

Módulos instalados

GET/api/v1/admin/modulesAdmin

Módulos instalados na loja

Exemplo de requisição (instalados)

bash
curl "$BASE_URL/api/v1/admin/modules" \
  -H "Authorization: Bearer $TOKEN"

Resposta (instalados)

200Instalados (um, cortado)
json
{
  "modules": [{
      "id": "cb14bf5e-44ba-4134-b4e5-cdeab08a8276",
      "tenant_id": "dfe2555e-bfd0-41a8-9fa1-9586999f3798",
      "module_id": "f72a3022-fcbd-4b2e-a516-8de94828357e",
      "module_name": "Configuração de métricas",
      "module_slug": "metrics-config",
      "is_enabled": true,
      "config": {},
      "settings": {},
      "installed_at": "2026-10-11T21:18:36.184951Z",
      "updated_at": "2026-10-11T21:18:36.184951Z"
    }],
  "total": 46
}

Campos da resposta

modulesarray
Instalações, ligadas ou desligadas.
modules[].iduuid
Id da instalação (diferente do id do módulo).
modules[].tenant_iduuid
Loja.
modules[].module_iduuid
Id do módulo no catálogo central.
modules[].module_namestring
Nome do módulo.
modules[].module_slugstring
Slug do módulo.
modules[].is_enabledboolean
Se está ligado na loja. Instalado não significa ligado.
modules[].configobject
Configuração da instalação.
modules[].settingsobject
Ajustes próprios do módulo (veja Ajustes do módulo).
modules[].installed_atstring
Quando foi instalado.
modules[].updated_atstring
Última alteração.
totalinteger
Quantidade.

Erros (instalados)

StatusQuandoCorpo
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem manage_modules nem manage_settings (basta um dos dois).{"error":"insufficient privileges","privilege_required_any":["manage_modules","manage_settings"]}
500Falha inesperada no servidor.{"error":"failed to ..."}
As três listas não fecham na mesma conta

catalog, available e modules partem de fontes diferentes: modules inclui instalações de funcionalidades que já fazem parte do núcleo da plataforma, que podem não aparecer como instaladas em catalog. Para saber o estado de um módulo, confie em catalog.

O que é um módulo

Um módulo é um recurso que a loja liga ou desliga (um meio de pagamento, uma transportadora, uma integração). Com o módulo desligado, as rotas dele respondem 403 module_disabled. Veja Instalar, configurar e remover.

Veja também

  • Instalar, configurar e remover
  • Dependências
  • Ajustes do módulo
Anterior
Módulos
Próxima
Instalar, configurar e remover
Nesta página
  • Catálogo com estado
  • Exemplo de requisição (catálogo)
  • Resposta (catálogo)
  • Erros (catálogo)
  • Módulos disponíveis
  • Exemplo de requisição (disponíveis)
  • Resposta (disponíveis)
  • Erros (disponíveis)
  • Módulos instalados
  • Exemplo de requisição (instalados)
  • Resposta (instalados)
  • Erros (instalados)
  • Veja também