M
Manual Técnico — App de Força de Vendas Login · Clientes · Produtos · Pedido · Avisos · Sincronização
v1.1

Especificação de Integração · Regras de Negócio

Aplicativo de Força de Vendas — Manual de Integração

Referência técnica ponta a ponta: autenticação e seleção de filial, cadastro de clientes, consulta de produtos, montagem do pedido de venda, avisos da tela inicial e sincronização dos pedidos, com todas as regras dirigidas por configuração.

Pré-requisito. A API da empresa deve ser obtida previamente no endpoint da Metasis. Todo o fluxo abaixo pressupõe essa API já configurada. As configurações lidas logo após o login (seção 1.5) são reutilizadas por todas as telas — Clientes, Produtos e Pedido — portanto devem ser carregadas uma vez e mantidas em memória/local durante a sessão.

01 Login & Autenticação

A autenticação é feita em duas etapas: um login inicial que devolve um token temporário usado apenas para listar as filiais do usuário, e um segundo login — já com a filial escolhida — que devolve o token completo da sessão.

1.1 Fluxo geral

  1. Login inicial em /Login (sem filial) → obtém token temporário.
  2. Com o token temporário, consultar /api/v1/SynUsuario/GetByFilter → lista os usuários/filiais.
  3. Usuário seleciona a filial (cdFil) na qual deseja logar.
  4. Login definitivo em /Login passando a filial → obtém o token completo.
  5. Carregar as configurações da filial em /api/v1/Aplicativo (seção 1.5).

1.2 Login inicial

POST/Login
{
  "user": "teste@teste.com",     // e-mail de login
  "password": "••••••••",       // senha do usuário
  "idOrigem": "APP"              // sempre "APP" quando vindo do aplicativo
}

Retorna um token temporário, suficiente apenas para a consulta de filiais a seguir.

1.3 Seleção de filial

Com o token temporário, consultar os usuários do login. Cada item retornado corresponde a um usuário de uma filial diferente — a aplicação deve listar os cdFil para o usuário escolher.

GET/api/v1/SynUsuario/GetByFilter
Filtros
DeLogin = "teste@teste.com"   // e-mail de login
IdAtivo = 1                   // somente usuários ativos
Response · data[]
{
  "success": true, "totalCount": 0,
  "data": [{
    "cdUsuario": 0,          // salvar no token — usado em cadastros
    "nmUsuario": "string",
    "deLogin": "string",
    "cnpjUsuario": "string",
    "idAtivo": 0,
    "qtTokenDuracao": 0,
    "cdFil": "string",       // código da filial — item por filial
    "nmFil": "string",
    "cdEst": "string",
    "deRoles": "string"
  }]
}

1.4 Login com filial

Após a seleção, efetuar o login novamente incluindo o filial. Este retorna o token completo da sessão.

POST/Login
{
  "user": "teste@teste.com",     // e-mail de login
  "password": "••••••••",       // senha do usuário
  "filial": "01",              // código da filial selecionada
  "idOrigem": "APP"              // sempre "APP"
}

1.5 Configurações do aplicativo

Logo após logar, obter as configurações da filial. Passar apenas o filtro de filial, com base na filial logada. Essas configurações regem o comportamento das demais telas.

GET/api/v1/Aplicativo
GET/api/v1/Aplicativo/GetByFilter  filtro: filial logada

Principais campos de configuração retornados em data[] e onde são aplicados:

