Saltar al contenido

Cria ou executa cancel

POST/api/subscriptions/{id}/cancel

Auth
Requiere token
X-CommunityId
X-CommunityId Envía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.

Corpo: `immediate` (boolean, opcional) e `cancelReason` (texto, opcional). O assinante cancela a própria assinatura; owner e admin da comunidade do `X-CommunityId` (e SuperAdmin) cancelam qualquer assinatura dela. **Contrato (F-35):** quando o assinante cancela uma assinatura `ACTIVE` antes de `commitmentEndsAt`, o cancelamento fica agendado para o fim do contrato, mesmo com `immediate: true`: `status` continua `ACTIVE`, `nextBillingDate` continua preenchido e as cobranças seguem até lá. Owner e admin não ficam presos ao contrato: com `immediate: true` encerram na hora, inclusive um cancelamento já agendado (é o único caso em que uma assinatura com `canceledAt` aceita novo cancelamento). **Anual (F-36):** o assinante que cancela uma assinatura `YEARLY` fica com o acesso até o fim do ano pago, mesmo com `immediate: true`, e ela não renova; não há reembolso. Owner e admin continuam podendo encerrar na hora. **`allowCancellation: false`** no produto: o assinante recebe 400 (`cancellationNotAllowed`); owner e admin podem cancelar. A resposta traz, além dos campos de antes, `commitmentEndsAt` (fim do contrato vigente, ou `null`) e `cancelEffectiveAt` (quando a assinatura de fato termina: agora, no fim do período, ou no fim do período em que o contrato acaba). Um cancelamento no fim do período é encerrado pelo job horário quando o período acaba (FIN-43): `status` vira `CANCELED` e o acesso termina.

Parámetros

NombreDóndeTipoDescripción
idobligatoriopathstring

Headers

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

Cuerpo de la solicitud application/json

NombreTipoDescripción
cancelReasonopcionalstringmin 3, max 500
immediateopcionalboolean`true` encerra agora; ausente ou `false`, ao fim do período pago.

Respuestas

CódigoDescripción
201Operação realizada com sucesso.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
404Recurso não encontrado.
500Erro interno do servidor.

Ejemplo con curl

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