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
/api/v1/vendor/termsSellerDevolve os termos ativos
Cabeçalhos
AuthorizationstringobrigatórioBearer $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
iduuidId da versão. Use em
terms_id ao aceitar.titlestringTítulo.
contentstringTexto completo, em HTML.
versionintegerNúmero da versão, crescente.
is_activebooleanSempre
true aqui.created_atstringPublicação (RFC 3339, UTC).
Conferir o aceite
/api/v1/vendor/terms/statusSellerSe o seller aceitou os termos ativos
Cabeçalhos
AuthorizationstringobrigatórioBearer $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_acceptedbooleantrue se aceitou a versão ativa. Também true quando não há termos ativos.terms_iduuidVersão ativa. Ausente se não há termos ativos.
terms_titlestringTítulo da versão ativa.
versionintegerNúmero da versão ativa.
accepted_atstringQuando aceitou. Só quando
has_accepted é true e há versão ativa.Aceitar os termos
/api/v1/vendor/terms/{termsId}/acceptSellerRegistra 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órioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
termsIdstringobrigatórioIgnorado pelo servidor. Repita o mesmo id do corpo para ficar coerente.
Corpo da requisição
terms_iduuidobrigatórioId 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
iduuidId do registro de aceite.
vendor_iduuidSeller que aceitou.
terms_iduuidVersão aceita.
accepted_atstringHora do aceite.
ip_addressstringIP de origem registrado.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 404 | O usuário não está vinculado a um seller. | {"error":"VENDOR_NOT_FOUND","detail":"vendor profile not found"} |
| 400 | JSON inválido. | {"error":"INVALID_INPUT","detail":"invalid JSON body"} |
| 400 | terms_id ausente, versão inexistente, ou versão que não é a ativa. | {"error":"TERMS_ACCEPT_FAILED","detail":"terms_id is required"} |