ConfiguraçãoDomínioOnde se aplica
cdRegstringFiltro da consulta de avisos — §5.1
usaListaPreco0 / 1 / 2Consulta de produtos — §3.1
cdListaPdr · dePrecostringLista de preço padrão.
tipoDesconto0 / 1 / 2Desconto no pedido — §4.4
peDescMax%Desconto máximo — §4.4
validaVlMinimo0 / 1Valor mínimo — §4.4
mostrarVlMinimo0 / 1Exibe valor mínimo — §4.4
usaPacote0 / 1Campo de pacote — §4.4
cdEstoque · deEststringEstoque considerado.
sugerirPrazoPorCliente0 / 1Sugere prazo conforme cliente.
obrigaPrazoPorCliente0 / 1Obriga prazo conforme cliente.
validaAtrasoFin0 / 1 / 2Atraso financeiro — §4.3
tpValidacaoAtrasoFin0 / 1Escopo do atraso — §4.3
validaLimiteCredito0 / 1 / 2Limite de crédito — §4.3
cadastrarCliente0 / 1 / 2Cadastro de cliente — §2.2
tpCadastroCliente0 / 1Obrigatoriedade de campos — §2.4
prazos[]arrayFaixas de prazo (vlIniPrazo, cdPrazo, dePrazo).
demascs[]arrayMáscaras de exibição de código.

02 Clientes

A disponibilidade da tela de cadastro e a obrigatoriedade dos campos dependem das configurações cadastrarCliente e tpCadastroCliente lidas no login.

2.1 Cidade / UF e CEP

  • Os campos Cidade e UF são somente leitura (apenas visuais).
  • Online: preenche com o retorno da API de CEP (§2.6).
  • Offline: mantém em branco (ou informação parcial); o preenchimento definitivo ocorre na sincronização, quando houver conexão.

2.2 Configuração — cadastrarCliente

ValorModoComportamento
0Não permitirNão habilita a tela de cadastro. Os clientes vêm somente do backend.
1PermitirHabilita a opção e permite o cadastro do cliente.
2Necessita aprovaçãoGera o cadastro para o backend, mas ele só retorna no endpoint de clientes após aprovado. Enquanto pendente o cliente ainda não tem CdCliFor — para lançar pedido, informe o uuidCliFor guardado no lugar do CdCliFor (ver §4.1). Ao finalizar, exibir “cadastro gerado para aprovação” e sincronizar imediatamente.

No modo 2 (aprovação), guarde o uuidCliFor retornado para vincular pedidos e resolver o CdCliFor depois — ver §4.1.

2.3 Payloads de cadastro

Modo 1 — Permitir (cadastro direto)

Quando cadastrarCliente = 1, o cliente é gravado diretamente:

POST/api/v1/CliFor
{
  "nmCliFor": "string",        // nome / razão social
  "nmFantasia": "string",
  "tpPessoa": "string",        // F ou J
  "nuCpfCnpj": "string",
  "nuRgIe": "string",
  "cdCid": "string",
  "cdCep": "string",
  "deBairro": "string",
  "deEndereco": "string",
  "deComplemEnder": "string",
  "deNroRua": "string",
  "nuFone": "string",
  "deEmail": "string",
  "idCli": "string",
  "idFor": "string",
  "idTran": "string"
}

Modo 2 — Necessita aprovação

Quando cadastrarCliente = 2, o cadastro é enviado para a fila de aprovação:

POST/api/v1/SynCliFor
{
  "cdUsuario": 0,        // código do usuário salvo no token
  "idSync": 1,           // 1 = aguardando aprovação
  "nmCliFor": "string",    // nome do cliente
  "tpPessoa": "string",    // F ou J (física / jurídica)
  "nmFantasia": "string",
  "nuCpfCnpj": "string",
  "nuRgIe": "string",
  "nuFone": "string",
  "nuCelular": "string",
  "deEmail": "string",
  "deEndereco": "string",
  "deNroRua": "string",
  "deBairro": "string",
  "CdCep": "string",
  "cdCid": "string",
  "deComplem": "string",
  "deObs": "string",
  "idCliente": 1          // passar 1
}

2.4 Configuração — tpCadastroCliente

ValorModoCampos obrigatórios
0SimplesApenas CNPJ, Razão Social e Telefone.
1CompletoTodas as informações, exceto Fantasia, Complemento e Observação.

2.5 Consulta de CNPJ

Quando conectado à internet, consultar o CNPJ para preencher o cadastro. Pode ser um botão ao lado do campo CNPJ, habilitado apenas quando online.

