Índice
A API newSales serve para integrar a plataforma com outros sistemas para permitir a troca de informações. Através de requisições HTTPS, essas chamadas podem ser do tipo POST (envio de dados) ou GET (obtenção de dados), e o conteúdo das mensagens é estruturado no formato JSON. Dessa forma, qualquer sistema que possua a capacidade de fazer uma requisição HTTP tradicional tem a possibilidade de utilizar os diferentes serviços disponibilizados pela API. Este conteúdo serve exclusivamente para programadores e/ou analistas de sistemas, com um bom conhecimento e experiência sobre APIs, que querem integrar o newSales com seus sistemas.
URL padrão: https://api.newsales.com.br.
Todas as sessões expiram automaticamente após 1 hora.
São retornados no máximo 50 registros por página para todas as requisições do tipo GET.
A chave e o token utilizados abaixo são somente exemplos não funcionais.
Nos métodos do tipo 'POST', caso a requisição esteja com sintaxe e campos obrigatórios corretos, mas não foi atualizado/inserido/excluído o registro, o valor do campo 'statusRequest' será 0 (zero).
Para ter acesso às APIs, é necessário gerar uma chave de acesso via sistema newSales Desk.
Para gerar uma chave, faça login com um usuário perfil Administrador no newSales Desk. Acesse: Configurações / Integração (na sessão API newSales), escolha as permissões da chave (ler, inserir, editar, excluir) e clique em Adicionar para gerar uma nova chave de acesso.
Toda requisição necessita de um token de sessão (Bearer token), este token deve ser obtido por meio de login na API. O appkey é a chave gerada pelo cadastro nas configurações do newSales. Todas as sessões de login expiram após 1 hora.
Abaixo segue um exemplo de login:
URL
/login
Requisição
POST
Headers
"Content-Type", "application/json"
Body (json)
{
"appkey": "bMb9CZGPYkpXteYAZ"
}
Exemplo de retorno
{
"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20"
}
URL
/clientes
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
_id: ID exclusivo do cliente;
codigo: Código do cliente;
cnpj_cpf: CNPJ ou CPF do cliente;
codigo_vendedor: Código do vendedor que está entre os vendedores habilitados, para retorno da carteira de clientes.
data_cadastro: Data para pesquisar clientes que foram cadastrados após essa data.
status: Parâmetro para pesquisar clientes ativos ou inativos, para pesquisar por ativos, preencha esse parametro com "1", para pesquisar inativos, utilize "0", e se quiser ambos, não utilize esse parâmetro.
ultima_atualização: Data de última atualização do cliente(maior ou igual a);
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
{
"_id": "gmFaSCqdnjGoPAzpH",
"_idhold": "98",
"codigo": "9999",
"razao_social": "CLIENTE DE TESTE LTDA",
"nome_fantasia": "TESTECLI",
"tipo_juridico": "J",
"cnpj_cpf": "66113307000107",
"ins_estadual": "8000",
"ins_municipal": "8008",
"endereco": "RUA ABC",
"numero": "123",
"complemento": "COMPLEMETO!!!",
"bairro": "CENTRO",
"cidade": {
"_idhold": "98",
"codigo": "3",
"nome": "ESTRELA",
"uf": "RS",
"_id": "HYMz3izngSWoCGcrB"
},
"cep": "88888888",
"fone1": "88888888888",
"fone2": "99999999999",
"email_cliente": "cliente@teste.com",
"website": "www.dngdfgidngid.com",
"data_cadastro": "2018-09-24T03:00:00.000Z",
"contribuinte": {
"_idhold": "98",
"codigo": "1",
"nome": "SIMPLES RS",
"_id": "6Tj9cyd8fHQobzNMi"
},
"categoria": {
"_idhold": "98",
"codigo": "1",
"nome": "ESTRATÉGICOS",
"_id": "5AoWm4CKmjqx4kimK"
},
"rota": {
"_idhold": "98",
"codigo": "40",
"nome": "SAO BENEDITO",
"_id": "QD7ra2EDx6YXjybgt"
},
"regiao": {
"_idhold": "98",
"codigo": "132GAF",
"nome": "SERRA",
"vendedores": null,
"_id": "kKdoC6BYYHiSn5sTT"
},
"obs": "CLIENTE TESTE CADASTRADO 24-09-2018.",
"status": true,
"contatos": [
{
"id_contato": "1720184127643",
"codigo": "",
"nome_contato": "Testeman",
"apelido": "T",
"email_contato": "testeman@testeman.teste.com",
"fone_contato": "(99)99999-9998",
"cargo": "Testador man",
"data_nascimento": "2000-10-10",
"edited": true
}
],
"vendedores": [
{
"_idhold": "98",
"codigo": "100",
"nome": "Danilo Cardoso Goncalves Representações",
"status": true,
"_id": "c4rdKDLaZCC5ryEEK",
"principal": true
},
{
"_idhold": "98",
"codigo": "103",
"nome": "SELLERO",
"supervisor": {
"_id": "",
"nome": ""
},
"status": true,
"subgrupos": null,
"marcas": null,
"saldoFlex": 1000,
"usar_flex": true,
"synced": false,
"_id": "6zKvWxLdZ8h98Bthg",
"principal": false
}
],
"limite_credito": 10000,
"limite_liberado": 10000,
"obs_financeiro": "",
"informacoes": [
{
"id_special_info": "84188114",
"titulo": "Info",
"info": "Informativa",
"cor": "teal"
}
],
"territorios": [
{
"_idhold": "98",
"codigo": "1",
"nome": "TERRITÓRIO AGRÍCOLA",
"_id": "jAhEkKwLGkAHDmYF6"
}
],
"last_update": "2024-07-05",
"gera_receita": false,
"prazo_medio_maximo": 3,
"registro_quimico": "345",
"registro_quimico_validade": "2050-12-10",
"usar_flex": false,
"perfil": {
"_idhold": "98",
"codigo": "329FLU",
"nome": "Principais",
"_id": "2cgaHHQChXAYxeuoP"
}
}
URL
/post_clientes
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campos obrigatórios para atualização em vermelho. É possível enviar um array contendo até 50 clientes ou apenas um cliente singular.
{
"codigo": "00123",
"razao_social": "Comercial Silva LTDA",
"nome_fantasia": "Silva Comercial",
"data_cadastro": "2025-06-01",
"status": true,
"cnpj_cpf": "12345678000190",
"tipo_juridico": "J",
"ins_estadual": "123456789000",
"ins_municipal": "987654",
"endereco": "Rua das Flores",
"numero": "100",
"bairro": "Centro",
"complemento": "Sala 2",
"cidade": {
"codigo": "3550308",
"nome": "São Paulo",
"uf": "SP"
},
"cep": "01001000",
"fone1": "11999990001",
"fone2": "1133334444",
"email_cliente": "contato@silvacomercial.com.br",
"email_cliente_nf": "nf@silvacomercial.com.br",
"website": "https://silvacomercial.com.br",
"contatos": [
{
"nome_contato": "João Silva",
"apelido": "Joãozinho",
"cargo": "Comprador",
"data_nascimento": "1985-04-12",
"fone_contato": "11988887777",
"email_contato": "joao@silvacomercial.com.br"
}
],
"categoria": [
{ "codigo": "A", "nome": "Categoria A" }
],
"rota": [
{ "codigo": "R-01", "nome": "Rota Centro" }
],
"regiao": [
{ "codigo": "SE", "nome": "Sudeste" }
],
"territorios": [
{ "codigo": "SP-CAP", "nome": "SP Capital" }
],
"vendedores": [
{ "codigo": "V001", "nome": "Maria Souza", "status": true, "principal": true }
],
"culturas": [
{ "codigo": "SOJ", "nome": "Soja" }
],
"contribute": [
{ "codigo": "1", "nome": "Contribuinte ICMS" }
],
"informacoes": [
{ "titulo": "Atenção", "info": "Cliente preferencial", "cor": "#00AA00" }
],
"registro_quimico": "RQ-2025-001",
"registro_quimico_validade": "2026-12-31",
"data_fundacao": "2001-03-15",
"usar_flex": false,
"limite_credito": 10000,
"limite_liberado": 7500,
"obs": "Entregar somente em horário comercial",
"obs_financeiro": "Boletos por e-mail",
"prazo_medio_maximo": 30,
"somente_cheque": false
}
Campos do body disponíveis para atualização
codigo: Código único do cliente
status: Indica se o cliente está ativo no sistema newSales
razao_social: Razão social do cliente.
tipo_juridico: Tipo Juridico do cliente, ele é pessoa física(F) ou jurídica(J)
usar_flex: Se o cliente utiliza saldo flex dentro do sistema newSales
Retorno
Exemplos de retorno de um bulk de clientes:
[
{ "_id": "aB3kL9mN7pQrS1tUv", "codigo": "00123", "ok": true, "inserted": false, "message": "Cliente atualizado" },
{ "codigo": "00123", "ok": false, "response": "codigo duplicado na mesma requisição" },
{ "codigo": "", "ok": false, "response": "Objeto inválido: codigo não pode ser vazio" },
{ "codigo": "00130", "ok": false, "response": "CNPJ ou CPF inválido" },
{ "codigo": "00131", "ok": false, "response": "Já existe um cliente com este CPF/CNPJ em outro código" }
]
URL
/crm
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
_id: ID exclusivo do cliente;
codigo: Código do cliente;
razão_social: Razão social do cliente;
codigo_vendedor: Código do vendedor principal, atrelado ao cliente.
data_cadastro: Data para pesquisar clientes que foram cadastrados após essa data.
status: Parâmetro para pesquisar clientes ativos ou inativos, para pesquisar por ativos, preencha esse parametro com "1", para pesquisar inativos, utilize "0", e se quiser ambos, não utilize esse parâmetro.
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
A pesquisa por razão social inclui todos os clientes que possuírem a palavra passada no paramêtro, por exemplo, se passado a palavra "Ana", a pesquisa irá retornar tanto resultados que tenha razão social igual a "Ana Julia" quanto "Anabela".
{
"_id": "22mveY6vYTy6KoWR9",
"codigo": "7897965",
"razao_social": "ARINO SERRA",
"crm": [
{
"nome_abreviado": "Func",
"descricao": "Numéro de funcionários da empresa",
"nome": "Numero de funcionários da empresa",
"tipo": "number",
"value": 10,
"valueName": ""
},
{
"nome_abreviado": "area",
"descricao": "Cadastro de area construída,
"nome": "Área Construída",
"tipo": "number",
"value": null,
"valueName": ""
},
{
"nome_abreviado": "Atend",
"descricao": "Coleta o número (quantidade) de atendentes no estabelecimento",
"nome": "Número de Atendentes",
"tipo": "number",
"value": 12,
"valueName": ""
},
{
"nome_abreviado": "canal",
"descricao": "",
"nome": "Canal de comunicação",
"tipo": "text",
"value": "",
"valueName": ""
},
{
"nome_abreviado": "categoria",
"descricao": "",
"nome": "CATEGORIA",
"tipo": "selector",
"value": "exclusiva",
"valueName": "EXCLUSIVA"
},
{
"nome_abreviado": "dataregistro",
"descricao": "data de quando foi feito registor no CRM",
"nome": "Data de registro",
"tipo": "date",
"value": "",
"valueName": ""
},
{
"nome_abreviado": "multiescolha",
"descricao": "campo de múltipla escolha",
"nome": "Múltipla escolha",
"tipo": "selector_multi",
"value": [],
"valueName": ""
},
{
"nome_abreviado": "faixacompras",
"descricao": "",
"nome": "Faixa de compras",
"tipo": "selector",
"value": "faixa1",
"valueName": " 0 - 100"
},
{
"nome_abreviado": "obs",
"descricao": "Coloque suas observações aqui",
"nome": "Observações",
"tipo": "text",
"value": "",
"valueName": ""
},
{
"nome_abreviado": "perfil",
"descricao": "",
"nome": "Perfil de compra",
"tipo": "selector",
"value": "rotineiro",
"valueName": "ROTINEIRO"
}
]
}
URL
/post_condições
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campos em vermelho são obrigatórios, é possível enviar apenas uma condição ou um array com até 50 condições
{
"codigo": "001",
"nome": "À vista 30 dias",
"rotulo": "30 DDL",
"prazos": ["30", "60"],
"tipo_cobranca": "B",
"perc_desconto": 2.5,
"aplicar_desconto_cabecalho": true,
"valor_minimo": 100,
"peso_minimo": 50,
"status": true,
"data_fixa": "2026-05-15",
"pedido_bonificacao": false,
"pedido_brinde": false,
"indice_percentual": 0,
"qtde_data_custom": 1
}
Campos do body disponíveis para atualização
codigo: Código do produto
codigo_empresa: Código da empresa referente ao estoque do item.
razao_social: Razão social ou nome da empresa referente ao estoque do item.
estoque: Quantidade em estoque do item.
Retorno
Quando bem sucedida a inserção, o retorno será esse:
[
{
"_id": "a1b2c3d4e5f6g7h8i9j0k1l2",
"codigo": "001",
"insert": true,
"message": "Condição inserida com sucesso"
}
]
URL
/produtos
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
_id: ID exclusivo do produto;
codigo: Código do produto;
ultima_atualizacao: Data de última atualização do item (maior ou igual a);
{
"_id": "nEDtfb8EZttHcukFh",
"_idhold": "98",
"codigo": "11112",
"nome": "NOTEBOOK TESTE IMAGEM 555KB",
"codigo_barras": "11112123",
"complemento": "",
"data_cadastro": "2019-04-25T03:00:00.000Z",
"divisao": {
"_idhold": "98",
"codigo": "100",
"nome": "TECNOLOGIA",
"_id": "9f3itHQbH4HZdopbj"
},
"grupo": {
"_id": "84Yf7Cp2DveY3ht4D",
"_idhold": "98",
"codigo": "20",
"nome": "INFORMÁTICA",
"rotulo": "",
"valor_minimo": 100
},
"subgrupo": {
"codigo": "105",
"nome": "NOTEBOOK",
"grupo": {
"_idhold": "98",
"codigo": "20",
"nome": "INFORMÁTICA",
"_id": "84Yf7Cp2DveY3ht4D"
}
},
"marca": {
"_idhold": "98",
"codigo": "1",
"nome": "APPLE",
"_id": "jwFz7KA3fy6sw8rxY"
},
"status": true,
"un_medida": "",
"un_venda": 1555,
"peso_bruto": 0.555,
"peso_liquido": null,
"termos_busca": [
"Laptop",
"Computador"
]
"correlatos": [
{
"codigo": "950021",
"codigo_barras": "95002100021",
"nome": "Notebook Dell Inspiron i15-3567-M40C 7ª Geração Intel Core i5 8GB 1TB 15.6' Windows 10",
"complemento": ""
}
],
"estoques": [
{
"codigo": "1",
"razao_social": "BASE TESTE NEWSALES",
"estoque": 0,
"last_update": "2020-10-21"
},
{
"codigo": "2",
"razao_social": "TESTE DOIS",
"estoque": 3,
"last_update": "2020-10-21"
},
{
"_idhold": "98",
"codigo": "3",
"razao_social": "TESTE C",
"cnpj": "11.111.111/1111-11",
"ufs": [],
"status": true
}
],
"territorios": [
{
"_idhold": "98",
"codigo": "2",
"nome": "TERRITÓRIO IMPLEMENTOS",
"_id": "HwJWWQiwm592m8xCj"
}
],
"last_update": "2024-07-03",
"imagens": [
{
"_id": "EytXXxDaA83tTqbjg",
"fileName": "EytXXxDaA83tTqbjg.jpg",
"extension": "jpg",
"src": "/cdn/storage/Images/EytXXxDaA83tTqbjg/original/img-sample500kb.jpg",
"last_update": "2019-04-29"
}
],
"tags": [
{
"_id": "98Eletronicos",
"nome": "Eletrônicos",
"posicao": 1,
"autocomplete": true
}
],
"acre_max_flex": 0,
"codigo_ncm": "",
"desc_max_flex": 0,
"flex": false
}
URL
/post_produtos
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campos obrigatórios para atualização em vermelho, é possível enviar um único produto, ou um array com até 50 produtos
{
"codigo": "S2205",
"nome": "Café premium 500g",
"codigo_barras": "7891234567890",
"codigo_ncm": "09011110",
"complemento": "Torra média",
"status": true,
"un_medida": "UN",
"un_venda": 1,
"peso_bruto": 0.52,
"peso_liquido": 0.5,
"grupo": { "codigo": "GRP1", "nome": "Bebidas" },
"subgrupo": {
"codigo": "SUB1",
"nome": "Cafés",
"grupo": { "codigo": "GRP1", "nome": "Bebidas" }
},
"marca": { "codigo": "M1", "nome": "Marca X" },
"divisao": { "codigo": "D1", "nome": "Divisão Sul" },
"fabricante": {
"codigo": "F1",
"nome": "Fabricante Y",
"cnpj": "12345678000199",
"status": true
},
"precos": [
{
"codigo": "TB1",
"nome": "Tabela padrão",
"preco": 29.9,
"promocao": false,
"qtde_minima_venda": 1,
"desconto_maximo": 10,
"status": true,
"status_tabela": true,
"preco_fixo": false,
"brinde": false,
"habilita_desc_qtde": false,
"ecom": true,
"ecom_habilita_precos": true
}
],
"tags": [
{
"_id": "tag1",
"nome": "orgânico",
"posicao": 1,
"autocomplete": true
}
]
}
Campos do body disponíveis para atualização
codigo: Código do produto (Alfanumérico)
nome: Nome do item(Alfanumérico)
codigo_barras: Razão social ou nome da empresa referente ao estoque do item.
estoque: Quantidade em estoque do item.
Retorno
Quando bem sucedida a atualização, o retorno se os itens foram atualizados ou inseridos no banco de dados do newSales. Exemplo:
[
{
"_id": "507f1f77bcf86cd799439011",
"codigo": "SKU-NEW",
"ok": true,
"inserted": true,
"message": "Produto inserido"
},
{
"_id": "507f191e810c19729de860ea",
"codigo": "SKU-EXISTING",
"ok": true,
"inserted": false,
"message": "Produto atualizado"
}
]
URL
/produtos_precos
Recomendado utilização dessa rota quando se é necesário apenas atualizar o produto e não o objeto inteiro do produto
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campos obrigatórios para atualização em vermelho, é possível enviar apenas um preço, ou um array com 50 preços.
{
"codigo": "1001",
"codigo_tabelapreco": "TAB01",
"codigo_banda": "B1",
"preco": 19.9,
"preco_fixo": false,
"promocao": false,
"status": true,
"qtde_minima_venda": 1,
"qtde_cx_master": 12,
"desc_cx_master": 5,
"desconto_maximo": 10,
"percent_acrescimo": 0,
"dias_medio_acrescimo": 30,
"data_inicio_juros": "2026-05-01",
"condicoes": [
{ "codigo": "30", "nome": "30 dias" },
{ "codigo": "30/60", "nome": "30/60 dias" }
],
"desc_qtdes": [
{ "qtde": 10, "desconto": 2 },
{ "qtde": 50, "desconto": 5 }
],
}
Campos do body disponíveis para atualização
codigo: Código do produto (Alfanumérico)
codigo_tabela: Código da tabela de preços(Alfanumérico)
preco: Preço do produto(Numero);
preco_fixo: Se o preço do produto é fixo, caso habilitado o vendedor não pode modificar o preço na venda,
status: Se esse preço do produto está ativo para uso. (Boolean)
promocao: Se o produto está em promoção.(Booleano)
qtde_cx_master: Quantidade de caixa master. (Numero)
desc_cx_master: Desconto caso o fator de caixa master seja respeitado. (Numero)
desc_qtdes: Faixas de desconto por quantidade (Objeto)
Exemplo em bulk:
[
{
"codigo": "1001",
"codigo_tabelapreco": "TAB01",
"preco": 19.9,
"status": true
},
{
"codigo": "1001",
"codigo_tabelapreco": "TAB02",
"preco": 17.5,
"promocao": true,
"qtde_minima_venda": 6
},
{
"codigo": "1002",
"codigo_tabelapreco": "TAB01",
"preco": 42.0,
"preco_fixo": true,
"desconto_maximo": 0
}
]
Retorno
Quando bem sucedida a atualização, o retorno se os itens foram atualizados ou inseridos no banco de dados do newSales. Exemplo:
[
{
"_id": "HOLD123_1001_TAB01",
"codigo": "1001",
"ok": true,
"inserted": false,
"message": "Preço atualizado no produto"
},
{
"_id": "HOLD123_1001_TAB02",
"codigo": "1001",
"ok": true,
"inserted": true,
"message": "Preço incluído no produto"
},
{
"codigo": "1002",
"ok": false,
"response": "Objeto inválido: \"preco\" must be a number"
}
]
URL
/atualiza_estoque_produto
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campos obrigatórios para atualização
{
"codigo": "101001",
"codigo_empresa": "99",
"razao_social": "XYZ LTDA",
"estoque": 1200
}
Campos do body disponíveis para atualização
codigo: Código do produto
codigo_empresa: Código da empresa referente ao estoque do item.
razao_social: Razão social ou nome da empresa referente ao estoque do item.
estoque: Quantidade em estoque do item.
Retorno
Quando bem sucedida a atualização, o retorno será o campo statusRequest: 1. Exemplo:
{
"statusRequest": 1
}
URL
/atualiza_estoque_produto_deposito
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campos obrigatórios para atualização
{
"codigo": "101001",
"codigo_empresa": "99",
"razao_social": "XYZ LTDA",
"codigo_deposito": "RS-001",
"nome_deposito": "DEP. 001 RS",
"estoque": 1200
}
Campos do body disponíveis para atualização
codigo: Código do produto
codigo_empresa: Código da empresa referente ao estoque do item.
razao_social: Razão social ou nome da empresa referente ao estoque do item.
codigo_deposito: Código do depósito de estoque.
nome_deposito: Nome do depósito de estoque.
estoque: Quantidade em estoque do item.
Retorno
Quando bem sucedida a atualização, o retorno será o campo statusRequest: 1. Exemplo:
{
"statusRequest": 1
}
URL
/roteiros_finalizados
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
codigo_vendedor: Código do vendedor relacionado atrelado ao roteiro;
data_inicial: Data do início do roteiro (maior ou igual a);
data_final: Data do início do roteiro (menor ou igual a);
data_encerramento_inicial: Data de fechamento do roteiro (maior ou igual a);
data_encerramento_final: Data de fechamento do roteiro (menor ou igual a);
_idFechamento: ID exclusivo do fechamento do roteiro
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
Caso o parâmetro data_inicial não for informado, ele sera automaticamente setado para três meses atrás.
Caso nos parâmetros de roteiro do Desk esteja habilitado a opção "Mostrar no roteiro em atividade os clientes com pedido que não estão no roteiro" estiver habilitada, a requisição irá também retornar os atendimentos feitos fora de roteiro/dia.
Informação sobre o status dos atendimentos (campo statusAtendimento)
0 = Aguardando atendimento
1 = Não atendido
2 = Atendido sem pedido de venda
3 = Atendido com pedido de venda
{
"_id": "vQFF3JeH5zcRQjZyz",
"_idFechamento": "KNuQure3wtCe2fdhH",
"_idroteiro": "69xsZp7Gq65ykDDKH",
"dataFinal": "2024-01-11",
"dataInicio": "2024-01-11",
"nome": "Semana 1",
"principal": true,
"qtde_clientes": 1,
"vendedor": {
"codigo": "384",
"nome": "FELICIDADE REPRESENTACOES COMERCIAIS LTDA"
},
"atendimentos": [
{
"cliente": {
"codigo": "6565",
"nome_cidade": "RIO PARDO",
"uf": "RS"
},
"data_interacao": "2024-01-11_10:01",
"diaSemana": "2",
"qualificacao": "ESTOQUE CHEIO",
"statusAtendimento": 2,
"ultimoPedido": {
"idsale": "338_9479_34745",
"codigo_newsales": "9479",
"data_pedido_sql": "2023-11-14",
"diaSemana": 3,
"hora_emissao_pedido": "20:13",
"semanaAno": 46,
"status": 5,
"valor_pedido": 3840
}
}
]
},
URL
/historico_cupom
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
codigo_cliente: Código do cliente relacionado ao uso do cupom
codigo_vendedor: Código do vendedor relacionado ao uso do cupom;
data_inicial: Data do uso do cupom (maior ou igual a);
data_final: Data do uso do cupom (menor ou igual a);
_id: ID exclusivo do uso do cupom
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
Caso o parâmetro data_inicial não for informado, ele sera automaticamento setado para seis meses atrás.
{
"_id": "8vYSrsiyW3j5Zh8yk",
"_idSale": "ddQ3jzixv3F4BX5Yp",
"_idCustomer": "pZTRAKBBJpynWPswJ",
"codigo_newsales": "0000859",
"codigo_erp": null,
"data_pedido_sql": "2024-02-22",
"vendedor": {
"codigo": "74",
"nome": "JOAO MACHADO"
},
"cliente": {
"cidade": {
"nome": "PORTO ALEGRE",
"uf": "RS"
},
"codigo": "3",
"razao_social": "SUPERMERCADO DO JOSE"
},
"status": "9",
"valor_pedido": 825.08,
"produtos": [
{
"codigo": "3032050",
"nome": "FILME TOY STORY 2",
"codigo_tabela": "1",
"nome_tabela": "TABELA DEFAULT",
"qtde_pedido": 1,
"qtde_nota": 0,
"valor_un_original": 538,
"valor_un_pedido": 527.24,
"valor_un_nota": 0,
"valor_desc_un": -10.76,
"perc_desc_un": -2,
"perc_desc_qtde": 0,
"perc_desc_cupom": 2,
"bonificado": false
},
{
"codigo": "5012250",
"nome": "PAO FRANCES",
"codigo_tabela": "1",
"nome_tabela": "TABELA DEFAULT",
"qtde_pedido": 1,
"qtde_nota": 0,
"valor_un_original": 278.06,
"valor_un_pedido": 272.5,
"valor_un_nota": 0,
"valor_desc_un": -5.56,
"perc_desc_un": -2,
"perc_desc_qtde": 0,
"perc_desc_cupom": 2,
"bonificado": false
},
{
"codigo": "1060140",
"nome": "CABO PARA SUCO,
"codigo_tabela": "1",
"nome_tabela": "TABELA DEFAULT",
"qtde_pedido": 1,
"qtde_nota": 0,
"valor_un_original": 25.86,
"valor_un_pedido": 25.34,
"valor_un_nota": 0,
"valor_desc_un": -0.52,
"perc_desc_un": -2,
"perc_desc_qtde": 0,
"perc_desc_cupom": 2,
"bonificado": false
}
],
"canal": "Ecom",
"cupom": "TESTE CUPOM FLEX",
"cupom_categoria": "DESCO",
"data_utilizacao": "2024-02-22T20:01:07.359Z"
},
URL
/monitoramentos
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
codigo_cliente: Código do cliente relacionado ao monitoramento;
codigo_produto: Código do produto relacionado ao monitoramento;
codigo_vendedor: Código do vendedor relacionado ao monitoramento;
data_inicial: Data do monitoramento (maior ou igual a);
data_final: Data do monitoramento (menor ou igual a);
_id: ID exclusivo do monitoramento.
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
Caso o parâmetro data_inicial não for informado, ele sera automaticamento setado para seis meses atrás.
{
"_id": "Jbm4qw4Xky2HLwbj4",
"_idhold": "98",
"_iduser": "Q5rsX9LE2iTTD7HYr",
"username": "JOSIMAR DOS SANTOS",
"codigo_vendedor": "70",
"cliente": {
"_id": "MeQHY98xZR9TYS4Zu",
"_idhold": "100",
"razao_social": "COOP DE FARINHA DA FELICIDADE",
"codigo": "19099",
"cnpj_cpf": "94541422000118",
"cidade": {
"codigo": "137798",
"nome": "FARINHOPOLIS",
"uf": "RS"
}
},
"produto": {
"_id": "Hv3Q7jcv5adtYW2NW",
"codigo": "608006",
"nome": "FARINHA FELIZ 1x20",
"codigo_barras": "6080060",
"divisao": {
"codigo": "3",
"nome": "DIVISAO XYZ"
},
"grupo": {
"codigo": "2",
"nome": "GRUPO ABC"
},
"subgrupo": {
"codigo": "4",
"nome": "YYXZ",
"grupo": {
"codigo": "2",
"nome": "ABC"
}
}
},
"monitoramento": {
"_id": "B3s3C98A7TWdA7hXM",
"_idhold": "98",
"nome": "Venda Perdida - Preço",
"preco": true,
"concorrente": true,
"status": true,
"qualifica_atendimento": false,
"exige_qtde": true,
"venda_perdida": true
},
"preco": {
"codigo": "1",
"nome": "TABELA DEFAULT",
"preco": 22.98
},
"preco_concorrente": 21,
"outro_concorrente": "",
"quantidade": 2000,
"valor_perda": 42000,
"data": "2024-01-04",
"hora": "08:16"
}
URL
/planos_acao
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
codigo_cliente: Código do cliente relacionado ao plano de ação;
codigo_vendedor: Código do vendedor relacionado ao plano de ação
prazo_inicial: Prazo do plano de ação (maior ou igual a);
prazo_final: Prazo do plano de ação (menor ou igual a);
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
Os status são representados pelos seguintes códigos: 0 - aguardando aprovação, 1 - confirmado, 2 - concluído
[
{
"_id": "KwELH6cvFfpXpEHXf",
"descricao": "(1) Avaliar o desempenho das ações implementadas",
"descricao_detalhada": "Acompanhar métricas-chave (KPIs) para medir o impacto das ações. Identificar pontos de melhoria e realizar ajustes conforme necessário para otimizar os resultados.",
"prazo": "2025-02-28",
"investimento": 1500,
"vendedor": {
"codigo": "100",
"nome": "Danilo Teste"
},
"data_criacao": "2025-02-18",
"hora_criacao": "13:41",
"last_update": "2025-02-20",
"status": 2,
"approvedAt": "2025-02-20T17:21:20.119Z",
"cliente": {
"codigo": "1009",
"razao_social": "CLIENTE TESTE NEWSALES",
"cidade": {
"nome": "PORTO ALEGRE",
"uf": "RS"
},
"cnpj_cpf": "56386234000173",
"tipo": "J",
"ins_estadual": ""
},
"createdBy": "Danilo Teste",
"approvedBy": "Supervisor Teste"
}
]
URL
/leads
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
codigo_cliente: Código do cliente relacionado ao plano de ação;
codigo_vendedor: Código do vendedor relacionado ao plano de ação
prazo_inicial: Prazo do plano de ação (maior ou igual a);
prazo_final: Prazo do plano de ação (menor ou igual a);
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
Os status são representados pelos seguintes códigos: 0 - aguardando aprovação, 1 - confirmado, 2 - concluído
[
{
"_id": "KwELH6cvFfpXpEHXf",
"descricao": "(1) Avaliar o desempenho das ações implementadas",
"descricao_detalhada": "Acompanhar métricas-chave (KPIs) para medir o impacto das ações. Identificar pontos de melhoria e realizar ajustes conforme necessário para otimizar os resultados.",
"prazo": "2025-02-28",
"investimento": 1500,
"vendedor": {
"codigo": "100",
"nome": "Danilo Teste"
},
"data_criacao": "2025-02-18",
"hora_criacao": "13:41",
"last_update": "2025-02-20",
"status": 2,
"approvedAt": "2025-02-20T17:21:20.119Z",
"cliente": {
"codigo": "1009",
"razao_social": "CLIENTE TESTE NEWSALES",
"cidade": {
"nome": "PORTO ALEGRE",
"uf": "RS"
},
"cnpj_cpf": "56386234000173",
"tipo": "J",
"ins_estadual": ""
},
"createdBy": "Danilo Teste",
"approvedBy": "Supervisor Teste"
}
]
URL
/cupons
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campos nome, canais, desconto, valor_minimo_pedido, data_inicial, data_final e tipo_desconto obrigatórios para criação do cupom
{
"nome": "Cupom Teste API",
"canais": ["ecom"],
"desconto": 10,
"valor_minimo_pedido": 100,
"data_inicial": "1999-12-31",
"data_final": "2050-05-05",
"tipo_desconto": "valor"
}
Campos do body disponíveis para inserção
nome: Nome do cupom(String)
canais: Deve ser um array, contendo no minimo um dos canais "ecom", "mobi" ou "desk.
desconto: Valor do desconto, deve ser um numero (Valor será considerado percentual ou valor fixo dependendo do tipo de desconto)
tipo_desconto: Tipo do desconto, deve ser a string "valor" ou "percentual"
data_inicial: Data de inicio da vigência do cupom(String formato YYYY-MM-DD)
data_final: Data de fim da vigência do cupom(String formato YYYY-MM-DD)
estados: Array de estados habilitados para o cupom
"equipes": [
{
"uf": "RS",
},
{
"uf": "SP"
}
]
O campo "uf" corresponde ao nome da equipe.(String)
equipes: Array de equipes habilitadas para o cupom
"equipes": [
{
"nome": "EQUIPE PRINCIPAL",
},
{
"nome": "TELEVENDAS"
}
]
O campo "nome" corresponde ao nome da equipe.(String)
vendedores_clientes: Array de vendedores para o cupom dos quais vão ter sua carteira de clientes habilitadas para o cupom
"vendedores_clientes": [
{
"codigo": "1010100",
"nome": "Jose",
},
{
"codigo": "1010200",
"nome": "Carlos"
}
]
O campo "codigo" corresponde ao código do vendedor. (String)
O campo "nome" corresponde ao nome do vendedor.(String)
clientes: Array de empresas para o cupom
"clientes": [
{
"codigo": "800",
"nome": "Jose dos Santos",
},
{
"codigo": "789",
"nome": "Frederico Barbosa"
}
]
O campo "codigo" corresponde ao código das operações. (String)
O campo "nome" corresponde ao nome da operação.(String)
operacoes: Array de empresas para o cupom
"operacoes": [
{
"codigo": "1",
"nome": "Pedido de venda",
},
{
"codigo": "2",
"nome": "Reembolso"
}
]
O campo "codigo" corresponde ao código das operações. (String)
O campo "nome" corresponde ao nome da operação.(String)
empresas: Array de empresas para o cupom
"empresas": [
{
"codigo": "1",
"nome": "EMPRESA CENTRO",
},
{
"codigo": "2",
"nome": "EMPRESA SUL"
}
]
O campo "codigo" corresponde ao código da empresa. (String)
O campo "nome" corresponde ao nome da empresa.(String)
vendedores: Array de vendedores para o cupom
"vendedores": [
{
"codigo": "1010100",
"nome": "Jose",
},
{
"codigo": "1010200",
"nome": "Carlos"
}
]
O campo "codigo" corresponde ao código do vendedor. (String)
O campo "nome" corresponde ao nome do vendedor.(String)
divisões: Array de divisões para o cupom
"produtos": [
{
"codigo": "1010100",
"nome": "PAO",
},
{
"codigo": "1010200",
"nome": "Café"
}
]
O campo "codigo" corresponde ao código da divisão. (String)
O campo "nome" corresponde ao nome da divisão.(String)
produtos: Array de produtos para o cupom
"produtos": [
{
"codigo": "1010100",
"nome": "PAO",
},
{
"codigo": "1010200",
"nome": "Café"
}
]
O campo "codigo" corresponde ao código do item. (String)
O campo "nome" corresponde ao nome do item.(String)
Campos para vendas de produtos em conjunto:
{
....
"venda_conjunto_produto: true,
"valor_minimo_produto: 100
"valor_maximo_produto: 200,
"sku_minimo_produto: 5
}
faixas_desconto_cupom: Array de faixas de desconto para o cupom
"produtos": [
{
"tipo_faixa": "valor",
"min": "0",
"max": "100",
"tipo_desconto": "valor",
"desconto": "10",
},
{
"tipo_faixa": "valor",
"min": "100.01",
"max": "300",
"tipo_desconto": "valor",
"desconto": "20",
},
]
O campo "tipo _faixa" corresponde ao tipo de faixa, deve ser "valor", "sku" ou "volume". (String)
O campo "min" se refere ao valor mínimo da faixa, ele deve ser maior que o máximo da faixa anterior (Number)
O campo "max" se refere ao valor máximo da faixa, ele deve ser menor que o min da próxima faixa, caso houver. (Number)
O campo "tipo_desconto" se refere ao tipo de desconto da faixa de cupom, deve ser "valor" ou "percentual". (String)
O campo desconto, é o valor de desconto do cupom. (Number)
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
URL
/vendas
Requisição
GET
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Opções de parâmetros de URL
pagina: número da paginação, iniciando em zero;
ultima_atualizacao: Data de última atualização do registro (maior ou igual a);
data_emissao_inicial: Data de emissão inicial do pedido (maior ou igual a);
data_emissao_final: Data de emissão final do pedido (menor ou igual a);
status: Status da venda (consulte o item status das vendas para mais informações).
codigo_empresa: Código da empresa para consultar as vendas.
_id: ID exclusivo da venda.
Observações
Os parâmetros do tipo Data devem estar no formato AAAA-MM-DD.
Ao incluir o parâmetro "data_emissao_final", é necessário ter também o parâmetro "data_emissao_inicial".
{
"_id": "HefDAR2mPZiWZ6uZC",
"_idhold": "98",
"idsale": "100_0000585322_1009",
"codigo_newsales": "0000585322",
"codigo_erp": null,
"numero_nf": null,
"Mobi": false,
"Desk": false,
"Ecom": true,
"origem": "0",
"nf_placa": null,
"operacao": {
"codigo": "10",
"nome": "VENDA NORMAL",
"tipo": "V"
},
"empresa": {
"codigo": "1",
"razao_social": "BASE TESTE NEWSALES",
"cnpj": "11.111.111/1111-11"
},
"cliente": {
"codigo": "1009",
"razao_social": "ADEMAR DOS SANTOS FILHO",
"nome_fantasia": "",
"categoria": null,
"cidade": {
"_idhold": "98",
"codigo": "4",
"nome": "PORTO ALEGRE",
"uf": "RS",
"_id": "whcMN2bB8A7moR7gZ"
},
"cnpj_cpf": "56386234000173"
},
"condicao": {
"codigo": "442JTO",
"nome": "3 X"
},
"vendedor": {
"_id": "c4rdKDLaZCC5ryEEK",
"_idhold": "98",
"codigo": "100",
"nome": "Danilo Cardoso Goncalves Representações",
"status": true
},
"vendedor1": {
"_id": "c4rdKDLaZCC5ryEEK",
"_idhold": "98",
"codigo": "100",
"nome": "Danilo Cardoso Goncalves Representações",
"status": true
},
"vendedor2": {
"codigo": null
},
"status": "5",
"data_criacao_sql": "2020-10-15",
"hora_criacao": "16:14",
"data_pedido_sql": "2020-10-22",
"hora_emissao_pedido": "10:57",
"frete": {
"_id": "yTyavgt4kvmuEyD7C",
"_idhold": "98",
"codigo": "1",
"nome": "CIF"
},
"valor_liq_pedido": 7884.25,
"valor_pedido": 7884.25,
"valor_liq_nota": 3945.98,
"valor_nota": 3945.98,
"valor_desconto": -365.15999999999985,
"perc_desconto": -4.4265,
"perc_desconto_capa": 6,
"perc_desconto_condicao": 0,
"perc_comissao_vendedor1": 3.301797888194819,
"perc_comissao_vendedor2": 0,
"peso_liquido": 10.2,
"peso_bruto": 10.2,
"obs_comercial": "",
"last_update": "2024-07-17",
"produtos": [
{
"sequencia": 1,
"codigo": "23432424",
"codigo_barras": "7896714283005",
"nome": "Smart TV EXEMPLO",
"codigo_tabela": "1",
"nome_tabela": "TABELA PADRÃO",
"qtde_pedido": 1,
"qtde_nota": 1,
"valor_un_original": 3042.97,
"valor_un_liq_pedido": 2677.81,
"valor_un_pedido": 2677.81,
"valor_un_liq_nota": 2998,
"valor_un_nota": 2998,
"valor_desc_un": -365.15999999999985,
"perc_desc_un": -12,
"perc_comissao_vendedor1": 0,
"perc_comissao_vendedor2": 0,
"peso_un_liq": 10,
"peso_un_bru": 10,
"bonificado": false
},
{
"sequencia": 1721243509927,
"codigo": "678768",
"codigo_barras": "9788576653202",
"nome": "CELULAR EXAMPLO",
"codigo_tabela": "1",
"nome_tabela": "TABELA PADRÃO",
"qtde_pedido": 1,
"qtde_nota": 0,
"valor_un_original": 5206.44,
"valor_un_liq_pedido": 5206.44,
"valor_un_pedido": 5206.44,
"valor_un_liq_nota": 0,
"valor_un_nota": 0,
"valor_desc_un": 0,
"perc_desc_un": 0,
"perc_comissao_vendedor1": 5,
"perc_comissao_vendedor2": 0,
"peso_un_liq": 0.2,
"peso_un_bru": 0.2,
"bonificado": false
}
],
"faturado_parcial": false,
"hora_emissao_desk": "15:53"
}
URL
/atualiza_venda
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campo _id da venda obrigatório para atualização
{
"_id": "zoK7Y6kaJZggyPc4N"
}
Campos do body disponíveis para atualização
status: Status do pedido. Ver: Status das vendas.
codigo_erp: Código do pedido no ERP.
numero_nf: Número da Nota Fiscal de venda.
last_update: Data de última atualização do pedido, formato YYYY-MM-DD.
obsCancelamento: Observação ou motivo de cancelamento, para o caso de pedidos cancelados.
produtos: Array de produtos do pedido (somente para casos de status: Faturado). Exemplo:
"produtos": [
{
"codigo": "1010100",
"qtde_nota": 5,
"bonificado": false
},
{
"codigo": "1010200",
"qtde_nota": 2,
"bonificado": false
}
]
O campo "codigo" corresponde ao código do item;
O campo "qtde_nota" corresponde à quantidade faturada do item;
O campo "bonificado" indica se o item é uma bonificação no pedido (true: sim, false: não).
Retorno
Quando bem sucedida a atualização, o retorno será o campo statusRequest: 1. Exemplo:
{
"statusRequest": 1
}
Se o status vier Faturado e for omitido o campo "produtos", será considerado o faturamento integral do pedido. Caso contrário, serão obedecidas as quantidades faturadas conforme exemplo abaixo:
Body
{
"_id": "s8PbqGXWqjmE2kF92",
"status": "5",
"produtos": [
{
"codigo": "1010100",
"qtde_nota": 5,
"bonificado": false
},
{
"codigo": "1010200",
"qtde_nota": 2,
"bonificado": false
}
]
}
URL
/post_venda
Requisição
POST
Headers
"Content-Type", "application/json";
"appkey", "bMb9CZGPYkpXteYAZ";
"Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkJydW5vIiwiaWF0IjoxNjg5MTAyNTM1LCJleHAiOjE2ODkxMDYxMzV9.wffUs-quOB2Tr8erMqto-_1stbYbcBE6QDn92cj-E20";
Body (json) | Campo em vermelho obrigatório para a venda, deve ter ao menos um dos campos em azul(codigo_newsales e codigo_erp)
{
"codigo_newsales": "VND-2026-000124",
"empresa": {
"codigo": "01",
"razao_social": "EMPRESA EXEMPLO LTDA"
},
"cliente": {
"codigo": "1001"
},
"vendedor": {
"codigo": "10",
"nome": "JOAO DA SILVA"
},
"vendedor1": {
"codigo": "10",
"nome": "JOAO DA SILVA"
},
"vendedor2": {
"codigo": "",
"nome": ""
},
"operacao": {
"codigo": "100"
},
"pedido_reserva": false,
"codigo_classe_comissao": "A",
"codigo_erp": "",
"numero_nf": "",
"obs_comercial": "Pedido gerado via integração ERP",
"nf_placa": "",
"condicao": {
"prazo_medio": 28,
"data_fixa": null
},
"frete": {
"codigo": "1",
"nome": "CIF"
},
"data_pedido_sql": "2026-04-29",
"hora_emissao_pedido": "14:35:10",
"qtde_produtos_pedido": 3,
"valor_liq_pedido": 285.50,
"valor_pedido": 300.00,
"valor_desconto": 14.50,
"perc_desconto": 4.83,
"perc_desconto_capa": 0,
"perc_desconto_condicao": 4.83,
"perc_comissao_vendedor1": 3,
"perc_comissao_vendedor2": 0,
"peso_liquido": 5.20,
"peso_bruto": 5.80,
"status": "1",
"faturado_parcial": false,
"produtos": [
{
"sequencia": 1,
"codigo": "PRD-001",
"codigo_barras": "7891234567890",
"nome": "PRODUTO EXEMPLO 1",
"codigo_tabela": "T01",
"nome_tabela": "TABELA PADRAO",
"qtde_pedido": 2,
"qtde_nota": 0,
"valor_un_original": 100.00,
"valor_un_liq_pedido": 95.25,
"valor_un_pedido": 100.00,
"valor_un_liq_nota": 0,
"valor_un_nota": 0,
"valor_desc_un": 4.75,
"perc_desc_un": 4.75,
"perc_comissao_vendedor1": 3,
"perc_comissao_vendedor2": 0,
"peso_un_liq": 1.00,
"peso_un_bru": 1.20,
"bonificado": false
},
{
"sequencia": 2,
"codigo": "PRD-002",
"codigo_barras": "7899876543210",
"nome": "PRODUTO EXEMPLO 2",
"codigo_tabela": "T01",
"nome_tabela": "TABELA PADRAO",
"qtde_pedido": 1,
"qtde_nota": 0,
"valor_un_original": 100.00,
"valor_un_liq_pedido": 95.00,
"valor_un_pedido": 100.00,
"valor_un_liq_nota": 0,
"valor_un_nota": 0,
"valor_desc_un": 5.00,
"perc_desc_un": 5.00,
"perc_comissao_vendedor1": 3,
"perc_comissao_vendedor2": 0,
"peso_un_liq": 3.20,
"peso_un_bru": 3.40,
"bonificado": false
}
]
}
Campos do body disponíveis para atualização
status: Status do pedido. Ver: Status das vendas.
codigo_erp: Código do pedido no ERP.
numero_nf: Número da Nota Fiscal de venda.
obsCancelamento: Observação ou motivo de cancelamento, para o caso de pedidos cancelados.
data_pedido_sql: Se refere a data do pedido do ERP no formato YYYY-MM-DD;
hora_emissao_pedido: Se refere a hora do pedido no ERP com formato HH:MM
frete: Objeto do frete do pedido configurado no newSales
produtos: Array de produtos do pedido (somente para casos de status: Faturado). Exemplo:
O campo "codigo" corresponde ao código do item;
O campo qtde_pedido se refere á quantidade de itens no produto
O campo "qtde_nota" corresponde à quantidade faturada do item;
O campo sequencia é da sequencia do produto no pedido;
O campo peso_un_liq se refere ao peso liquido do produto;
O campo peso_un_bru se refere ao peso bruto do produto;
O campo "bonificado" indica se o item é uma bonificação no pedido (true: sim, false: não).
Retorno
Exemplo de retorno da inserção de um array com algumas vendas
[
{
"_id": "onAW92R9Q3NFHhGGy",
"idsale": "935_24292_16189",
"ok": true,
"inserted": false,
"message": "Venda atualizada"
},
{
"_id": "on|W92R9Q3NFHhGGy",
"idsale": "935_24292_16183",
"ok": true,
"inserted": True,
"message": "Venda inserida"
},
]
Descrição e código de representação dos status dos pedidos newSales.
Em orçamento
Código: 10
Descrição: O pedido é apenas um orçamento, negociação ainda não fechada.
Aguardando
Código: 11
Descrição: O pedido foi finalizado pelo newSales e está aguardando o ERP apanhar ele.
Enviado
Código: 12
Descrição: O pedido foi enviado do newSales para o ERP.
Confirmado
Código: 15
Descrição: O pedido foi confirmado no ERP, mas ainda não foi liberado.
Em liberação comercial
Código: 1
Descrição: O pedido está sendo analisado pelo departamento comercial.
Em liberação financeira
Código: 2
Descrição: O pedido está sendo analisado pelo departamento financeiro.
Em liberação financeira/comercial
Código: 16
Descrição: O pedido está sendo analisado pelo departamento comercial e/ou financeiro.
Em liberação logística
Código: 3
Descrição: O pedido encontra-se na logística e está aguardando liberação ou está em separação.
Aguardando faturamento
Código: 4
Descrição: O pedido passou por todas as liberações e agora só aguarda a emissão da Nota Fiscal de venda.
Faturado
Código: 5
Descrição: Foi emitido a Nota Fiscal para o pedido e/ou ele está finalizado.
Requisição
Código: 14
Descrição: O pedido é apenas uma requisição, não necessariamente uma venda.
Reprovado
Código: 17
Descrição: O pedido não passou por alguma liberação do ERP e foi reprovado/negado.
Cancelado
Código: 9
Descrição: O pedido e/ou Nota Fiscal foram cancelados.