Cria uma assinatura manual (cortesia ou cobrança futura)
POST/api/manage/subscriptions
- Auth
- Exige token
- Quem pode:
- owner
- admin
- finance
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
F-45. Owner, admin ou finance; auditado. `mode = COMPLIMENTARY`: cortesia, sem cobrança e sem lançamento no extrato, até `complimentaryUntil` (encerra sozinha) ou sem fim. `mode = FUTURE_CHARGE`: grátis até `chargeStartsAt` e cobrada a partir dessa data como qualquer assinatura — por PIX/boleto (`paymentMethod`; a cobrança sai alguns dias antes e vai por e-mail) ou pelo cartão salvo do membro (`CREDIT_CARD`). O membro pode receber um link para pagar ou cadastrar cartão (`POST .../payment-link`). Membro que já assina a mesma opção: 409. Membro ou opção de outra comunidade: 404.
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo da requisição application/json
| Nome | Tipo | Descrição |
|---|---|---|
profileIdobrigatório | string (uuid) | |
productIdobrigatório | string (uuid) | Opção de cobrança (produto SUBSCRIPTION) |
modeobrigatório | COMPLIMENTARY | FUTURE_CHARGE | |
complimentaryUntilopcional | string (date-time) | |
chargeStartsAtopcional | string (date-time) | Obrigatório em FUTURE_CHARGE |
paymentMethodopcional | PIX | BOLETO | CREDIT_CARD | FUTURE_CHARGE; padrão PIX |
noteopcional | string | max 500 |
Respostas
| Código | Descrição |
|---|---|
201 | Assinatura criada (formato do detalhe). |
400 | Requisição inválida — falha de validação. |
401 | Token ausente, inválido ou expirado. |
403 | Autenticado, mas sem permissão para esta operação. |
404 | Recurso não encontrado. |
409 | O membro já assina esta opção. |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/manage/subscriptions" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{"profileId":"00000000-0000-0000-0000-000000000000","productId":"00000000-0000-0000-0000-000000000000","mode":"COMPLIMENTARY"}'