GET/api/v1/CliFor/ConsultarCnpj/{cnpj}
Response · data
{
  "cnpj": "string",
  "razaoSocial": "string",
  "fantasia": "string",
  "abertura": "string",
  "situacao": "string",
  "naturezaJuridica": "string",
  "porte": "string",
  "cnaePrincipal": "string",
  "endereco": "string",
  "numero": "string",
  "complemento": "string",
  "bairro": "string",
  "cep": "string",
  "cidade": "string",
  "uf": "string",
  "telefone": "string",
  "email": "string",
  "inscricaoEstadual": "string",
  "provedor": "string",
  "retornoCompleto": "string"
}

2.6 Consulta de CEP

Com Cidade e UF apenas visuais: online, consultar o endpoint passando apenas o CEP; offline, consultar na sincronização.

GET/api/v1/Cep/GetByFilter  filtro: cep
Response · data[]
{
  "cdCid": "8453",
  "cdCep": "89560000",
  "nmLogra": "VIDEIRA",
  "cdIBGE": "4219309",
  "cdUf": "SC",            // preenche UF (somente leitura)
  "nmCid": "VIDEIRA"       // preenche Cidade (somente leitura)
}

2.7 Obter a lista de clientes

Para carregar os clientes disponíveis (vindos do backend), use qualquer um dos endpoints abaixo. O GetByFilter pode ser chamado sem filtros para trazer todos os clientes.

GET/api/v1/CliFor/Buscar
GET/api/v1/CliFor/GetByFilter  sem filtros = todos
Response · data[]
{
  "cdCliFor": "string",       // código do cliente
  "nmCliFor": "string",
  "nmFantasia": "string",
  "tpPessoa": "string",       // F ou J
  "nuCpfCnpj": "string",
  "nuRgIe": "string",
  "cdCid": "string",
  "cidade": "string",
  "uf": "string",
  "cdCep": "string",
  "deBairro": "string",
  "deEndereco": "string",
  "deComplemEnder": "string",
  "deNroRua": "string",
  "nuFone": "string",
  "deEmail": "string",
  "idCli": "string",
  "idFor": "string",
  "idTran": "string",
  "cdPreco": "string",       // lista de preço do cliente
  "cdPrazo": "string"        // prazo do cadastro — usado no faturamento (§4.5)
}

03 Produtos

A consulta de produtos varia conforme a configuração usaListaPreco lida no login.

3.1 Consulta — usaListaPreco

GET/api/v1/Pro/Aplicativo
ValorModoComportamento da consulta
0NãoNão usa lista de preço. Consulta sem passar nada; exibe somente os itens retornados.
1Sim (por Cliente)Lista de preço por cliente. Consulta passando o código do cliente. A tela não exibe nada sem cliente informado.
2Sim (por Vendedor)Lista de preço por vendedor. Consulta considerando o vendedor logado (do token); exibe somente os itens retornados.

3.2 Retorno

Response · data[]
{
  "cdPro": "000972",
  "dePro": "PARAFUSO M3X4MM C PANELA PHILIPS MAQUINA AI NT",
  "deProLong": "",
  "idAtivo": "S",
  "deMasc": "02.020.00972",   // código mascarado p/ exibição
  "cdUnMed": "UN ",
  "idServPro": "P", "tpPro": "P",
  "cdEan": "", "cdEanTrib": "", "cdProRef": "",
  "vlVenda": 12.54,          // preço de venda
  "vlVendaMin": 10.00,       // valor de venda mínimo — usado em validaVlMinimo / mostrarVlMinimo (§4.4)
  "estoque": 11520            // saldo disponível
}

04 Pedido de Venda

Antes de liberar o preenchimento, a aplicação avalia a situação financeira do cliente e aplica as regras configuradas; no lançamento de itens valem as regras de desconto e valor mínimo.

