Lista ou consulta subscription groups
GET/api/checkout/subscription-groups
- Auth
- Public
- Clé d’API:
- Clé d’API non acceptée
- X-CommunityId
X-CommunityIdEnvoyez le X-CommunityId de la communauté où l’opération a lieu.
Endpoint público — não exige autenticação. Adicionais (produtos com `prerequisiteGroupIds`) só aparecem para quem tem assinatura ACTIVE ou TRIALING num dos grupos exigidos; o token é opcional e, sem ele, nenhum adicional aparece. Cada produto traz `prerequisiteGroupIds` (vazio quando não é adicional). Cada grupo traz `slug`, o endereço do plano nos links públicos (`/pricing/<slug>/<optionKey>`). Cada produto traz `optionKey`, o segmento da opção de cobrança nesse link: `mensal` (MONTHLY sem contrato), `N-meses` (MONTHLY com commitmentMonths N), `anual` (YEARLY), ou null nos demais intervalos. Dois produtos do mesmo grupo podem ter o mesmo `optionKey`. `savingsPercentage` (inteiro ou null) é o "Economize X%" de cada opção, a regra única da API (desde 2026-11-01): por mês, contra a opção MONTHLY sem `commitmentMonths` do plano, ao preço que o comprador paga (com a taxa da plataforma quando `feePayer = BUYER`): `round((1 − porMês(opção) / porMês(mensal)) × 100)`, com o anual valendo preço ÷ 12 (o anual contra 12 × o mensal). null no próprio mensal, em plano sem mensal sem fidelidade e quando não há economia. Antes a base era a opção mais cara por mês. `pricePerMonth` é esse preço do comprador por mês. Cada grupo traz `addOns`, os adicionais da lista do plano à venda, visíveis a qualquer um, com ou sem plano: `productId`, `title`, `shortDescription`, `price` (mensal), `currency`, `feePayer` e `sellsWithPlan` (`SUBSCRIPTION` `MONTHLY`: pode ser comprado junto com o plano). Cada opção que aceita adicional (MONTHLY ou YEARLY, sem teste) traz `addOnAmounts`: `[{ productId, amount, interval }]`, o valor de cada adicional vendido junto no ritmo da opção (o mensal, ou 12 × o mensal no anual), sem a taxa paga pelo comprador. Opção que não aceita adicional não traz o campo. Cada produto traz `thankYouMessage` e `redirectUrl` (opcionais, null quando vazios). Cada grupo traz `visibility` (`public` ou `link_only`). Plano `link_only` não é listado, exceto o plano que quem pergunta assina (assinatura ativa, em teste, em atraso ou pausada), para a troca de plano mostrar as outras opções dele. Plano excluído não aparece. O plano `link_only` abre por `GET /api/checkout/subscription-groups/{slug}`. Cada produto (opção) traz `isHighlighted` (opcional): o "Destacar na loja", o mesmo que a Loja mostra como "Recomendado". Cada grupo traz `unlocks` (opcional): `[{ id, title, icon, module, slug }]`, os espaços que assinar o plano (qualquer opção listada) abre, pela mesma regra do `unlocks` dos planos da Loja (concessão ao plano, à opção ou a uma seção deles, seção E espaço), só os que quem pergunta vê no menu, aberto ou com cadeado, na ordem do menu. Sem login, o que o menu público mostra; espaço oculto nunca aparece. Vazio quando o plano não abre nada visível.
En-têtes
| Nom | Type | Description |
|---|---|---|
X-CommunityIdfacultatif | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Réponses
| Statut | Description |
|---|---|
200 | Operação realizada com sucesso. |
400 | Requisição inválida — falha de validação. |
500 | Erro interno do servidor. |
Exemple curl
curl -X GET "https://api.memberfy.net/api/checkout/subscription-groups" \
-H "X-CommunityId: $COMMUNITY_ID"