VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Operação da loja

Termos do marketplace

Lê os termos ativos, confere se o seller já aceitou e registra o aceite.

O administrador da loja publica os termos para sellers (comissão, regras de envio, conduta). Cada publicação cria uma versão nova e desativa a anterior. O seller precisa aceitar a versão ativa, e o aceite fica registrado com data e endereço IP, como prova.

Ler os termos ativos

GET/api/v1/vendor/termsSeller

Devolve os termos ativos

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/vendor/terms" \
  -H "Authorization: Bearer $TOKEN"
200Termos ativos
json
{
  "id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
  "title": "Termos do Marketplace",
  "content": "<h1>Termos</h1><p>Texto completo...</p>",
  "version": 3,
  "is_active": true,
  "created_at": "2026-09-01T10:00:00Z"
}
200Sem termos ativos
json
{
  "terms": null,
  "message": "no active terms"
}

Campos da resposta

iduuid
Id da versão. Use em terms_id ao aceitar.
titlestring
Título.
contentstring
Texto completo, em HTML.
versioninteger
Número da versão, crescente.
is_activeboolean
Sempre true aqui.
created_atstring
Publicação (RFC 3339, UTC).

Conferir o aceite

GET/api/v1/vendor/terms/statusSeller

Se o seller aceitou os termos ativos

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/vendor/terms/status" \
  -H "Authorization: Bearer $TOKEN"
200Ainda não aceitou
json
{
  "has_accepted": false,
  "terms_id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
  "terms_title": "Termos do Marketplace",
  "version": 3
}
200Já aceitou
json
{
  "has_accepted": true,
  "terms_id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
  "terms_title": "Termos do Marketplace",
  "version": 3,
  "accepted_at": "2026-10-11T12:30:00Z"
}

Campos da resposta

has_acceptedboolean
true se aceitou a versão ativa. Também true quando não há termos ativos.
terms_iduuid
Versão ativa. Ausente se não há termos ativos.
terms_titlestring
Título da versão ativa.
versioninteger
Número da versão ativa.
accepted_atstring
Quando aceitou. Só quando has_accepted é true e há versão ativa.

Aceitar os termos

POST/api/v1/vendor/terms/{termsId}/acceptSeller

Registra o aceite de uma versão dos termos

Grava o aceite da versão informada, com a hora e o IP de origem. Repetir o aceite da mesma versão apenas atualiza a data. O id da versão precisa estar no corpo (terms_id); o segmento {termsId} do caminho é exigido pela URL, mas seu valor não é lido.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Parâmetros de caminho

termsIdstringobrigatório
Ignorado pelo servidor. Repita o mesmo id do corpo para ficar coerente.

Corpo da requisição

terms_iduuidobrigatório
Id da versão ativa a aceitar (id de GET /terms).

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/vendor/terms/c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f/accept" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "terms_id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f"
}'
200Aceite registrado
json
{
  "id": "6f5e4d3c-2b1a-4c9d-8e7f-0a1b2c3d4e5f",
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "terms_id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
  "accepted_at": "2026-10-11T12:30:00Z",
  "ip_address": "203.0.113.10"
}

Campos da resposta

iduuid
Id do registro de aceite.
vendor_iduuid
Seller que aceitou.
terms_iduuid
Versão aceita.
accepted_atstring
Hora do aceite.
ip_addressstring
IP de origem registrado.

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
404O usuário não está vinculado a um seller.{"error":"VENDOR_NOT_FOUND","detail":"vendor profile not found"}
400JSON inválido.{"error":"INVALID_INPUT","detail":"invalid JSON body"}
400terms_id ausente, versão inexistente, ou versão que não é a ativa.{"error":"TERMS_ACCEPT_FAILED","detail":"terms_id is required"}
Id no corpo, não no caminho

Chamar POST /terms/<id>/accept com corpo vazio responde 400 terms_id is required, mesmo com o id certo na URL. Envie sempre {"terms_id": "<id>"}.

Veja também

  • Visão geral
  • Modo férias
Anterior
Modo férias
Próxima
Calendário de publicação
Nesta página
  • Ler os termos ativos
  • Exemplo de requisição
  • Conferir o aceite
  • Exemplo de requisição
  • Aceitar os termos
  • Exemplo de requisição
  • Erros
  • Veja também