4.1 Cliente, uuidCliFor e CdCliFor

  1. Ao cadastrar cliente que precisa de aprovação, gravar o uuidCliFor retornado na consulta, para poder usar o cliente no pedido.
  2. Consultar /api/v1/SynCliFor/GetByFilter passando uuidCliFor para obter o CdCliFor e associá-lo ao cadastro na próxima sincronização.
  3. Ao criar o pedido, selecionar o cliente e consultar o financeiro (§4.2) — no looping da sincronização de clientes e também ao iniciar o pedido, se online.

Regra. Cliente em aprovação nasce identificado só por uuidCliFor; o CdCliFor só existe após aprovação + sincronização. Enquanto pendente, o pedido pode ser lançado informando o uuidCliFor no lugar do CdCliFor. A aplicação deve tolerar pedidos apontando para qualquer uma das duas chaves durante a transição.

4.2 Consulta financeira

GET/api/v1/CliFor/{codigo}/Financeiro
Response · data
{
  "cdCliFor": "002700",
  "vlLimite": 55.02,
  "vlEmAbertoTotal": 6058.01,
  "vlAtrasoTotal": 6058.01,
  "vlDisponivel": -6002.99,   // pode ser negativo
  "filiais": [{
    "cdFil": "01",
    "vlEmAberto": 6058.01,
    "vlAtraso": 6058.01,
    "nuDiasAtraso": 905
  }]
}

4.3 Validações financeiras

Validar atraso — validaAtrasoFin

ValorModoComportamento
0NãoNenhuma ação.
1AvisarAlerta sempre visível durante o preenchimento: “cliente com pendências no financeiro”. Não bloqueia.
2BloquearNão permite prosseguir com o pedido.

Tipo de validação — tpValidacaoAtrasoFin

ValorEscopoCampos utilizados
0Por Base/SistemavlEmAbertoTotal + o maior período de atraso entre as filiais.
1Por FilialvlAtraso + nuDiasAtraso da filial logada.

tpValidacaoAtrasoFin só é considerado quando validaAtrasoFin ≠ 0. Se o atraso não é validado, este parâmetro é ignorado.

Validar limite de crédito — validaLimiteCredito

ValorModoComportamento
0NãoNenhuma ação.
1AvisarAlerta permanente com o valor disponível (vlDisponivel). Não bloqueia.
2BloquearAo finalizar, se o valor do pedido > vlDisponivel, não deixa concluir.

Detalhe do alerta de atraso (Avisar / Bloquear)

  • Aplica-se apenas ao atraso financeiro (validaAtrasoFin) — não ao validaLimiteCredito.
  • A mensagem deve ter um label clicável que abre os detalhes: dias de atraso e valor pendente.
  • Os valores respeitam o escopo de tpValidacaoAtrasoFin (§ tabela acima).

4.4 Lançamento de produtos

Observação do item

  • Campo Observação por item — não obrigatório.

Permite desconto — tipoDesconto

ValorModoComportamento
0NãoDesconto desabilitado.
1ItemAo lançar o item, habilita o campo de desconto naquele item.
2SubtotalHabilita o campo de desconto ao finalizar o pedido (sobre o subtotal).

% Desconto máximo — peDescMax

  • Aplica-se quando tipoDesconto = 1 ou 2.
  • Bloqueia descontos acima do percentual definido em peDescMax.

Validar valor mínimo — validaVlMinimo

Usado quando o desconto máximo não está habilitado.

ValorModoComportamento
0NãoSem validação.
1SimNão permite vender abaixo do vlVendaMin retornado no produto (§3.2).

Mostrar valor de venda mínimo — mostrarVlMinimo

ValorModoComportamento
0NãoNão exibe.
1SimExibe um label com o valor mínimo do produto (vlVendaMin).

Usa pacote — usaPacote

ValorModoComportamento
0NãoNão exibe campo de pacote.
1SimHabilita um campo numérico inteiro ao lançar o produto (quantidade de pacotes).

4.5 Faturamento do pedido

