Blog do seller
Lista, consulta, cria, altera e apaga os posts de blog do seller, com agendamento de publicação.
Posts são artigos do blog do microsite. Servem a conteúdo e a SEO (título e descrição para buscadores são preenchidos sozinhos quando faltam). Diferente de banner e página, o status do post é sempre uma letra na resposta.
Listar posts
/api/v1/vendor/blogSellerLista os posts do seller
Todos os posts, em qualquer status, do mais recente para o mais antigo (por published_at, ou criação). Sem paginação.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Exemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/blog" \
-H "Authorization: Bearer $TOKEN"{
"posts": [
{
"id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
"title": "Como escolher o chinelo ideal",
"slug": "como-escolher-o-chinelo-ideal",
"excerpt": "Cinco dicas rápidas.",
"body": "<p>Veja o conforto, o solado e o ajuste.</p>",
"featured_image": "https://cdn.exemplo.com.br/blog/chinelo.jpg",
"status": "A",
"tags": [
"dicas",
"verão"
],
"meta_title": "Como escolher o chinelo ideal",
"meta_description": "Cinco dicas rápidas.",
"published_at": "2026-10-11T12:00:00Z",
"view_count": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T12:00:00Z",
"updated_at": "2026-10-11T12:00:00Z"
}
],
"total": 1
}Campos da resposta
postsarrayPosts do seller.
iduuidtitlestringslugstringexcerptstringbodystringfeatured_imagestringauthor_iduuidcategory_iduuidcategory_namestringstatusstringARDA publicado, R rascunho, D arquivado.tagsarraymeta_titlestringmeta_descriptionstringpublished_atstringview_countintegervendor_iduuidcreated_atstringupdated_atstringpost_id, page_id, page_title, seo_name, description, short_description, company_id, timestamp, updated_timestamp, published_timestampvarioustotalintegerConsultar post
/api/v1/vendor/blog/{id}SellerDevolve um post
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/blog/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60" \
-H "Authorization: Bearer $TOKEN"{
"id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
"title": "Como escolher o chinelo ideal",
"slug": "como-escolher-o-chinelo-ideal",
"excerpt": "Cinco dicas rápidas.",
"body": "<p>Veja o conforto, o solado e o ajuste.</p>",
"featured_image": "https://cdn.exemplo.com.br/blog/chinelo.jpg",
"status": "A",
"tags": [
"dicas",
"verão"
],
"meta_title": "Como escolher o chinelo ideal",
"meta_description": "Cinco dicas rápidas.",
"published_at": "2026-10-11T12:00:00Z",
"view_count": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T12:00:00Z",
"updated_at": "2026-10-11T12:00:00Z"
}Campos da resposta
...objectCriar post
/api/v1/vendor/blogSellerCria um post
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Corpo da requisição
titlestringobrigatórioslugstringobrigatório-2).excerptstringbodystringfeatured_imagestringauthor_iduuidcategory_iduuidstatusstringpadrão: publishedpublished ou active (letra A), draft (R), archived (D). Ausente ou vazio vira publicado.tagsarraymeta_titlestringtitle.meta_descriptionstringpublished_atstringdescriptionsobjectExemplo de requisição
curl -X POST "$BASE_URL/api/v1/vendor/blog" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Como escolher o chinelo ideal",
"slug": "como-escolher-o-chinelo-ideal",
"excerpt": "Cinco dicas rápidas.",
"body": "<p>Veja o conforto, o solado e o ajuste.</p>",
"tags": [
"dicas",
"verão"
],
"status": "published",
"published_at": "2026-10-11T12:00:00Z"
}'{
"id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
"title": "Como escolher o chinelo ideal",
"slug": "como-escolher-o-chinelo-ideal",
"excerpt": "Cinco dicas rápidas.",
"body": "<p>Veja o conforto, o solado e o ajuste.</p>",
"featured_image": "https://cdn.exemplo.com.br/blog/chinelo.jpg",
"status": "A",
"tags": [
"dicas",
"verão"
],
"meta_title": "Como escolher o chinelo ideal",
"meta_description": "Cinco dicas rápidas.",
"published_at": "2026-10-11T12:00:00Z",
"view_count": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T12:00:00Z",
"updated_at": "2026-10-11T12:00:00Z"
}Alterar post
/api/v1/vendor/blog/{id}SellerAltera um post
Parcial. Ao passar o status para publicado sem enviar published_at, a data de publicação é preenchida com o momento atual (se ainda não existia). Um slug já usado é recusado.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
...objectExemplo de requisição
curl -X PUT "$BASE_URL/api/v1/vendor/blog/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "draft"
}'{
"id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
"title": "Como escolher o chinelo ideal",
"slug": "como-escolher-o-chinelo-ideal",
"excerpt": "Cinco dicas rápidas.",
"body": "<p>Veja o conforto, o solado e o ajuste.</p>",
"featured_image": "https://cdn.exemplo.com.br/blog/chinelo.jpg",
"status": "R",
"tags": [
"dicas",
"verão"
],
"meta_title": "Como escolher o chinelo ideal",
"meta_description": "Cinco dicas rápidas.",
"published_at": "2026-10-11T12:00:00Z",
"view_count": 0,
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"created_at": "2026-10-11T12:00:00Z",
"updated_at": "2026-10-11T12:00:00Z"
}Apagar post
/api/v1/vendor/blog/{id}SellerApaga um post
Remoção definitiva. Para só tirar do ar, passe o status para draft ou archived.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X DELETE "$BASE_URL/api/v1/vendor/blog/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60" \
-H "Authorization: Bearer $TOKEN"{
"message": "blog post deleted"
}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"} |
| 403 | O usuário do seller (equipe) não tem nenhum dos privilégios exigidos. O dono da loja nunca recebe este erro. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","vendor_manage_delivery_areas","vendor_manage_whatsapp","vendor_manage_documents","vendor_manage_kyc","vendor_view_plan","vendor_manage_application","vendor_manage_vacation"]} |
| 403 | O usuário autenticado não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
| 400 | JSON inválido, referência (author_id, category_id) que não existe, ou slug repetido na alteração. | {"error":"blog post slug \"x\" already in use"} |
| 404 | O post não existe ou é de outro seller. | {"error":"blog post not found"} |