Zum Inhalt springen

Cria ou executa products

POST/api/products

Auth
Token erforderlich
Wer darf:
owner
admin
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.

Owner ou admin. Aceita, entre os demais campos, `directLinkEnabled` (boolean opcional, padrão `false`): com ele ligado, um produto avulso (`ONE_TIME` ou `INSTALLMENT`) pode ser comprado por link direto e aparece em `GET /checkout/products`. Desligado, só é comprável por quem enxerga um space Loja (`storefront`) que o mostra. Assinaturas ignoram a flag. `prerequisiteGroupIds` (array de UUID opcional) torna o produto um adicional: ele só aparece nas listagens públicas e só é vendido a quem tem assinatura ACTIVE ou TRIALING num desses grupos, e a assinatura do adicional acompanha a do plano. Os grupos precisam ser da comunidade (senão 400, `param = prerequisiteGroupIds`) e não podem incluir um grupo em `subscriptionGroupIds` (400). A resposta traz `prerequisiteGroupIds`. **Obsoleto na escrita (F-37):** a lista agora é escrita pelo plano (`addOnProductIds` em `POST`/`PUT /subscription-groups`), sobre a mesma relação. Este campo continua aceito e gravando, e continua nas respostas. `commitmentMonths` (inteiro de 1 a 36, ou `null`) é a duração do contrato (fidelidade, F-35): só vale para `SUBSCRIPTION` com `billingInterval` `MONTHLY` (senão 400, `param = commitmentMonths`); `null` ou ausente = sem contrato. A resposta traz `commitmentMonths`. `installmentInterestPayer` (`BUYER`, o padrão, ou `ORGANIZATION`; F-43) diz quem paga os juros de parcelamento da Memberfy no cartão: `BUYER` soma ao preço, `ORGANIZATION` cobra o preço e desconta da comunidade. A resposta traz o campo. **Rascunho sem aprovação (2026-10-06):** criar não exige mais informações comerciais aprovadas. O produto nasce sempre `DRAFT`, e a moeda (`currency` na resposta) sai do país das informações comerciais em qualquer status (`PENDING`, `IN_REVIEW`, `REJECTED` ou `APPROVED`); sem informações comerciais, `BRL`. O que exige aprovação é publicar (`POST .../publish` ou `PUT` com `status: ACTIVE`).

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

Die Spezifikation deklariert die Felder dieses Bodys nicht (zum Beispiel ein Multipart-Upload). Siehe die Anleitung zum Thema.

Antworten

StatusBeschreibung
201Operaçã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.
500Erro interno do servidor.

curl-Beispiel

curl -X POST "https://api.memberfy.net/api/products" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '"string"'