Após lançar os itens, exibir uma tela resumida com o cliente e o total do pedido, contendo:

  • Data de entrega — campo para selecionar a data.
  • Tipo do pedido — combobox (ver tabela abaixo).
  • Prazo de pagamento — combobox (regras abaixo).
  • Observação do pedido — campo memo (multilinha, permite mais de uma linha).

Tipo do pedido

ValorTipoDescrição
VVendaPedido efetivo de venda.
OOrçamentoProposta / cotação, sem efetivar venda.

Prazo de pagamento

Lista base: os prazos retornados em /api/v1/Aplicativo (prazos[]), exibindo apenas aqueles cujo vlIniPrazo seja ≤ ao valor do pedido.

ConfiguraçãoValorComportamento do combobox
sugerirPrazoPorCliente0Exibe somente a lista base.
sugerirPrazoPorCliente1Inclui o prazo do cadastro do cliente (cdPrazo, §2.7) caso ainda não esteja na lista, e o traz pré-selecionado — mas permite alterar para outro.
obrigaPrazoPorCliente1Restringe ao prazo do cliente: só exibe o cdPrazo do cadastro. Se o cliente não tiver prazo, não lista nenhum, exibe a mensagem “nenhum prazo configurado para o cliente” e não deixa finalizar o pedido.

O prazo do cliente (cdPrazo) vem da listagem de clientes — §2.7. A filtragem por vlIniPrazo depende do valor total do pedido, então a lista de prazos deve ser recalculada sempre que o total mudar.

05 Avisos

Os avisos cadastrados para a empresa devem ser exibidos na aba inicial do aplicativo. São consultados por um endpoint próprio, filtrando pelo CdReg obtido nas configurações lidas no login.

5.1 Consulta de avisos

GET/api/v1/AplicativoAvisos/GetByFilter
Filtros
CdReg = "..."   // CdReg retornado na configuração do aplicativo
          // (/api/v1/Aplicativo/GetByFilter — §1.5)

Regra. O CdReg usado no filtro é o mesmo devolvido pela consulta de configurações (§1.5) — carregado uma vez no login e mantido em memória durante a sessão.

5.2 Retorno e exibição

Response
{
  "success": true,
  "message": "string",
  "totalCount": 0,
  "data": [{
    "cdReg": 0,
    "cdReg_Owner": 0,
    "nuSeq": 0,              // ordem de exibição
    "aviso": "string",       // texto exibido na aba inicial
    "cdUsuaInc": "string",
    "cdUsuaAlt": "string",
    "dtInsert": "2026-08-03T13:12:51.995Z",
    "dtIncAltReg": "2026-08-03T13:12:51.995Z",
    "excluir": "string"
  }],
  "errors": [{
    "code": "string",
    "message": "string"
  }]
}
CampoConteúdo
cdRegRegistro da empresa — mesmo valor usado no filtro (§1.5).
cdReg_OwnerRegistro proprietário do aviso.
nuSeqSequência de exibição — as mensagens devem ser mostradas nesta ordem.
avisoTexto do aviso apresentado na aba inicial.
cdUsuaInc · cdUsuaAltUsuário de inclusão / alteração (controle).
dtInsert · dtIncAltRegCarimbos de inclusão / alteração (controle).
excluirMarcação de exclusão (controle).

Exibir as mensagens ordenadas por nuSeq, na aba inicial do aplicativo.

06 Sincronização de Pedidos

Os pedidos finalizados no aplicativo devem ser sincronizados com o backend. O envio é feito em um único POST, com o cabeçalho do pedido e a coleção de itens no mesmo payload.

6.1 Envio do pedido

