Saltar al contenido

Soma um adicional ao plano em andamento

POST/api/subscriptions/{id}/add-ons

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.

F-37. Cobra agora o proporcional da cotação (`/add-ons/quote`, mesmas regras e recusas) num pedido separado, e cria a assinatura do adicional ligada à do plano (`billedWithId`), com as datas do plano: a partir da próxima cobrança ele vem no mesmo pedido que o plano. Com o piso (`floorApplied`), nada é cobrado e o adicional já nasce ligado (`charged = false`). Pagamento: `paymentMethod` (obrigatório quando há valor a cobrar, senão 400 com `param = paymentMethod`) entre os aceitos pela opção do plano; `installments` até o `maxInstallments` da cotação, só no cartão; cartão salvo por `paymentMethodId` (do próprio membro, senão 404) ou cartão novo por `cardToken`; PIX e boleto devolvem `pixCode`/`qrCode` ou `boletoUrl`/`boletoBarcode`, e o adicional nasce quando o pagamento é confirmado. Cartão salvo aprovado na hora já devolve `subscriptionId` e `status = COMPLETED`; senão `status = PROCESSING`. Recusa do provedor responde 402, provedor fora do ar 502, como no checkout. Responde 201. Como no checkout, 403 (`param = id`) quando a comunidade não tem informações comerciais `APPROVED`, antes de cotar ou cobrar. Vale também para aceitar uma oferta de downsell, que compra o adicional por este mesmo caminho.

Parámetros

NombreDóndeTipoDescripción
idobligatoriopathstring (uuid)

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
productIdobligatoriostring (uuid)O adicional
paymentMethodopcionalCREDIT_CARD | DEBIT_CARD | PIX | BOLETO
installmentsopcionalinteger≥ 1, ≤ 12
cardTokenopcionalstringCartão novo, tokenizado no app
paymentMethodIdopcionalstring (uuid)Cartão salvo do membro (/payment-methods)
customerDataopcionalobjectNome, e-mail, documento e telefone do pagador, como no checkout

Respuestas

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

Ejemplo con curl

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