Exportação avançada
Exporta produtos escolhendo as colunas, os filtros e o formato do CSV, e lista os campos disponíveis para importar e exportar.
A exportação simples (Exportar catálogo) devolve sempre as mesmas colunas. A exportação avançada deixa você escolher quais campos sai (custo, SEO, peso, imagens...), como o arquivo é formatado (separador, vírgula ou ponto decimal, formato de data) e filtrar por seller, categoria, status e período. A lista de campos que você pode escolher vem de uma rota própria, e é a mesma lista que o assistente de importação usa para o mapeamento.
As duas rotas desta página exigem o privilégio manage_settings.
/api/v1/admin/advanced-export/fields/{entity}AdminLista os campos importáveis e exportáveis
Devolve os campos de um tipo de registro, agrupados. Use para montar a lista fields da exportação e o field_mapping da importação.
Parâmetros de caminho
entitystringobrigatórioproductscategoriesusersordersvendorsfeaturesbrandsqty_discountsentity, mas traz os campos de produto./api/v1/admin/advanced-export/executeAdminExporta produtos com campos e formato escolhidos
Gera e devolve o CSV na hora (anexo produtos_export.csv). Exporta sempre produtos, qualquer que seja o tipo pedido.
Corpo da requisição (JSON)
fieldsarray["sku","name","price"]). Vazio exporta todos os campos, menos os de data de criação e alteração. Chaves desconhecidas são ignoradas; se nenhuma for válida, o pedido falha.filtersobjectFiltros.
statusstringAHDvendor_iduuidcategory_iduuiddate_fromstringYYYY-MM-DD (à meia-noite).date_tostringYYYY-MM-DD. Vale a meia-noite do início do dia: produtos criados durante esse dia não entram. Para incluir o dia inteiro, use o dia seguinte.product_idsarrayformatobjectFormato do CSV.
delimiterstring; ou ,. Sem o objeto format (ou com delimiter vazio), vale o padrão brasileiro inteiro: ;, vírgula decimal, data dd/mm/yyyy e BOM.decimal_sepstringformat, vale ,. Com o objeto e sem este campo, vale ..date_formatstringdd/mm/yyyyyyyy-mm-ddformat, vale dd/mm/yyyy. Com o objeto e sem este campo, vale yyyy-mm-dd.include_bombooleanformat, vale true. Com o objeto, vale false se você não mandar.currency_prefixstringR$ ). Vazio por padrão.Exemplo de requisição
# campos disponíveis para produtos
curl "$BASE_URL/api/v1/admin/advanced-export/fields/products" \
-H "Authorization: Bearer $TOKEN"
# exportar SKU, nome, preço e estoque de um seller, em CSV internacional
curl -X POST "$BASE_URL/api/v1/admin/advanced-export/execute" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"fields": ["sku", "name", "price", "quantity"],
"filters": {"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"},
"format": {"delimiter": ",", "decimal_sep": ".", "date_format": "yyyy-mm-dd", "include_bom": false}
}' -o produtos.csvResposta
sku;name;price;quantity
SD-001392;Garrafa Vintage Rosa 01392;89,90;1
SD-002076;Teclado Max Verde 02076;999,90;2{
"entity": "products",
"groups": [
{
"key": "basic",
"label": "Basic Information",
"label_pt": "Informacoes Basicas",
"fields": [
{ "key": "sku", "label": "SKU / Product Code", "label_pt": "Codigo do Produto", "group": "basic", "required": false, "db_column": "sku", "field_type": "string" },
{ "key": "vendor_id", "label": "Vendor ID", "label_pt": "ID do Fornecedor", "group": "basic", "required": true, "db_column": "vendor_id", "field_type": "string" }
]
}
],
"fields": [
{ "key": "price", "label": "Price", "label_pt": "Preco", "group": "pricing", "required": true, "db_column": "price", "field_type": "money" }
],
"entity_types": ["products", "categories", "users", "orders", "vendors", "features", "brands", "qty_discounts"]
}Campos da resposta (lista de campos)
entitystringgroupsarraybasic, pricing, inventory, shipping, content, seo, relationships, images, features, variations, timestamps.fieldsarrayentity_typesarray{entity}.Campos de cada item de fields
keystringfields na exportação e no lado direito do field_mapping na importação.labelstringlabel_ptstringgroupstringrequiredbooleanprice e vendor_id). Não afeta a exportação.db_columnstringfield_typestringstringintfloatmoneybooldatedefault_valuestringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo que não é JSON | {"error":"invalid request body","detail":"..."} |
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Falta manage_settings | {"error":"insufficient privileges","required":"manage_settings"} |
| 200 (com erro no corpo) | Nenhum campo válido em fields | {"error":"export products failed","detail":"no valid fields selected for export"} |