Exportar usuários, pedidos e conteúdo
Baixa usuários, pedidos, páginas de conteúdo e promoções em CSV, XLSX ou XLS, com filtros por data, status e ids.
Estas quatro rotas exportam o que não é catálogo: a base de clientes, os pedidos para o financeiro ou o BI, as páginas institucionais e as promoções. Como todas as exportações da seção, devolvem um arquivo e aceitam format (csv, xlsx, xls) e count=1 (só a contagem). Veja a home da seção para o formato do CSV e os privilégios.
/api/v1/admin/export/usersAdminExporta usuários
Privilégio manage_users. Exporta usuários não excluídos, de todos os tipos. Colunas: id, email, first_name, last_name, user_type, status, person_type, cpf, cnpj, legal_name, trade_name, state_reg, responsible_name, created_at. CPF e CNPJ saem sem máscara. O separador é a vírgula.
Parâmetros de consulta
user_typestringcustomervendoradminroot_admincustomer é o cliente da loja; vendor é o administrador de um seller.person_typestringFJF) ou jurídica (J). Vale o tipo efetivo: o declarado ou, se não houver, o derivado do CNPJ.date_fromstringYYYY-MM-DD.date_tostringYYYY-MM-DD.idsstringformatstringpadrão: csvcsvxlsxxlscountstring1trueyesonly/api/v1/admin/export/ordersAdminExporta pedidos
Privilégio manage_orders. O arquivo segue um layout de planilha de pedidos (colunas como Status, Order ID, First name, E-mail, Vendor, Total, Date, Shipping: address...), com ; como separador e valores em decimal com ponto (2579.80). As datas saem como dd/mm/aaaa hh:mm.
O parâmetro status aceita a letra ou o código de status desta loja. Uma situação que a loja não conhece volta 400 unknown_order_status e a mensagem lista as situações válidas, no formato letra (nome).
Parâmetros de consulta
statusstringvendor_iduuiddate_fromstringYYYY-MM-DD.date_tostringYYYY-MM-DD.idsstringids, sub-pedidos também saem, mesmo que sem filtro eles fossem omitidos.formatstringpadrão: csvcsvxlsxxlscountstring1trueyesonly/api/v1/admin/export/pagesAdminExporta páginas de conteúdo
Privilégio manage_content. Colunas: id, title, slug, page_type, status, body, seo_title, seo_description, position. O corpo (body) sai em HTML.
Parâmetros de consulta
statusstringAHDidsstringformatstringpadrão: csvcsvxlsxxlscountstring1trueyesonly/api/v1/admin/export/promotionsAdminExporta promoções
Privilégio manage_content. Colunas: id, name, code, type, discount_raw, discount_unit, min_order_cents, max_discount_cents, usage_limit, usage_count, status, priority, valid_from, valid_until, description. Aqui os valores de dinheiro estão em centavos, e discount_unit diz como ler discount_raw: basis_points quer dizer centésimos de por cento (2400 = 24%).
Parâmetros de consulta
statusstringADA (ativa), D (inativa) e E. Uma letra solta que a coluna não tem passa pelo filtro e devolve um arquivo só com o cabeçalho.idsstringformatstringpadrão: csvcsvxlsxxlscountstring1trueyesonlyExemplo de requisição
# pedidos entregues em setembro, em XLSX
curl "$BASE_URL/api/v1/admin/export/orders?status=C&date_from=2026-09-01&date_to=2026-09-30&format=xlsx" \
-H "Authorization: Bearer $TOKEN" -o pedidos-setembro.xlsx
# só quantos clientes pessoa jurídica existem
curl "$BASE_URL/api/v1/admin/export/users?person_type=J&count=1" \
-H "Authorization: Bearer $TOKEN"Resposta
{ "count": 402 }id,email,first_name,last_name,user_type,status,person_type,cpf,cnpj,legal_name,trade_name,state_reg,responsible_name,created_at
df09667c-85ff-4916-9413-a599eacb1930,maria.souza@example.com,Maria,Souza,customer,A,F,12345678909,,,,,,2021-07-01 14:19:49Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | date_from maior que date_to | {"error":"invalid_date_range","detail":"date_from must be on or before date_to"} |
| 400 | Pedidos: status que a loja não tem | {"error":"unknown_order_status","detail":"situação de pedido desconhecida: \"xyz\". Situações desta loja: A (Pagamento Confirmado), O (Pendente), ..."} |
| 400 | Páginas e promoções: palavra de status desconhecida | {"error":"unknown_record_status","detail":"situação desconhecida: ..."} |
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Falta o privilégio do grupo | {"error":"insufficient privileges","required":"manage_orders"} |
| 500 | Falha ao montar o arquivo | {"error":"export orders failed","detail":"..."} |
As mensagens de unknown_order_status e unknown_record_status vêm em português do servidor.