Zum Inhalt springen

Prévia da troca de plano

POST/api/subscriptions/{id}/change-tier/quote

Auth
Token erforderlich
X-CommunityId
X-CommunityId Sende die X-CommunityId der Community, in der die Operation stattfindet.
Die Beschreibungen der Endpoints stammen aus der API-Spezifikation und sind vorerst auf Portugiesisch. Die Oberfläche drumherum ist übersetzt.

FIN-68. Sem efeito: diz o que `POST /change-tier` faria com o mesmo corpo. `:id` é a assinatura do plano, do próprio membro, na comunidade do X-CommunityId; de outra pessoa ou de outra comunidade responde 404. As recusas são as mesmas de `change-tier`. `changeType`: `UPGRADE` (opção mais cara na mesma periodicidade), `DOWNGRADE`, `SAME_PRICE` ou `INTERVAL_CHANGE` (mensal ↔ anual). `mode`: `IMMEDIATE` só para `UPGRADE` com `immediate` ausente ou `true` e sem adicional que a opção nova deixe de oferecer; o resto é `SCHEDULED`, para `effectiveDate` (o fim do período pago), e `scheduledReason` diz por quê (`DOWNGRADE`, `SAME_PRICE`, `INTERVAL_CHANGE`, `ADD_ONS_END` ou `REQUESTED`). No `IMMEDIATE`: `prorataAmount` é a diferença de preço proporcional aos `remainingDays` de `periodDays`; com menos de 3 dias ou menos de R$ 10, `floorApplied = true` e `amountDueNow = 0` (troca na hora, sem cobrança). `amountToCharge` soma a taxa da plataforma quando o comprador a paga (`feePayer = BUYER`). A cobrança é no cartão salvo (`cardRequired`, `hasSavedCard`), em até `maxInstallments` parcelas (meses restantes no anual; 1 no mensal). Sempre: `newPrice` (preço por período da opção nova), `nextChargeDate` e `nextChargeTotal` (a primeira cobrança no preço novo, com os adicionais que continuam); `addOns` (cada adicional cobrado com o plano: `outcome = KEPT` continua, no valor da periodicidade nova, `newAmount`; `ENDS` termina com a troca); `contract` (`commitmentEndsAt` depois da troca; `carriedOver = true` quando o contrato atual continua valendo); `couponEnds` (o cupom da assinatura deixa de valer na troca); `replacesScheduledChange` (a troca agendada que esta substituiria, ou `null`).

Parameter

NameOrtTypBeschreibung
idPflichtpathstring (uuid)

Header

NameTypBeschreibung
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

NameTypBeschreibung
newProductIdPflichtstring (uuid)A opção de plano de destino
immediateoptionalbooleanAusente vale `true` aqui: a prévia do upgrade na hora

Antworten

StatusBeschreibung
200Operação realizada com sucesso.
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.
409Conflito com o estado atual do recurso.
500Erro interno do servidor.

curl-Beispiel

curl -X POST "https://api.memberfy.net/api/subscriptions/<id>/change-tier/quote" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"newProductId":"00000000-0000-0000-0000-000000000000"}'