Ir para o conteúdo principal

CLIENTE (LojaCliente) (STATUS: PARCIAL)

DocumentaçãDocumentação cnica

Nome do cliente TO-DO
Nome do projeto TO-DO
Biblioteca wosk_loja_cliente
Token da Biblioteca
1be199d8-98e8-4de7-a92c-e59c2f08edd6
URL de ProduçãProdução
https://isnapp.illimitar.pro/bibliotecas/1be199d8-98e8-4de7-a92c-e59c2f08edd6/wosk_loja_cliente
URL de HomologaçãHomologação https://hmg-isnapp.illimitar.pro/bibliotecas/1be199d8-98e8-4de7-a92c-e59c2f08edd6/wosk_loja_cliente
Data ?

SumáSumário

HistóHistórico de VersõVersões

Data VersãVersão Modificado por DescriçãDescrição da MudançMudança
? 1.0 Maykon Estrutura inicial da especificaçãespecificação.

DescriçãDescrição Geral dos Processos

O processo de integraçãintegração de Cliente Varejo éé composto por trêtrês componentes principais: WebService, Monitor e Queue, que atuam de forma encadeada e assíassíncrona para garantir consistêconsistência, escalabilidade e rastreabilidade das informaçõinformações.

O WebService éé acionado por meio de um Endpoint e representa o ponto de entrada da integraçãintegração. Ele recebe os dados cadastrais do cliente, executa validaçõvalidações estruturais e regras de negónegócio, aplica reestruturaçõreestruturações necessánecessárias (normalizaçõnormalizações, definiçõdefinições automáautomáticas e ajustes de campos) e persiste as informaçõinformações na base CLIENTES_VAREJO. ApóApós a confirmaçãconfirmação da transaçãtransação, os dados tornam-se elegíelegíveis para o fluxo de captura incremental.

O Monitor éé acionado periodicamente por um agendador (cron) e tem como responsabilidade identificar registros novos ou alterados a partir da DATA_PARA_TRANSFERENCIA. O componente mantémantém controle de estado (offset, chave de posiçãposição, filtros e situaçãsituação), permitindo continuidade segura entre execuçõexecuções. Durante o processamento, os registros o consultados de forma paginada, sanitizados e enviados para a Queue, onde aguardam processamento assíassíncrono. Esse mecanismo evita sobrecarga, duplicidade de captura e perda de posiçãposição.

A Queue tambétambém éé acionada por cron e executa o processamento assíassíncrono das mensagens pendentes. Para cada item da fila, o sistema atualiza o status para "Enviando", realiza as transformaçõtransformações finais (normalizaçãnormalização de telefones, composiçãcomposição de endereçendereço, validaçõvalidações obrigatóobrigatórias e definiçãdefinição do tipo de pessoa), monta o payload de integraçãintegração e efetua a chamada ao endpoint externo. Conforme o retorno recebido, o registro éé marcado como processado com sucesso ou erro, sendo armazenadas informaçõinformações de auditoria, tempo de execuçãexecução e mensagens de diagnódiagnóstico.

De forma resumida, o fluxo operacional ocorre da seguinte maneira:

1) Endpoint aciona WebService valida e persiste CLIENTES_VAREJO  
2) Cron aciona Monitor captura incremental envia para Queue  
3) Cron aciona Queue transforma integra com sistema externo

Essa arquitetura separa claramente as responsabilidades de entrada, captura e envio, proporcionando maior robustez, controle transacional e tolerâtolerância a falhas.

Monitor

1. DESCRIÇÃDESCRIÇÃO DO FLUXO

O processo Monitor éé responsáresponsável por habilitar e executar a captura incremental de registros de CLIENTES_VAREJO, preparando-os para integraçãintegração assíassíncrona via Queue.

Ao ser acionado, o todo run() recupera o estado anterior do monitor (offset, chave de posiçãposição, datas e filtros). Com base na situaçãsituação armazenada:

- Se CONCLUÍCONCLUÍDO (2) o estado éé redefinido para PARADO (0).
- Se PARADO (0) ou EM EXECUÇÃEXECUÇÃO (1) o processamento éé iniciado ou continuado.

