Skip to main content

Documentation Index

Fetch the complete documentation index at: https://scaleup-c34c4386.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Use este endpoint quando o marketplace (pai) precisa manter o catálogo da filha — renomear ofertas, arquivar produtos, ajustar preços ou metadados — sem depender do OAT da sub-organização. O fluxo é adequado para back-offices centralizados, políticas de compliance (arquivar itens), ou automações que espelham dados de um sistema externo. O corpo da requisição é o mesmo conceito do PATCH /v1/products/:productId: apenas os campos enviados são aplicados. No backend, a rota delega para o mesmo fluxo de atualização de produtos usado pela API geral (productsService.update). Em caso de dúvidas sobre estrutura de prices ou campos customizados, consulte também Atualizar produto.

O que não faz este endpoint

  • Não altera taxas de split ou destinatário de comissão: split pai/filha é configurado uma única vez na relação entre organizações (ver link-as-parent) e não é mais override por produto.
  • Não substitui o checkout ou assinaturas existentes: alterações de preço seguem as regras já aplicadas pelo serviço de produtos (incluindo planos de recorrência no gateway quando aplicável).

Webhooks

Após uma atualização bem-sucedida, o sistema dispara os eventos já previstos para produtos da filha, incluindo suborganization.product_updated para as organizações pais cadastradas em webhooks — útil para o marketplace reagir a mudanças de catálogo em tempo quase real.

Autenticação

Requer Organization Access Token (OAT) da organização pai via Authorization: Bearer.

Parâmetros de Path

orgId
string
required
Identificador da sub-organização dona do produto. Deve coincidir com organization_id do produto; caso contrário a API responde 404 (sem expor existência do produto em outra org).
productId
string
required
UUID do produto a atualizar.

Corpo da requisição (JSON)

Todos os campos são opcionais; envie apenas o que deseja alterar.
name
string
Novo nome do produto.
description
string
Nova descrição (pode ser null conforme suporte da API principal).
is_archived
boolean
Arquivar (true) ou restaurar visibilidade (false) do produto.
recurring_interval
string
Intervalo de assinatura: month, year, week, day, ou null para produto não recorrente, alinhado ao tipo ProductUpdate do backend.
default_price_id
string
Aponta o default pra outro preço existente do mesmo produto. Para manipular preços (criar/atualizar/arquivar), use os endpoints dedicados POST /v1/prices e PATCH /v1/prices/:id.
metadata
object
Metadados livres (chave/valor) associados ao produto.

Resposta

Retorna 200 OK com o objeto completo do produto após a atualização (mesmo formato que PATCH /v1/products/:id).

Erros comuns

HTTPSituação
403Token não é OAT do pai, ou o pai não tem relação com orgId.
404Produto inexistente ou produto não pertence à orgId informada.
400Validação (preços inválidos, campos obrigatórios de subsistema, etc.).

Exemplo

curl -X PATCH "https://api.chargefy.io/api/v1/sdk/organizations/org_01j9abc333/products/prod_01j9xyz999" \
  -H "Authorization: Bearer $CHARGEFY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Plano Mensal Plus",
    "description": "Inclui suporte prioritário",
    "is_archived": false
  }'

Resposta de exemplo

{
  "id": "prod_01j9xyz999",
  "name": "Plano Mensal Plus",
  "description": "Inclui suporte prioritário",
  "is_archived": false,
  "organization_id": "org_01j9abc333",
  "recurring_interval": "month",
  "prices": [],
  "metadata": {},
  "modified_at": "2026-03-24T15:00:00Z"
}