Skip to content

Cria uma assinatura manual (cortesia ou cobrança futura)

POST/api/manage/subscriptions

Auth
Requires a token
Who can call it:
owner
admin
finance
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

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

NameTypeDescription
X-CommunityIdoptionalstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Request body application/json

NameTypeDescription
profileIdrequiredstring (uuid)
productIdrequiredstring (uuid)Opção de cobrança (produto SUBSCRIPTION)
moderequiredCOMPLIMENTARY | FUTURE_CHARGE
complimentaryUntiloptionalstring (date-time)
chargeStartsAtoptionalstring (date-time)Obrigatório em FUTURE_CHARGE
paymentMethodoptionalPIX | BOLETO | CREDIT_CARDFUTURE_CHARGE; padrão PIX
noteoptionalstringmax 500

Responses

StatusDescription
201Assinatura criada (formato do detalhe).
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409O membro já assina esta opção.
500Erro interno do servidor.

curl example

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"}'