Quando iniciado do estado PARADO:
- A data de posiçãposição e a data de iníinício o redefinidas.
- O offset retorna a 0.
- A chave de posiçãposição éé limpa.

Em seguida:
- Os filtros o normalizados.
- Define-se a DATA_PARA_TRANSFERENCIA nima caso o informada.

O processo entra em loop de paginaçãpaginação utilizando OFFSET/FETCH:

1) Atualiza o monitor para situaçãsituação EXECUTANDO (1).
2) Executa a consulta paginada ordenada por DATA_PARA_TRANSFERENCIA.
3) Para cada registro retornado:
   - Os valores o tratados (trim).
   - Atualiza-se o novo filtro de posiçãposição.
   - O registro éé enviado para a Queue.
   - Offset e posiçãposição o persistidos.

O loop encerra quando o mais registros.

Ao final:
- O monitor éé marcado como CONCLUÍCONCLUÍDO (2).

Em caso de erro:
- O monitor éé marcado como PROBLEMA (4).
- A mensagem de erro éé armazenada no filtro.


2. DADOS NECESSÁNECESSÁRIOS PARA O ENDPOINT

Os dados capturados o provenientes da viewQuery aplicada sobre CLIENTES_VAREJO.

Campos utilizados:

- CODIGO_CLIENTE
- CLIENTE_VAREJO
- CPF_CGC
- RG_IE
- ANIVERSARIO
- TIPO_LOGRADOURO
- ENDERECO
- NUMERO
- COMPLEMENTO
- BAIRRO
- CIDADE
- UF
- CEP
- PAIS
- IBGE
- PAIS_BC
- DDD
- TELEFONE
- DDD_CELULAR
- CELULAR
- EMAIL
- CODIGO_CONTATO
- FILIAL
- ESTRANGEIRO
- TIPO_VAREJO
- TIPO_BLOQUEIO
- CADASTRAMENTO
- OBS
- SEXO
- STATUS
- DATA_PARA_TRANSFERENCIA

ObservaçãObservação:
IBGE e PAIS_BC dependem de joins auxiliares (municímunicípio e paípaís).

3. REESTRUTURAÇÃREESTRUTURAÇÃO DOS DADOS

3.1 RecuperaçãRecuperação do estado do monitor
Momento: IníInício do run()

- offset valor persistido
- chavePosicao valor persistido
- dataPosicao valor persistido
- filtro valor persistido
- situacao valor persistido

Regra:
- Se situacao = 2 redefinir para 0

3.2 Reset ao iniciar execuçãexecução
Momento: Quando situacao 1

- dataPosicao Data/hora atual
- dataIniciado Data/hora atual
- offset 0
- chavePosicao ''

3.3 NormalizaçãNormalização dos filtros
Momento: Antes da query

- CODIGO_CLIENTE '' se vazio
- DATA_PARA_TRANSFERENCIA
    valor informado convertido para datetime
    vazio '2023-06-01 00:00:00'

3.4 AtualizaçãAtualização do estado para EXECUTANDO
Momento: Antes da consulta

- situacao 1

3.5 PaginaçãPaginação dos registros
Momento: ExecuçãExecução da query

Regra:
- ORDER BY DATA_PARA_TRANSFERENCIA ASC
- OFFSET offset
- FETCH NEXT limiteConfigurado

3.6 SanitizaçãSanitização dos dados
Momento: Ao ler cada registro

TransformaçãTransformação:
- trim() em todos os campos

3.7 AtualizaçãAtualização do filtro de posiçãposição
Momento: ApóApós fetch()

- novoFiltro['CODIGO_CLIENTE'] registro atual
- novoFiltro['DATA_PARA_TRANSFERENCIA'] data do registro

3.8 Enfileiramento
Momento: Dentro do loop

OperaçãOperação:
- Queue::set()

ParâParâmetros:
- chave CODIGO_CLIENTE
- payload registro completo
- status 'Aguardando IntegraçãIntegração'
- situacao 0

3.9 AtualizaçãAtualização incremental da posiçãposição
Momento: ApóApós inserir na fila

- offset offset + 1
- chavePosicao CODIGO_CLIENTE
- dataPosicao DATA_PARA_TRANSFERENCIA