POST/api/v1/SynPedidos
Request · body
{
  "data": "2026-08-03T13:21:52.597Z",
  "entrega": "2026-08-03T13:21:52.597Z",
  "observacoes": "string",
  "tipo": "string",              // V · B · O
  "prazo": "string",             // "01 - 1X SEM JUROS"
  "descPerc": 0,
  "dtIncReg": "2026-08-03T13:21:52.597Z",
  "dtAltReg": "2026-08-03T13:21:52.597Z",
  "cdFil": "string",             // filial logada
  "cdEst": "string",             // cdEst retornado na configuração (§1.5)
  "situacao": 0,
  "pecomis": 0,                // não informar
  "cdMotiv": 0,                // não informar
  "idSit": "string",             // C · A · H
  "cdFunc": "string",            // cdFunc retornado na configuração (§1.5)
  "cdPreco": "string",           // não informar
  "cdCliFor": "string",          // cliente já cadastrado
  "uuidCliFor": "string",        // cliente em aprovação (§4.1)
  "uuidAndroid": "string",       // UUID único do pedido no aplicativo
  "itens": [{
    "produto": "string",
    "qtde": 0,
    "pacotes": 0,
    "valor": 0,
    "observacoes": "string",
    "dtIncReg": "2026-08-03T13:21:52.597Z",
    "dtAltReg": "2026-08-03T13:21:52.597Z",
    "tipoProduto": "string",     // não informar
    "pedesc": 0,                 // % de desconto do produto
    "pecomis": 0,                // não informar
    "vlDesc": 0,                 // valor de desconto do produto
    "vlDescRat": 0,              // não informar
    "vlDescTotal": 0,            // não informar
    "pedescPai": 0,              // não informar
    "vlVndLista": 0,             // não informar
    "nuOrdem": 0                 // sequencial do item
  }]
}

Regra. Todo pedido finalizado no aplicativo deve ser sincronizado. Os campos marcados como “não informar” são calculados/preenchidos pelo backend — enviá-los pode gerar divergência.

6.2 Campos do cabeçalho

CampoConteúdo
dataData do pedido informada no aplicativo.
entregaData de entrega informada no aplicativo (§4.5).
observacoesObservações informadas no pedido (campo memo — §4.5).
tipoV – Venda · B – Bonificação · O – Orçamento. O pedido deve ter o campo para selecionar o tipo.
prazoCdPrazoDePrazo. Ex.: 01 – 1X SEM JUROS (§4.5).
descPercPercentual de desconto sobre o total (§4.4).
dtIncRegData de inclusão — data em que está sincronizando.
dtAltRegData de alteração — data em que está sincronizando.
cdFilFilial logada.
cdEstCdEst retornado na configuração (§1.5).
situacaoNão especificado no documento de origem.
pecomisNão informar.
cdMotivNão informar.
idSitC – Cancelado · A – Aberto · H – Histórico.
cdFuncCdFunc retornado na configuração (§1.5).
cdPrecoNão informar.
cdCliForCódigo do cliente, se já estiver cadastrado.
uuidCliForUUID do cliente quando ele estiver para aprovação (§4.1).
uuidAndroidUUID único do pedido no aplicativo — chave de identificação da sincronização.

Domínio de tipo

ValorTipoDescrição
VVendaPedido efetivo de venda.
BBonificaçãoPedido de bonificação.
OOrçamentoProposta / cotação, sem efetivar venda.

Domínio de idSit

ValorSituaçãoDescrição
AAbertoPedido em aberto.
CCanceladoPedido cancelado.
HHistóricoPedido histórico.

6.3 Campos dos itens

CampoConteúdo
produtoCódigo do produto (§3.2).
qtdeQuantidade vendida.
pacotesQuantidade de pacotes — só se usaPacote = 1 (§4.4).
valorValor do produto.
observacoesObservação do produto (não obrigatória — §4.4).
dtIncRegData de inclusão — data em que está sincronizando.
dtAltRegData de alteração — data em que está sincronizando.
tipoProdutoNão informar.
pedesc% de desconto do produto (§4.4).
pecomisNão informar.
vlDescValor de desconto do produto.
vlDescRatNão informar.
vlDescTotalNão informar.
pedescPaiNão informar.
vlVndListaNão informar.
nuOrdemSequencial do item.

