Saltar para o conteúdo

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

POST/api/manage/subscriptions

Auth
Exige token
Quem pode:
owner
admin
finance
X-CommunityId
X-CommunityId Envie 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

NomeTipoDescrição
X-CommunityIdopcionalstring (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

NomeTipoDescrição
profileIdobrigatóriostring (uuid)
productIdobrigatóriostring (uuid)Opção de cobrança (produto SUBSCRIPTION)
modeobrigatórioCOMPLIMENTARY | FUTURE_CHARGE
complimentaryUntilopcionalstring (date-time)
chargeStartsAtopcionalstring (date-time)Obrigatório em FUTURE_CHARGE
paymentMethodopcionalPIX | BOLETO | CREDIT_CARDFUTURE_CHARGE; padrão PIX
noteopcionalstringmax 500

Respostas

CódigoDescrição
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.

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