3.10 FinalizaçãFinalização
Momento: Fim do loop

- situacao 2 (ConcluíConcluído)

3.11 Tratamento de erro
Momento: catch(Exception)

- situacao 4 (Problema)
- filtro['ERRORS'][] mensagem + timestamp

4. PERSISTÊPERSISTÊNCIA DOS DADOS (BANCO DE DADOS)

4.1 Controle do monitor
todo: _set("LojaCliente")

Dados persistidos:

- offset
- chavePosicao
- dataPosicao
- filtro
- situacao
- dataIniciado
- token

SituaçõSituações:

- 0 Parado
- 1 Executando
- 2 ConcluíConcluído
- 4 Problema

4.2 Fila de integraçãintegração
Classe: Queue

OperaçãOperação:

- INSERT / UPDATE em wosk_queue

Dados gravados:

- chave
- conteudo (payload)
- status
- situacao
- data_referencia
- token (quando reaproveitado)

5. RESULTADO DO PROCESSAMENTO

ExecuçãExecução normal:

- Monitor atualizado como CONCLUÍCONCLUÍDO (2)
- Registros enviados para Queue

ExecuçãExecução com erro:

- Monitor marcado como PROBLEMA (4)
- Mensagem registrada no filtro

6. OPERAÇÃOPERAÇÃO MANUAL capturar()

Permite capturar clientes especíespecíficos.

Fluxo:

- Recebe chave(s) (CODIGO_CLIENTE)
- Executa consulta direta
- Sanitiza os dados
- Reenvia para Queue

Regra adicional:

- Se existir na fila reaproveita token existente

Queue

1. DESCRIÇÃDESCRIÇÃO DO FLUXO

O componente Queue éé responsáresponsável pelo processamento assíassíncrono das mensagens de integraçãintegração relacionadas ao contexto "LojaCliente". O todo run() éé acionado com um token identificador da mensagem a ser processada.

Inicialmente, o sistema recupera um item da fila utilizando o token informado. Caso exista conteúconteúdo pendente, o registro éé imediatamente atualizado para o status "Enviando", garantindo rastreabilidade e evitando reprocessamentos simultâsimultâneos.

Em seguida, o sistema inicia o processamento do payload (conteudo), realizando:

- Montagem dos dados de contato (telefone, celular, e-mail)
- NormalizaçãNormalização dos meros telefôtelefônicos
- ComposiçãComposição do logradouro completo
- ValidaçãValidação de digos obrigatóobrigatórios (IBGE / BACEN)
- ConstruçãConstrução da estrutura final de integraçãintegração
- IdentificaçãIdentificação do tipo de pessoa (sica / JuríJurídica)

ApóApós a montagem do objeto final, éé realizada a chamada ao endpoint externo de integraçãintegração (setIlli).

Dependendo do retorno:

- Sucesso registro atualizado com situacao = 2
- Erro registro atualizado com situacao = 4

Ao final, o tempo de execuçãexecução éé calculado e persistido junto ao resultado do processamento.

2. DADOS NECESSÁNECESSÁRIOS PARA O ENDPOINT

O processamento da fila pressupõpressupõe que o conteúconteúdo tenha sido previamente estruturado. Os seguintes campos o esperados:

Campos relevantes:

- CODIGO_CLIENTE
- CLIENTE_VAREJO
- CPF_CGC
- RG_IE
- ENDERECO
- TIPO_LOGRADOURO
- NUMERO
- COMPLEMENTO
- BAIRRO
- CIDADE
- UF
- CEP
- PAIS
- PAIS_BC
- IBGE
- TELEFONE
- DDD
- CELULAR
- DDD_CELULAR
- EMAIL
- SEXO
- STATUS
- ANIVERSARIO
- CADASTRAMENTO
- DATA_PARA_TRANSFERENCIA
- FILIAL
- TIPO_VAREJO
- ESTRANGEIRO

ObservaçãObservação:
Campos como IBGE e PAIS_BC devem estar previamente resolvidos. A ausêausência desses dados pode interromper o processamento.

3. REESTRUTURAÇÃREESTRUTURAÇÃO DOS DADOS