6.4 Retorno

O retorno traz o pedido já gravado no backend, com o numero/nuPed gerados, os carimbos de sincronização e os itens correspondentes.

Response
{
  "success": true,
  "message": "string",
  "totalCount": 0,
  "data": {
    "id": 0,
    "numero": 0,
    "data": "2026-08-03T13:21:53.173Z",
    "entrega": "2026-08-03T13:21:53.173Z",
    "observacoes": "string",
    "tipo": "string",
    "prazo": "string",
    "descPerc": 0,
    "uuid": "string",
    "dtIncReg": "2026-08-03T13:21:53.173Z",
    "dtAltReg": "2026-08-03T13:21:53.173Z",
    "dtImport": "2026-08-03T13:21:53.173Z",
    "cdFil": "string",
    "nuPed": "string",
    "situacao": 0,
    "pecomis": 0,
    "cdMotiv": 0,
    "idSit": "string",
    "cdFunc": "string",
    "cdPreco": "string",
    "cdCliFor": "string",
    "uuidCliFor": "string",
    "uuidAndroid": "string",
    "cdUsuaInc": "string",
    "cdUsuaAlt": "string",
    "dtInsert": "2026-08-03T13:21:53.174Z",
    "dtIncAltReg": "2026-08-03T13:21:53.174Z",
    "dtSync": "2026-08-03T13:21:53.174Z",
    "excluir": "string",
    "itens": [{
      "id": 0,
      "pedido": 0,
      "produto": 0,
      "qtde": 0,
      "pacotes": 0,
      "valor": 0,
      "observacoes": "string",
      "uuid": "string",
      "dtIncReg": "2026-08-03T13:21:53.174Z",
      "dtAltReg": "2026-08-03T13:21:53.174Z",
      "tipoProduto": "string",
      "pedesc": 0,
      "pecomis": 0,
      "vlDesc": 0,
      "vlDescRat": 0,
      "vlDescTotal": 0,
      "pedescPai": 0,
      "vlVndLista": 0,
      "nuOrdem": 0,
      "cdFil": "string",
      "cdEst": "string",
      "dtInsert": "2026-08-03T13:21:53.174Z",
      "dtIncAltReg": "2026-08-03T13:21:53.174Z",
      "dtSync": "2026-08-03T13:21:53.174Z",
      "excluir": "string"
    }]
  },
  "errors": [{
    "code": "string",
    "message": "string"
  }]
}

Guarde o uuid e o numero/nuPed devolvidos e vincule ao uuidAndroid local — é assim que o aplicativo sabe que aquele pedido já foi sincronizado e evita reenvio duplicado.

Resumo das Configurações

Todas as chaves de /api/v1/Aplicativo citadas neste manual e a tela onde atuam.

ChaveDomínioFunçãoSeção
cadastrarCliente0 / 1 / 2Não permitir / Permitir / Necessita aprovação.2.2
tpCadastroCliente0 / 1Cadastro Simples × Completo.2.4
usaListaPreco0 / 1 / 2Modo de consulta de produtos.3.1
validaAtrasoFin0 / 1 / 2Ação sobre atraso (Não / Avisar / Bloquear).4.3
tpValidacaoAtrasoFin0 / 1Escopo da validação (Base × Filial).4.3
validaLimiteCredito0 / 1 / 2Ação sobre limite (Não / Avisar / Bloquear).4.3
tipoDesconto0 / 1 / 2Desconto: Não / Item / Subtotal.4.4
peDescMax%Percentual máximo de desconto.4.4
validaVlMinimo0 / 1Bloqueia venda abaixo do valor mínimo.4.4
mostrarVlMinimo0 / 1Exibe label do valor mínimo.4.4
usaPacote0 / 1Habilita quantidade de pacotes.4.4
sugerirPrazoPorCliente0 / 1Sugere prazo conforme cliente.1.5
obrigaPrazoPorCliente0 / 1Obriga prazo conforme cliente.1.5