Skip to content

Atualiza products

PUT/api/products/{id}

Auth
Requires a token
Who can call it:
owner
admin
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

Owner ou admin. Aceita `directLinkEnabled` (boolean opcional) para ligar ou desligar a compra por link direto de um produto avulso; omitido, mantém o valor atual. `prerequisiteGroupIds` (array de UUID opcional) substitui os planos que o adicional exige; `[]` limpa, omitido mantém. Mesmas validações da criação: grupo de outra comunidade ou grupo em que o produto está dá 400. A resposta traz `prerequisiteGroupIds`. **Obsoleto na escrita (F-37):** prefira `addOnProductIds` no plano; este campo continua aceito e gravando. `commitmentMonths` (1 a 36, ou `null` para tirar o contrato) muda a duração do contrato (F-35); omitido, mantém. É conferido contra o produto depois da atualização: só `SUBSCRIPTION` `MONTHLY` (senão 400, `param = commitmentMonths`). Vale para assinaturas novas e para a renovação do contrato das existentes; uma assinatura feita sem contrato continua sem. `installmentInterestPayer` (`BUYER` ou `ORGANIZATION`; F-43): quem paga os juros de parcelamento no cartão. Ausente não muda. **`status: ACTIVE` é publicar** e segue as regras de `POST .../publish`: sem informações comerciais `APPROVED`, 403 com a mensagem traduzida que aponta onde preenchê-las; com a moeda do produto diferente da do país aprovado, 400 (`param = currency`). As mesmas regras valem ao trocar `currency` de um produto já `ACTIVE`. Editar qualquer outro campo, de rascunho ou de produto no ar, não exige aprovação.

Parameters

NameInTypeDescription
idrequiredpathstring

Headers

NameTypeDescription
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

NameTypeDescription
titleoptionalstring
descriptionoptionalstringHTML.
shortDescriptionoptionalstring
internalNameoptionalstringNome visto só pela equipe.
bannerUrloptionalstring (uri)
featuredImageUrloptionalstring (uri)
slugoptionalstring
typeoptionalSUBSCRIPTION | ONE_TIME | INSTALLMENT
priceoptionalnumber≥ 0.01
billingIntervaloptionalHOURLY | DAILY | WEEKLY | MONTHLY | YEARLYSó para `SUBSCRIPTION`.
trialDaysoptionalinteger≥ 0, ≤ 365
requiresCardForTrialoptionalboolean
allowCancellationoptionalboolean
commitmentMonthsoptionalintegerFidelidade (F-35). Só `SUBSCRIPTION` `MONTHLY`. · ≥ 1, ≤ 36
installmentsoptionalintegerPara `INSTALLMENT`. · ≥ 2, ≤ 24
installmentPriceoptionalnumber≥ 0.01
allowedPaymentMethodsoptionalstring[]Métodos aceitos no checkout, como `CREDIT_CARD`, `PIX` e `BOLETO`.
maxInstallmentsoptionalinteger≥ 1, ≤ 12
installmentInterestPayeroptionalBUYER | ORGANIZATION
feePayeroptionalORGANIZATION | BUYER
accessDurationoptionalintegerDias de acesso; ausente = vitalício. · ≥ 1
hasStockoptionalboolean
stockQuantityoptionalinteger≥ 0
isHighlightedoptionalboolean
directLinkEnabledoptionalboolean
sortOrderoptionalinteger≥ 0
spaceIdsoptionalstring (uuid)[]
subscriptionGroupIdsoptionalstring (uuid)[]
prerequisiteGroupIdsoptionalstring (uuid)[]Obsoleto na escrita (F-37); prefira `addOnProductIds` no plano.
thankYouMessageoptionalstringmax 5000
redirectUrloptionalstring (uri)
metadataoptionalobject

Responses

StatusDescription
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.
500Erro interno do servidor.

curl example

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