3.1 AtualizaçãAtualização de status inicial da fila
Momento: Imediatamente apóapós recuperar o item

Regra:
- situacao 1 (Enviando)

3.2 Montagem dos contatos
Momento: IníInício do processamento do payload

TransformaçõTransformações:

- Remove caracteres o numénuméricos de:
  DDD
  TELEFONE
  DDD_CELULAR
  CELULAR

- ConcatenaçãConcatenação:
  TELEFONE DDD + TELEFONE
  CELULAR DDD_CELULAR + CELULAR

- InclusãInclusão condicional:
  Apenas se houver valor informado

3.3 ComposiçãComposição do logradouro
Momento: Antes da montagem do endereçendereço

Regra:
- logradouro TIPO_LOGRADOURO + ENDERECO

3.4 NormalizaçãNormalização do CEP
Momento: Montagem da estrutura final

Regra:
- CEP somente meros
- CEP preenchido àà esquerda atéaté 8 gitos

3.5 NormalizaçãNormalização de campos numénuméricos
Momento: Montagem do endereçendereço

TransformaçõTransformações:

- NUMERO somente meros
- RG_IE somente meros

3.6 ValidaçãValidação de digo IBGE
Momento: PréPré-integraçãintegração

Regra:
- ObrigatóObrigatório para clientes nacionais
- Se ausente exceçãexceção

3.7 ValidaçãValidação de digo BACEN
Momento: PréPré-integraçãintegração

Regra:
- PAIS_BC obrigatóobrigatório
- Se ausente exceçãexceção

3.8 NormalizaçãNormalização da UF
Momento: Montagem do endereçendereço

Regra:
- Se UF inváinválida ou vazia:
    Estrangeiro "EX"
    Nacional vazio

3.9 DefiniçãDefinição do digo IBGE
Momento: Montagem do endereçendereço

Regra:
- Nacional usa IBGE informado
- Estrangeiro "9999999"

3.10 ConversãConversão do STATUS
Momento: Montagem do objeto final

Regra:
- STATUS '1' situacao '0'
- STATUS = '1' situacao '1'

3.11 IdentificaçãIdentificação do tipo de pessoa
Momento: Montagem final

Regra:

- CPF_CGC > 11 gitos
    tipo JURIDICA
    cnpj normalizado (14 gitos)
    ie RG_IE normalizado

- CPF_CGC 11 gitos
    tipo FISICA
    cpf normalizado (11 gitos)
    identidade RG_IE normalizado

3.12 Controle de truncamento
Momento: Montagem do endereçendereço

Regra:
- logradouro x. 250 caracteres
- COMPLEMENTO x. 250 caracteres

4. PERSISTÊPERSISTÊNCIA DOS DADOS (BANCO DE DADOS)

Tabela de controle da fila:
wosk_queue

OperaçõOperações realizadas:

- AtualizaçãAtualização ao iniciar processamento
  todo: set(..., 'Enviando', situacao = 1)

- AtualizaçãAtualização ao finalizar processamento
  todo: set(..., retorno, mensagem, tempo, situacao)

SituaçõSituações possípossíveis:

- 2 Processado com sucesso
- 4 Erro no processamento

Dados registrados:

- ConteúConteúdo original
- Retorno do endpoint externo
- Mensagem de erro/sucesso
- Dump da requisiçãrequisição (CURL)
- Tempo de execuçãexecução

5. RESULTADO DO PROCESSAMENTO

Sucesso:

- situacao = 2
- Mensagem retornada pelo serviçserviço externo

Erro:

- situacao = 4
- Mensagem detalhada do erro
- Retorno estruturado indicando falha

6. ROTINAS AUXILIARES

prepare():
- Prepara o contexto da fila "LojaCliente"

notificar():
- Consulta registros com erro (situacao = 4)
- Envia notificaçãnotificação por e-mail

get():
- Recupera itens pendentes ou especíespecíficos

set():
- Persiste atualizaçõatualizações da fila

getConteudo():
- Extrai conteúconteúdo normalizado do payload

WebService

1. DESCRIÇÃDESCRIÇÃO DO FLUXO

