Fluxo de integração de revenda

O diagrama abaixo ilustra o fluxo de cadastro de revenda:

../../_images/fluxo.png

Conceitos principais

  • Toda revenda é criada via webservice apenas (exceto FastTrack)
    Quando um cliente realiza o cadastro de sua revenda pelo Site B2B, a revenda não é criada automaticamente. Ao invés disso, ela é armazenada em uma tabela de pré-cadastro e seus dados são enviados via GIAPI para o ERP, para que ocorra o processo de análise e aprovação/rejeição seguindo o fluxo de cada cliente.
  • Toda revenda deve ter um usuário MASTER
    A revenda em si é apenas uma entidade que representa uma empresa no sistema, mas quem efetua login e faz os pedidos são os vendedores da revenda. Por isso, toda revenda deve possuir um usuário MASTER. O usuário MASTER é o administrador daquela revenda e possui total acesso a todos as informações da revenda no Site B2B, bem como visualizar pedidos, comissões e também ter o poder de criar usuários CONVIDADOS.
  • Toda revenda pode possuir N usuários CONVIDADOS
    Além do usuário MASTER que possui permissão total dentro da revenda, é possível que a revenda crie N usuários CONVIDADOS. Cada usuário CONVIDADO pode ter restrições específicas de acesso ao site, sendo que essas restrições são configuráveis via Admin do Site B2B.

Criação de revenda

A partir da versão 17.5.0 do Site B2B nós criamos um novo método de criação de revenda chamado CreateRevendaCompleta.

O CreateRevendaCompleta é semelhante ao antigo CreateRevenda, com a diferença que ele recebe também durante a criação os endereços de Cobrança e Entrega. Dessa maneira nós evitamos uma série de problemas com revendas sem endereço, pois através desse método garantimos a atomicidade da operação validando os endereços essenciais. Na versão anterior, era necessário utilizar o método SetRevendaEndereco separadamente.

Cenários possíveis

Cenário 1: a revenda existe no ERP e possui usuário cadastrado com senha

  • O ERP deve enviar os dados da revenda através do webservice de Revenda, método CreateRevendaCompleta
  • Em caso de sucesso, o ERP deve enviar pelo menos o usuário MASTER através do webservice de Revenda, método CreateUsuario, com a senha inicial do usuário

Cenário 2: a revenda existe no ERP, possui usuários, porém nenhum tem senha

Cenário 3: a revenda não existe no ERP

  • Usuário da revenda acessa o Site B2B e tenta fazer o cadastro da revenda pelo CNPJ
  • O Site B2B chama o método da GIAPI para consultar a revenda pelo CNPJ (http://apidev.atma-it.com/Help/Api/GET-api-v1-revenda_cnpj)
  • A GIAPI retorna um código de erro 404 indicando que não foi encontrado nenhum registro para essa revenda
  • O Site B2B então entra no fluxo de cadastro da revenda
  • Depois do fluxo ser finalizado, o Site B2B armazena tudo em tabelas de pré-cadastro de revenda e em seguida envia via GIAPI para (http://apidev.atma-it.com/Help/Api/POST-api-v1-revenda)
  • No lado do ERP, cada cliente deve lidar de sua maneira com a solicitação da nova revenda. Geralmente ocorre um processo manual de análise e aprovação, para que essa revenda entre em seguida na base do ERP
  • O ERP deve então realizar a integração de revenda normalmente conforme o Cenário 1

Cenário 4: a revenda existe no ERP porém não tem nenhum contato cadastrado

  • Usuário da revenda acessa o Site B2B e tenta fazer o cadastro da revenda pelo CNPJ
  • O Site B2B chama o método da GIAPI para consultar a revenda pelo CNPJ (http://apidev.atma-it.com/Help/Api/GET-api-v1-revenda_cnpj)
  • A GIAPI retorna os dados da revenda
  • O Site B2B chama o método da GIAPI para consultar quais são os contatos cadastrados para essa revenda no ERP (http://apidev.atma-it.com/Help/Api/GET-api-v1-revenda-revendaId-contatos)
  • A GIAPI retorna uma lista de contatos vinculados à revenda
  • A GIAPI não retorna nenhum dado (erro 404 ou lista vazia)
  • O Site B2B exibe um erro informando ao usuário que ele deve entrar em contato com a distribuidora para regularizar os dados cadastrais