Vídeos do produto
Lista, adiciona, reordena e remove os vídeos (até 3) da página de um produto do seller.
Vídeos aparecem na página do produto junto das imagens. Pelo painel do seller só se cadastram vídeos por link (YouTube e Vimeo) ou o registro de um arquivo já hospedado; o envio de arquivo de vídeo em si é feito por outro caminho da plataforma.
Listar vídeos
/api/v1/vendor/products/{id}/videosSellerListar os vídeos
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do produto.
Exemplo de requisição (listar)
bash
curl "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/videos" \
-H "Authorization: Bearer $TOKEN"Resposta (listar)
200Vídeos
json
{
"videos": [
{
"id": "5f6a1c8e-2b4d-4a11-9c0a-7d3e2b1a9f10",
"product_id": "7bc1d5e9-a9a4-457b-866f-bbb3879d258d",
"video_type": "youtube",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"thumbnail_url": "https://img.youtube.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"title": "Como usar",
"position": 0
}
]
}Campos da resposta
videosarrayVídeos em ordem de posição. Lista vazia se não houver.
idstring (uuid)Id do vídeo.
product_idstring (uuid)Produto dono.
video_typestringuploadyoutubevimeolive_clipTipo:
upload, youtube, vimeo ou live_clip.urlstringURL canônica do vídeo.
thumbnail_urlstringMiniatura.
titlestringTítulo.
positionintegerOrdem na galeria.
live_session_idstringSessão de transmissão (só
live_clip).clip_start_sintegerInício do trecho em segundos (só
live_clip).clip_end_sintegerFim do trecho em segundos (só
live_clip).size_bytesintegerTamanho do arquivo (só
upload).Erros (listar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 403 | O produto existe mas é de outro seller (ou da loja). | {"error":"you do not have access to this product"} |
| 404 | Produto não existe. | {"error":"product not found"} |
Adicionar vídeo
Adiciona um vídeo à galeria do produto. Cada produto aceita no máximo 3 vídeos. Para YouTube e Vimeo, mande a URL do vídeo: a plataforma extrai o id, grava a URL canônica e, no YouTube, a miniatura.
/api/v1/vendor/products/{id}/videosSellerAdicionar um vídeo
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do produto.
Corpo da requisição
video_typestringobrigatórioyoutubevimeouploadlive_clipTipo do vídeo.
urlstringobrigatórioURL do vídeo. Em
youtube/vimeo só links desses sites são aceitos.thumbnail_urlstringMiniatura. Obrigatória em
vimeo, upload e live_clip; no YouTube nasce sozinha.titlestringTítulo.
live_session_idstringSó
live_clip: sessão de transmissão de origem.clip_start_sintegerSó
live_clip: início em segundos. Obrigatório nesse tipo.clip_end_sintegerSó
live_clip: fim em segundos, maior que o início. Obrigatório nesse tipo.size_bytesintegerSó
upload: tamanho do arquivo.Exemplo de requisição (adicionar)
bash
curl -X POST "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/videos" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"video_type": "youtube",
"url": "https://youtu.be/dQw4w9WgXcQ",
"title": "Como usar"
}'Resposta (adicionar)
201Vídeo criado
json
{
"id": "5f6a1c8e-2b4d-4a11-9c0a-7d3e2b1a9f10",
"product_id": "7bc1d5e9-a9a4-457b-866f-bbb3879d258d",
"video_type": "youtube",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"thumbnail_url": "https://img.youtube.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"title": "Como usar",
"position": 0
}Campos da resposta
idstring (uuid)Id do vídeo.
product_idstring (uuid)Produto dono.
video_typestringuploadyoutubevimeolive_clipTipo:
upload, youtube, vimeo ou live_clip.urlstringURL canônica do vídeo.
thumbnail_urlstringMiniatura.
titlestringTítulo.
positionintegerOrdem na galeria.
live_session_idstringSessão de transmissão (só
live_clip).clip_start_sintegerInício do trecho em segundos (só
live_clip).clip_end_sintegerFim do trecho em segundos (só
live_clip).size_bytesintegerTamanho do arquivo (só
upload).Erros (adicionar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 422 | Limite de 3 vídeos, URL inválida, video_type inválido, miniatura ou URL ausentes, ou trecho de live_clip inválido. | {"error":"max 3 videos per product"} |
| 403 | O produto existe mas é de outro seller (ou da loja). | {"error":"you do not have access to this product"} |
| 404 | Produto não existe. | {"error":"product not found"} |
Reordenar vídeos
/api/v1/vendor/products/{id}/videos/reorderSellerReordenar os vídeos
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do produto.
Corpo da requisição
video_idsarray of stringobrigatórioIds dos vídeos na ordem desejada.
Exemplo de requisição (reordenar)
bash
curl -X POST "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/videos/reorder" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"video_ids": [
"5f6a1c8e-2b4d-4a11-9c0a-7d3e2b1a9f10"
]
}'Resposta (reordenar)
200Reordenado
json
{
"message": "reordered"
}Campos da resposta
messagestringConfirmação fixa.
Erros (reordenar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 403 | O produto existe mas é de outro seller (ou da loja). | {"error":"you do not have access to this product"} |
| 404 | Produto não existe. | {"error":"product not found"} |
Remover vídeo
/api/v1/vendor/products/{id}/videos/{videoId}SellerRemover um vídeo
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do produto.
videoIdstring (uuid)obrigatórioId do vídeo.
Exemplo de requisição (remover)
bash
curl -X DELETE "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/videos/$VIDEO_ID" \
-H "Authorization: Bearer $TOKEN"Resposta (remover)
200Removido
json
{
"message": "deleted"
}Campos da resposta
messagestringConfirmação fixa.
Erros (remover)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 403 | O produto existe mas é de outro seller (ou da loja). | {"error":"you do not have access to this product"} |
| 403 | O vídeo é de outro produto. | {"error":"video does not belong to this product"} |
| 404 | Produto ou vídeo não existe. | {"error":"video not found"} |