O WebService recebe uma requisiçãrequisição contendo os dados cadastrais de um cliente varejo. Ao ser acionado, o todo run() executa inicialmente o processo de validaçãvalidação dos parâparâmetros recebidos. Caso exista qualquer inconsistêinconsistência (campo obrigatóobrigatório ausente, tipo inváinválido ou tamanho excedido), a execuçãexecução éé interrompida e uma exceçãexceção éé retornada.

ApóApós validaçãvalidação bem-sucedida, os dados o encaminhados ao todo setClientesVarejo(), onde o processamento principal ocorre dentro de uma transaçãtransação de banco de dados. Nesse estáestágio, o sistema:

- Define automaticamente as datas de CADASTRAMENTO e DATA_PARA_TRANSFERENCIA.
- Ajusta o TIPO_VAREJO caso o valor informado o exista na tabela de tipos lidos.
- Determina o status de ESTRANGEIRO com base na UF.
- Remove o campo SEXO se estiver vazio.
- Normaliza o CEP quando necessánecessário.
- Determina o CODIGO_CLIENTE conforme regras de prioridade.

Em seguida, o sistema verifica se existe um cliente cadastrado:

- Se O existir: realiza INSERT na tabela CLIENTES_VAREJO.
- Se EXISTIR: realiza UPDATE conforme regras de atualizaçãatualização.

Ao final, a transaçãtransação éé confirmada (commit). Em caso de erro, ocorre rollback.

O retorno do WebService inclui o CODIGO_CLIENTE definido e mensagens de status ("OK" / "Registrado com sucesso.").

2. DADOS PARA O ENDPOINT

CAMPO TIPO TAMANHO  CONTEÚCONTEÚDO OBRIGATÓOBRIGATÓRIO
CLIENTE_VAREJO
STRING 40
Nome do cliente


sim
FILIAL
STRING

25

Nome ou digo da filial
sim
PF_PJ
INT 1
Pessoa sica / 
Pessoa JuríJurídica
sim
ESTRANGEIRO
INT 1
Estrangeiro / 
Nacional
sim
ENDERECO
STRING
90
Nome da via/logradouro sem o tipo. o
UF
STRING
2
Sigla da unidade federativa ou indicador de estrangeiro. o
RG_IE
STRING
19
Documento de identificaçãidentificação (RG ou InscriçãInscrição Estadual). o
CPF_CGC
STRING
19

Documento fiscal (CPF ou CNPJ). o
CIDADE
STRING
35
Nome da cidade do cliente. o
COMPLEMENTO
STRING
20
InformaçãInformação adicional do endereçendereço. o
CEP
STRING
9
digo de endereçendereçamento postal. o
TELEFONE
STRING
10
mero do telefone sem DDD. o
ANIVERSARIO
DATETIME DATETIME Data de nascimento ou referêreferência cadastral. o
DDD
STRING
4
digo de áárea do telefone fixo. o
SEXO
STRING
1
IdentificaçãIdentificação de nero. o
OBS
STRING
200
ObservaçõObservações gerais do cadastro. o
EMAIL
STRING
100
EndereçEndereço eletrôeletrônico do cliente. o
BAIRRO
STRING
35
Nome do bairro do endereçendereço. o
STATUS
INT
1
SituaçãSituação do cadastro do cliente. o
PAIS
STRING
40
Nome do paípaís do cliente. o
TIPO_LOGRADOURO
STRING
10
Tipo do logradouro. o
NUMERO
STRING
10
mero do imóimóvel. o
DDD_CELULAR
STRING
4
digo de áárea do telefone celular. o
CELULAR
STRING
10
mero do celular sem DDD. o

ObservaçãObservação importante:
Mesmo o sendo informado diretamente, o campo CODIGO_CLIENTE torna-se obrigatóobrigatório apóapós a fase de reestruturaçãreestruturação.

3. REESTRUTURAÇÃREESTRUTURAÇÃO DOS DADOS

3.1 Datas automáautomáticas
Momento: IníInício do processamento em setClientesVarejo()

- CADASTRAMENTO = Data/hora atual
- DATA_PARA_TRANSFERENCIA = Data/hora atual

3.2 ValidaçãValidação e ajuste do TIPO_VAREJO
Momento: Antes de persistir os dados

