Saltar al contenido

Registra o checkout aberto (carrinho)

POST/api/checkout/carts

Auth
Requiere token
Clave de API:
No acepta clave de API
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.

O app chama quando o painel de compra abre com um produto pago. Registra o carrinho do membro logado (da sessão) para o produto, ou atualiza o que ele já tem: **um carrinho por membro e produto**, e as opções de um mesmo plano dividem o mesmo carrinho (trocar de opção atualiza o produto, o valor e a data). O carrinho vira **abandonado** depois de 60 minutos sem compra paga (PIX ou boleto ainda no prazo seguram; vencido, abandona na hora) e **recuperado** se a pessoa pagar em até 7 dias depois disso; aparece para a equipe em `GET /api/abandoned-carts`.

Não gera carrinho, e responde `tracked: false` com `reason`: compra para empresa (`companyId` no corpo, `reason = company`), produto grátis (`free`) e produto que a pessoa já tem (`owned`: assinatura viva do plano, ou compra vitalícia ativa). Produto que não existe nesta comunidade: 404 (`param = productId`). Qualquer membro logado da comunidade do `X-CommunityId`. Mais de 30 chamadas por minuto do mesmo IP: 429.

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 produto que o checkout cobra (num plano, a opção escolhida).
companyIdopcionalstring (uuid)Compra para a empresa. Presente, nada é registrado.

Respuestas

CódigoDescripción
200Registrado, ou ignorado com o motivo.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`).
404Recurso não encontrado.
429Chamadas demais do mesmo IP em pouco tempo.
500Erro interno do servidor.

Ejemplo con curl

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