Painel do Administrador
Gerencie clientes e credenciais de acesso
| Nome / Razão Social | Email / Login | Documento | Telefone | Plano | Lojas | Valor | Status | Ações |
|---|
Planos
Cadastre planos informando a quantidade de lojas permitidas e o valor a pagar
| Plano | Quantidade de Lojas | Valor Mensal | Status | Ações |
|---|
Integrações globais
Credenciais do aplicativo usadas por todos os sellers do Hub
Visão Geral do Hub B2B
Gerencie seus produtos, lojas, pedidos e integrações
Utilize o menu lateral para navegar entre as opções completas do sistema.
Central de Notificações
Perguntas, mensagens pós-venda e reclamações do Mercado Livre
Selecione uma conversa à esquerda para ver o histórico e responder.
Pedidos manuais
Pedidos cadastrados à mão no Hub (sem integração)
| Origem | Pedido | Cliente | Data | Itens | Valor | Status | Ações |
|---|
Mercado Livre
Pedidos sincronizados da API do Mercado Livre (order + envio + pagamento + faturamento).
| Canal | Tipo | ID | Cliente | Data | Itens | Valor | Status | Faturamento | Ações |
|---|
Canal
Integração em desenvolvimento
Em breve
Esta integração ainda não está disponível. Em breve você poderá sincronizar pedidos deste canal no Hub.
EM BREVEDetalhe da Venda ML
Campos mapeados da API do Mercado Livre
Dados da Venda
Comprador
Itens do Pedido
| # | ID da venda | ID do anúncio | SKU | Título | Qtd | Preço unit. | Taxa ML | Total | Tipo do anúncio | Status |
|---|
Dados de Envio
Custos de Frete
Pagamento
Resumo Financeiro
Faturamento (billing-info)
Cancelamento / Reclamação
Cadastro de Pedido
Dados do Pedido
Status do Pedido
Itens do Pedido
| Produto | SKU | Qtd. | Valor Unit. | Total | Ações |
|---|
Forma de Pagamento
Resumo Financeiro
Produtos
Cadastro interno de produtos do hub
| Produto | SKU | EAN | Categoria | Custo | Venda | Estoque | Status | Ações |
|---|
Cadastro de Produto
Dados do Produto
Agrupa 2 a 6 produtos já publicados em um único anúncio (kits virtuais).
Preço
Status e Visibilidade
Logística e Dimensões
Estoque
Imagens do Produto
Até 5 imagens. A primeira é a principal.
Tabelas de Preço do Produto
Valores por tabela de preço. O Valor Padrão é o preço de venda do cadastro.
| Tabela | Valor de Custo | Valor Padrão | Valor da Tabela |
|---|
Marketplace e loja
Kits virtuais: 100% parametrizados com a API do Mercado Livre. Outros marketplaces em breve.
Parceiros não certificados: cadastre o usuário de teste no formulário da documentação de Kits Virtuais. Sem isso a API retorna “User is not allowed…” — o Hub tenta listar anúncios já publicados nesta loja como alternativa.
Componentes do kit
2 a 6 User Products. O primeiro é o principal (herda domínio). Qty máx. 10 por item. Composição imutável após publicar.
Selecionados (0/6)
Kit já publicado: composição bloqueada pela API.
Dados do anúncio
Com automático, o campo price não é enviado no create.
Estoque e frete são herdados/calculados pelo ML — não editáveis no kit.
Revisão
Mercado Livre
Publique este produto como anúncio no Mercado Livre com o assistente guiado.
Categorias
Cadastro interno de categorias e subcategorias do hub
| Categoria | Sub categoria | Ações |
|---|
Unidades de Medida
Unidades usadas no cadastro de produtos
| Nome | Sigla | Ações |
|---|
Formas de pagamentos
Cadastre as condições financeiras usadas nos pedidos
| ID | Nome | Tipo | Parcelas | Taxa | Status | Ações |
|---|
Tabelas de Preço
Gerencie as tabelas de preço e vincule produtos com valores específicos
| # | Nome da Tabela | Descrição | Status | Ações |
|---|
Produtos da Tabela
Defina o valor específico desta tabela para cada produto
Produtos Vinculados
Altere o valor da tabela para cada produto
| Produto | Cód. SKU | Valor de Custo | Valor Padrão | Valor da Tabela |
|---|
Lojas & Integrações
Gerencie todas as suas plataformas conectadas
Importar anúncios
Mercado Livre
Anúncios da conta
A busca filtra na hora por título, SKU, código MLB e palavras-chave.
| Foto | Título | Categoria | Preço | Estoque | Status | Ações |
|---|
Mensagem rápida
Cadastre respostas prontas para o chat da Central de Notificações. A marcada como automática é enviada ao receber uma pergunta.
| Mensagem | Envio | Ações |
|---|
Carregando…
Documentação da API
REST API para integrar produtos, tabelas de preço e pedidos com o Hub B2B.
Autenticação
Todas as requisições precisam de um Bearer Token no cabeçalho. O token é único por conta e gerado na tela de Credenciais.
Cabeçalho obrigatório
Authorization: Bearer plux_SEU_TOKEN Content-Type: application/json
Seller ID
Além do token, inclua o seller_id no corpo de cada requisição para identificar a conta do seller.
POST /api/produtos
Authorization: Bearer plux_SEU_TOKEN
Content-Type: application/json
{
"seller_id": "SEU_SELLER_ID",
"nome": "Produto Exemplo"
}
Acesse Credenciais para copiar seu token e Seller ID com um clique.
Produtos — integração ERP
Crie, atualize e exclua produtos pelo SKU. Categoria e subcategoria são criadas automaticamente se não existirem.
Campos do POST /api/produtos
| Campo ERP | Campo API | Obrigatório | Observação |
|---|---|---|---|
| Nome do Produto | nome | Sim | |
| Código de Barras | gtin ou codigo_barras | Não | EAN/GTIN |
| SKU Interno | sku | Sim | Identificador único |
| Categoria Interna | categoria | Sim | Criada se não existir |
| Subcategoria | subcategoria | Não | Criada se não existir. Ex.: Bebidas > Refrigerantes |
| Descrição Completa | descricao | Não | |
| Marca | marca | Não | Nome da marca |
| Unidade de Medida | unidade ou unidade_medida | Não | Sigla. Ex.: UN, CX |
| Custo (preço) | custo | Não | Padrão 0 |
| Venda (preço) | preco ou preco_venda | Não | Padrão 0 |
| Quantidade em Estoque | estoque ou quantidade_estoque | Sim | |
| Estoque mínimo | estoque_minimo ou estoque_min | Não | Padrão 0 |
| Dimensões | altura_cm, largura_cm, comprimento_cm | Não | Números inteiros em centímetros. Aliases: altura, largura, comprimento |
| Peso | peso_kg, peso ou peso_liquido | Não | Decimal em kg |
| Imagem principal | imagem ou imagem_url | Não | URL pública. O Hub baixa e salva como imagem principal, preservando as imagens extras. |
| Status | status | Não | ativo, inativo ou rascunho |
Campos abaixo valem para POST (criar) e PATCH (atualizar/sincronizar). No PATCH, o sku vai na URL — envie o mesmo JSON do POST no body.
/api/produtos
Criar produto
Request Body
{
"sku": "ERP-001",
"codigo_barras": "7891234567890",
"nome": "Produto do ERP",
"categoria": "Eletrônicos",
"subcategoria": "Celulares > Smartphones",
"descricao": "Descrição completa do produto.",
"marca": "Marca Exemplo",
"custo": 1200.00,
"preco_venda": 1999.90,
"quantidade_estoque": 50,
"estoque_minimo": 5,
"unidade": "UN",
"altura_cm": 10,
"largura_cm": 20,
"comprimento_cm": 30,
"peso_kg": 1.5,
"imagem": "https://erp.exemplo.com/imgs_produtos/produto.jpg",
"status": "ativo"
}
Response 201 Created
{
"message": "Produto criado.",
"produto": {
"sku": "ERP-001",
"gtin": "7891234567890",
"nome": "Produto do ERP",
"custo": 1200,
"preco": 1999.9,
"estoque": 50,
"estoque_minimo": 5,
"marca": "Marca Exemplo",
"unidade_medida": { "sigla": "UN" },
"altura_cm": 10,
"largura_cm": 20,
"comprimento_cm": 30,
"peso_kg": 1.5,
"imagens": [{ "url": "/imagem/produtos/uuid/arquivo.jpg", "ordem": 0 }],
"status": "ativo",
"categoria": { "nome": "Eletrônicos" },
"subcategoria": { "caminho": "Celulares > Smartphones" }
}
}
/api/produtos/{sku}
Atualizar / sincronizar produto
{sku}SKU interno do produto (mesmo valor enviado no POST)Para sincronizar com o ERP, envie o mesmo JSON do POST (sem o campo sku no body — ele vai na URL). Categoria e subcategoria seguem a mesma regra: cria se não existir.
Request Body
{
"codigo_barras": "7891234567890",
"nome": "Produto do ERP",
"categoria": "Eletrônicos",
"subcategoria": "Celulares > Smartphones",
"descricao": "Descrição completa do produto.",
"marca": "Marca Exemplo",
"custo": 1200.00,
"preco_venda": 1999.90,
"quantidade_estoque": 50,
"estoque_minimo": 5,
"unidade": "UN",
"altura_cm": 10,
"largura_cm": 20,
"comprimento_cm": 30,
"peso_kg": 1.5,
"imagem": "https://erp.exemplo.com/imgs_produtos/produto.jpg",
"status": "ativo"
}
Response 200 OK
{
"message": "Produto atualizado.",
"produto": {
"sku": "ERP-001",
"gtin": "7891234567890",
"nome": "Produto do ERP",
"custo": 1200,
"preco": 1999.9,
"estoque": 50,
"estoque_minimo": 5,
"marca": "Marca Exemplo",
"unidade_medida": { "sigla": "UN" },
"imagens": [{ "url": "/imagem/produtos/uuid/arquivo.jpg", "ordem": 0 }],
"status": "ativo",
"categoria": { "nome": "Eletrônicos" },
"subcategoria": { "caminho": "Celulares > Smartphones" }
}
}
/api/produtos/{sku}
Excluir produto
{sku}SKU interno do produtoResponse 200 OK
{ "message": "Produto removido." }
Tabelas de Preço
Gerencie tabelas de preço e associe o valor de venda de cada produto por SKU. Ideal para integração com ERP.
Campos principais
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome | string | Sim no cadastro / opcional no upsert | Nome público da tabela. Ex.: Atacado, Varejo, VIP. |
descricao | string | Não | Descrição da política de preço. |
status | string | Não | ativo ou inativo. Padrão: ativo. |
valor | number | Sim no vínculo com produto | Valor de venda do produto naquela tabela. |
Para o ERP, use PUT /api/tabelas-preco/{tabelaPreco}/produtos/{sku}. Se a tabela não existir, o Hub cria; se existir, atualiza o valor do produto sem apagar outros produtos da tabela.
/api/tabelas-preco
Cadastra uma tabela de preço
Request Body
{
"nome": "Tabela Atacado",
"descricao": "Preços para atacado",
"status": "ativo"
}
Response 201 Created
{
"message": "Tabela de preços criada.",
"tabela": {
"nome": "Tabela Atacado",
"descricao": "Preços para atacado",
"status": "ativo",
"produtos_count": 0
}
}
/api/tabelas-preco/{tabelaPreco}
Atualiza uma tabela de preço
{tabelaPreco}Nome público da tabela de preço. Ex.: Tabela AtacadoRequest Body
{
"nome": "Tabela VIP",
"descricao": "Preços atualizados",
"status": "ativo"
}
Response 200 OK
{
"message": "Tabela de preços atualizada.",
"tabela": {
"nome": "Tabela VIP",
"descricao": "Preços atualizados",
"status": "ativo"
}
}
/api/tabelas-preco/{tabelaPreco}/produtos/{sku}
Criar/atualizar tabela e valor por SKU
{tabelaPreco}Nome da tabela no Hub/API pública. Ex.: Atacado{sku}SKU público do produto já cadastrado no HubEndpoint recomendado para ERP. O Hub cria a tabela se ela não existir e faz upsert do valor do produto em tabela_preco_itens sem remover os demais produtos/preços.
Request Body
{
"nome": "Atacado",
"descricao": "Lista importada do ERP",
"status": "ativo",
"valor": 99.90
}
Response 201 Created / 200 OK
{
"message": "Tabela de preço criada e valor salvo.",
"tabela": {
"nome": "Atacado",
"descricao": "Lista importada do ERP",
"status": "ativo",
"produtos_count": 1
},
"produto": {
"sku": "ERP-001",
"nome": "Produto do ERP",
"valor_tabela": 99.90
}
}
Pedidos
Pedidos do Hub (ERP) ou vendas do Mercado Livre. Use o seletor ao lado para alternar.
/api/pedidos
Lista os pedidos do Hub
Campos financeiros e canal
forma_pagamento_idID estável da forma (use em GET /api/formas-pagamento/{id})forma_pagamento_uuidUUID da forma cadastrada no HubfinanceiroResposta com forma, parcelas, taxa_total e total_com_taxacanal_vendaOrigem do pedido: plataforma da loja ou Manual/api/pedidos/exportacao
Exporta pedidos para ERP
Use somente_nao_importados=1 e o filtro status para controlar a importação.
/api/pedidos/{numero_pedido}/marcar-importado
Confirma importação ERP
Envie erp_import_id e erp_import_status após criar a venda no ERP.
Authorization: Bearer plux_… e query seller_id = ID numérico da conta Mercado Livre (não o UUID do Hub).
/api/mercadolivre/vendas/sincronizar-todos
Sincroniza vendas recentes do seller
Primeiro GET recomendado: busca pedidos recentes na API ML (/orders/search) e grava em vendas_marketplaces.
seller_idObrigatório. Seller ID da conta MLlimitOpcional. 1–50 (padrão 50)offsetOpcional. Paginação da busca MLGET /api/mercadolivre/vendas/sincronizar-todos?seller_id=759409162&limit=50 Authorization: Bearer plux_SEU_TOKEN
/api/mercadolivre/vendas
Lista vendas já sincronizadas
Retorna venda + comprador. Sem envio (aba Envio), sem faturamento (aba Dados de faturamento) e sem valores/pagamento (aba Formas de pagamentos → Mercado Livre).
seller_idObrigatóriopage / per_pagePaginação HubResponse 200 OK
{
"seller_id": 759409162,
"vendas": [
{
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"seller_id": 759409162,
"venda": {
"canal": "Mercado Livre",
"tipo_venda": "Mercado Livre",
"tipo_registro": "venda_item",
"id_venda": "2000001234567890",
"id_pacote": null,
"e_pacote": false,
"mlb_anuncio": "MLB123456789",
"variation_id": null,
"titulo": "Kit ferramentas 40 peças",
"sku": "KIT-40",
"quantidade": 1,
"tipo_anuncio": "Clássico",
"status_venda": "Pago",
"status_detalhe": null,
"data_venda": "2026-08-01T14:22:10-03:00",
"data_update": "2026-08-01T18:01:00-03:00",
"data_fechamento": null,
"data_cancelamento": null,
"motivo_cancelamento": null,
"cancelado_por": null,
"tem_reembolso": false,
"id_reclamacao": null,
"motivo_reclamacao": null
},
"comprador": {
"comprador_id": "112233445",
"nome_comprador": "João Silva"
}
}
],
"paginacao": {
"pagina": 1,
"por_pagina": 20,
"total": 42,
"ultima_pagina": 3
}
}
/api/mercadolivre/vendas/{order_id}
Sincroniza uma venda (Order ID)
Busca o pedido na API ML, persiste e devolve o mesmo formato (venda + comprador).
order_idID do pedido no Mercado Livreseller_idObrigatório (query)GET /api/mercadolivre/vendas/2000001234567890?seller_id=759409162 Authorization: Bearer plux_SEU_TOKEN
Formas de pagamentos
Formas cadastradas no Hub ou dados de pagamento vindos das vendas Mercado Livre.
/api/formas-pagamento
Lista formas de pagamento
ativoOpcional. Use 1 para listar apenas ativas/api/formas-pagamento/{id}
Busca forma por ID
Use o forma_pagamento_id retornado em GET /api/pedidos.
seller_id. Use o mesmo order_id da aba Pedidos.
/api/mercadolivre/vendas/{order_id}/pagamento
Valores e pagamento da venda ML
Endpoint dedicado de valores/pagamento (a listagem de Pedidos ML não inclui esses campos).
payment_idID do pagamento Mercado Pagometodo_pagamentoEx.: Pix, Cartão de créditotipo_pagamentoTipo / meioparcelasQuantidade de parcelastaxa_parcelamentoTaxa de parcelamentodetalhe_parcelasDetalhe das parcelasmomento_aprovacaoData/hora da aprovaçãomoedaEx.: BRLpreco_unitarioPreço unitário do itemtaxa_mlb_itemTaxa ML do itemtotal_venda_geralTotal da vendatotal_pagoTotal pago pelo compradorvalor_reembolsadoValor reembolsado (se houver)data_reembolsoData do reembolsoGET /api/mercadolivre/vendas/2000001234567890/pagamento?seller_id=759409162 Authorization: Bearer plux_SEU_TOKEN
Response 200 OK
{
"seller_id": 759409162,
"order_id": "2000001234567890",
"pagamento": {
"payment_id": "12345678901",
"metodo_pagamento": "Pix",
"tipo_pagamento": "Transferência bancária",
"parcelas": 1,
"taxa_parcelamento": "0.00",
"detalhe_parcelas": null,
"momento_aprovacao": "2026-08-01T14:25:00-03:00",
"moeda": "BRL",
"preco_unitario": "199.90",
"taxa_mlb_item": "22.00",
"total_venda_geral": "199.90",
"total_pago": "199.90",
"valor_reembolsado": null,
"data_reembolso": null
}
}
Dados de faturamento
Dados fiscais por canal de venda. Use o seletor ao lado — novos canais (Shopee, Amazon, etc.) entrarão aqui.
/api/pedidos/{numero_pedido}
Dados do cliente no pedido Hub
Enquanto não houver endpoint específico de faturamento Hub, use o detalhe do pedido: cliente_nome, cliente_documento, endereço e demais campos fiscais do cadastro.
Authorization: Bearer plux_… e seller_id = ID da conta ML. Use este endpoint dedicado — a listagem de Pedidos ML não inclui faturamento.
/api/mercadolivre/vendas/{order_id}/faturamento
Faturamento de um pedido
Sincroniza o pedido (se necessário) e devolve somente os dados fiscais.
order_idOrder ID do Mercado Livreseller_idObrigatório (query)billing_info_idID de billing no MLdoc_typeCPF ou CNPJdoc_numberNúmero do documentonome / sobrenomeRazão social ou nomecust_typePessoa Física (CO) / Jurídica (BU)ieInscrição estadualtaxpayer_typeSituação fiscalstreet / number / neighborhoodEndereçocity / state / zip / countryLocalidadecommentComplementoGET /api/mercadolivre/vendas/2000001234567890/faturamento?seller_id=759409162 Authorization: Bearer plux_SEU_TOKEN
Response 200 OK
{
"seller_id": 759409162,
"order_id": "2000001234567890",
"faturamento": {
"billing_info_id": "123456789",
"doc_type": "CPF",
"doc_number": "12345678900",
"nome": "João",
"sobrenome": "Silva",
"cust_type": "Pessoa Física (CO)",
"ie": null,
"taxpayer_type": null,
"street": "Av. Paulista",
"number": "1000",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP",
"zip": "01310-100",
"country": "Brasil",
"comment": "Apto 101"
}
}
Envio
Dados de logística e entrega por canal. Use o seletor ao lado — novos canais (Shopee, Amazon, etc.) entrarão aqui.
/api/pedidos/{numero_pedido}
Dados de envio no pedido Hub
Enquanto não houver endpoint específico de envio Hub, use o detalhe do pedido (endereço, frete e status de entrega do cadastro).
Authorization: Bearer plux_… e seller_id = ID da conta ML. Use este endpoint dedicado — a listagem de Pedidos ML não inclui envio.
/api/mercadolivre/vendas/{order_id}/envio
Envio de um pedido
Sincroniza o pedido (se necessário) e devolve somente os dados de logística/entrega.
order_idOrder ID do Mercado Livreseller_idObrigatório (query)id_envioID do shipment no MLstatus_envio / substatus_envioStatus logísticorastreio_codigoCódigo de rastreiotransportadoraTransportadoracep / endereco_completoEndereço de entregacidade / estado / paisLocalidadedata_criacao_envioCriação do enviodata_estimada_entregaPrazo estimadodata_entregaData real da entregafrete_vendedor / frete_compradorCustos de fretefrete_pago_porQuem paga o fretefrete_subsidio_ml / frete_custo_realSubsídio e custo realfrete_tipo_custoEx.: Frete parcialmente grátisGET /api/mercadolivre/vendas/2000001234567890/envio?seller_id=759409162 Authorization: Bearer plux_SEU_TOKEN
Response 200 OK
{
"seller_id": 759409162,
"order_id": "2000001234567890",
"envio": {
"id_envio": "43456789012",
"status_envio": "Entregue",
"substatus_envio": null,
"rastreio_codigo": "AB123456789BR",
"transportadora": "Loggi",
"cep": "01310-100",
"endereco_completo": "Av. Paulista, 1000 - Bela Vista",
"cidade": "São Paulo",
"estado": "SP",
"pais": "Brasil",
"data_criacao_envio": "2026-08-01T15:00:00-03:00",
"data_estimada_entrega": "2026-08-05T23:59:59-03:00",
"data_entrega": "2026-08-04T11:20:00-03:00",
"frete_vendedor": "12.50",
"frete_comprador": "0.00",
"frete_pago_por": "seller",
"frete_subsidio_ml": "5.00",
"frete_custo_real": "17.50",
"frete_tipo_custo": "Frete parcialmente grátis"
}
}
Códigos de Resposta
Todas as respostas de erro seguem um padrão JSON consistente.
Estrutura de erro
{
"message": "Descrição do erro",
"errors": {
"campo": ["mensagem de validação"]
}
}
Tabela de códigos
200OKRequisição bem-sucedida201CreatedRecurso criado com sucesso401UnauthorizedToken ausente ou inválido403ForbiddenSem permissão para o recurso404Not FoundRecurso não encontrado422UnprocessableFalha de validação dos campos500Server ErrorErro interno no servidorPostman Collection
Baixe o JSON oficial para importar no Postman e testar a integração com segurança.
Use a collection em ambiente de teste primeiro, configure o baseUrl correto e nunca compartilhe tokens reais. A collection já traz as requisições de Autenticação, Produtos, Tabelas de Preço, Formas de Pagamento e Pedidos.
/downloads/Hub-B2B-API.postman_collection.json
Download da collection
Integrações OAuth
Meus aplicativos
Credenciais, playground e webhooks em um workspace por app.
Workspace do aplicativo