Regra:
- Se TIPO_VAREJO o existir em CLIENTE_VAR_TIPOS:
  TIPO_VAREJO = "CLIENTE VAREJO"

3.3 DeterminaçãDeterminação de ESTRANGEIRO
Momento: Antes da validaçãvalidação final

Regra:
- Se ESTRANGEIRO vazio:
    ESTRANGEIRO = '0'
- Se UF = 'EX':
    ESTRANGEIRO = '1'

3.4 RemoçãRemoção do campo SEXO
Momento: PréPré-validaçãvalidação

Regra:
- Se SEXO vazio:
    Campo removido do payload

3.5 NormalizaçãNormalização do CEP
Momento: PréPré-validaçãvalidação

Regra:
- Se CEP informado e valor numénumérico = 0:
    CEP = 'NULL()'

3.6 DefiniçãDefinição do CODIGO_CLIENTE
Momento: PréPré-validaçãvalidação obrigatóobrigatória

Regra de prioridade:

1) CODIGO_CLIENTE informado: utilizado apóapós trim()
2) Se vazio:
      CODIGO_CLIENTE = CPF_CGC
3) Se ESTRANGEIRO = 1:
      CODIGO_CLIENTE = RG_IE

3.7 ValidaçãValidação obrigatóobrigatória do CODIGO_CLIENTE
Momento: ApóApós reestruturaçãreestruturação

Regra:
- Deve existir
- Tipo string
- x. 14 caracteres

3.8 Filtro de busca (identificaçãidentificação do registro)
Momento: Antes de INSERT/UPDATE

Regra:
- Nacional:
    filtro = CPF_CGC
- Estrangeiro:
    filtro = CODIGO_CLIENTE

3.9 VerificaçãVerificação de existêexistência e controle de duplicidade

Momento: ApóApós definiçãdefinição do filtro e antes e durante o processo que decide entre INSERT ou UPDATE

Durante o processamento em setClientesVarejo(), apóapós a definiçãdefinição e normalizaçãnormalização dos campos obrigatóobrigatórios, o sistema executa uma consulta na tabela CLIENTES_VAREJO com o objetivo de identificar se o cliente possui cadastro.

A busca éé realizada utilizando um filtro dinâdinâmico:

- Cliente nacional: filtro por CPF_CGC
- Cliente estrangeiro: filtro por CODIGO_CLIENTE

O registro mais recente éé recuperado com ordenaçãordenação decrescente por CADASTRAMENTO e limite de 1 resultado.

Caso O seja encontrado um CODIGO_CLIENTE lido:

1) ValidaçãValidação de duplicidade (somente para clientes nacionais)

   O sistema realiza uma segunda consulta verificando se existe algum registro com o mesmo CODIGO_CLIENTE informado.  
   Essa validaçãvalidação evita inconsistêinconsistências onde um CODIGO_CLIENTE esteja associado a um CPF_CGC diferente.

   Se encontrado: A execuçãexecução éé interrompida com exceçãexceção indicando conflito de identidade.

2) NormalizaçãNormalização do campo FILIAL

   Se o valor de FILIAL for numénumérico: O sistema converte o digo para o nome correspondente na tabela FILIAIS.

3) Complemento automáautomático do campo OBS

   O sistema prefixa o texto: "Cadastrado Pelo PDV ILLIMITAR."

4) PersistêPersistência dos dadosÉdadosÉ executado um INSERT na tabela CLIENTES_VAREJO utilizando sqlPrepareInsert().

Caso SEJA encontrado um registro existente: O fluxo segue para a gica de atualizaçãatualização (UPDATE), preservando dados crícríticos conforme regras definidas.

3.10 ConversãConversão de FILIAL numénumérica
Momento: Apenas em INSERT

Regra:
- Se FILIAL numénumérica: FILIAL = Nome correspondente na tabela FILIAIS

3.11 Complemento automáautomático de OBS
Momento: INSERT

Regra:
- OBS = "Cadastrado Pelo PDV ILLIMITAR. {OBS}"

4. PERSISTÊPERSISTÊNCIA DOS DADOS (BANCO DE DADOS)

Tabela principal: CLIENTES_VAREJO

OperaçõOperações possípossíveis:

- INSERT
  Quando: Cliente o localizado
  todo: sqlPrepareInsert()

- UPDATE
  Quando: Cliente existente
  todo: sqlPrepareUpdate()

Campos controlados automaticamente:
- CODIGO_CLIENTE
- CADASTRAMENTO
- DATA_PARA_TRANSFERENCIA
- FILIAL (em update preserva valor original)
- TIPO_VAREJO (em update preserva valor original)

5. RESULTADO DO PROCESSAMENTO

Retorno padrãpadrão (sucesso):

- Mensagem: OK
- Mensagem Detalhada: Registrado com sucesso.
- CODIGO_CLIENTE
- CADASTRAMENTO
- DATA_PARA_TRANSFERENCIA

Em caso de erro:

- TransaçãTransação revertida (rollback)
- ExceçãExceção com prefixo:
  "CLIENTES_VAREJO: {detalhes do erro}"

Exemplos de Request: 

{
  "UF": "MG",
  "CEP": "06845330",
  "DDD": "21",
  "OBS": "",
  "OMS": "0",
  "key": "609d9139-3439-45ae-ad00-a3e5a9f835f1",
  "PAIS": "BRASIL",
  "SEXO": "M",
  "EMAIL": "T.TESTE@GMAIL.COM",
  "PF_PJ": "1",
  "RG_IE": "94987713999",
  "BAIRRO": "PADRE EUSTÁEUSTÁQUIO",
  "CIDADE": "BELO HORIZONTE",
  "FILIAL": "ESTOQUE CENTRAL",
  "NUMERO": "370",
  "STATUS": "1",
  "CELULAR": "",
  "CPF_CGC": "99999999999",
  "eventId": "d061d60d-d2bc-4181-a224-881ebf4ded07",
  "ENDERECO": "CESÁCESÁRIO ALVIM",
  "TELEFONE": "999999999",
  "ANIVERSARIO": "1993-07-04 00:00:00",
  "COMPLEMENTO": "",
  "DDD_CELULAR": "",
  "ESTRANGEIRO": "0",
  "TIPO_VAREJO": "VENDEDOR (C)",
  "CLIENTE_VAREJO": "LOREM IPSUM",
  "CODIGO_CLIENTE": "94987713999",
  "TIPO_LOGRADOURO": "RUA"
}

Exemplos de Response: 

{
  "UF": "MG",
  "CEP": "06845330",
  "DDD": "21",
  "OBS": "",
  "OMS": "0",
  "key": "609d9139-3439-45ae-ad00-a3e5a9f835f1",
  "PAIS": "BRASIL",
  "SEXO": "M",
  "EMAIL": "T.TESTE@GMAIL.COM",
  "PF_PJ": "1",
  "RG_IE": "94987713999",
  "BAIRRO": "PADRE EUSTÁEUSTÁQUIO",
  "CIDADE": "BELO HORIZONTE",
  "FILIAL": "ESTOQUE CENTRAL",
  "NUMERO": "999",
  "STATUS": "1",
  "CELULAR": "",
  "CPF_CGC": "99999999999",
  "eventId": "d061d60d-d2bc-4181-a224-881ebf4ded07",
  "ENDERECO": "CESÁCESÁRIO ALVIM",
  "Mensagem": "OK",
  "TELEFONE": "999999999",
  "ANIVERSARIO": "1993-07-04 00:00:00",
  "COMPLEMENTO": "",
  "DDD_CELULAR": "",
  "ESTRANGEIRO": "0",
  "TIPO_VAREJO": "VENDEDOR (C)",
  "CADASTRAMENTO": "2025-09-25 15:58:07.000",
  "CLIENTE_VAREJO": "LOREM IPSUM",
  "CODIGO_CLIENTE": "94987713999",
  "TIPO_LOGRADOURO": "RUA",
  "Mensagem Detalhada": "Registrado com sucesso.",
  "DATA_PARA_TRANSFERENCIA": "2026-02-03 11:41:39"
}

Fluxo do Processo

wosk_loja_cliente.jpg

CritéCritérios de AceitaçãAceitação

Processo Subprocesso DescriçãDescrição SituaçãSituação esperada