Este projeto foi criado como uma biblioteca secundária para substituir o arquivo Python responsável por executar a automação disponível no projeto my-automator-v2.
Antes de existir essa biblioteca, a automação responsável por obter as informações de um cadastro na API E-commerce Cielo (utilizando a Braspag) era executado em um arquivo Python e depois chamado no projeto Java mencionado acima.
A Braspag é uma ferramenta administrativa que permite para os lojistas consultarem diversas informações de uma loja afiliada à Cielo, por exemplo um relatório de vendas ou extrato de cobrança, além de poder customizar algumas configurações relacionadas ao comportamento da API E-commerce, como por exemplo configurar as regras de retentativa de uma recorrência.
Para acesso interno de colaboradores, é possível realizar diversas tarefas, sendo uma delas a pesquisa de informações sobre uma loja afiliada que possui cadastro na Braspag. Criei essa automação para facilitar a consulta (e / ou processamento) em lote de uma ou várias lojas. Ou seja, o script disponível neste projeto foi criado pensando na execução assíncrona de forma independente.
A automação utiliza a biblioteca Selenium para realizar login na ferramenta e executar o processo de busca. Se a loja for encontrada, será possível obter as informações mais relevantes.
Para que seja possível utilizar essa biblioteca, é necessário ter uma conta na Braspag com acesso de colaborador. Ou seja, o acesso de lojista não pode ser utilizado, já que não possui escopo para pesquisar outras lojas.
Assumindo que alguém tenha credenciais com escopo de colaborador, a biblioteca pode ser chamada por outro código escrito em Java. Basta criar um novo objeto da classe AutomationRunnerImpl e chamar a sua única função pública: run. O resultado (caso a automação seja realizada com sucesso) é um objeto do tipo CieloMerchant, no qual contém as informações de:
- establishmentCode - Número do Estabelecimento Cielo (EC)
- merchantId - Identificador da Loja (MerchantId)
- documentType - Tipo de documento (CPF ou CNPJ)
- documentNumber - Número do documento
- name - Nome Fantasia ou Nome da Pessoa
- blocked - Booleano que indica se o cadastro está bloqueado atualmente
- pixEnabled - Booleano que indica se o PIX está habilitado
- antifraudEnabled - Booleano que indica se o antifraude está habilitado
- tokenizationEnabled - Booleano que indica se o Cartão Protegido está habilitado
- velocityEnabled - Booleano que indica se o Velocity está habilitado
- smartRecurrencyEnabled - Booleano que indica se a Recorrência Programada está habilitada
- zeroAuthEnabled - Booleano que indica se o Zero Auth está habilitado
- binQueryEnabled - Booleano que indica se o Consulta BIN está habilitado
- selectiveAuthEnabled - Booleano que indica se a Autenticação Seletiva está habilitada (Opção interna)
- automaticCancelationEnabled - Booleano que indica se a Garantia de Cancelamento está habilitada
- forceBraspagAuthEnabled - Booleano que indica se a opção 'Forçar Autenticação Braspag' está habilitado (Opção interna)
- mtlsEnabled - Booleano que indica se o MTLS está habilitado (Opção interna)
- webhookEnabled - Booleano que indica se o cadastro possui alguma URL de Notificação
- whiteListIpCount - Byte que representa a quantidade de IP's cadastrados
- 1º parâmetro: Nome de Usuário
- 2º parâmetro: Senha
- 3º parâmetro: Número do Estabelecimento Cielo (EC)
Este projeto foi criado levando em consideração que será executado em um ambiente virtual Docker contendo uma instalação do Chromium, por isso no arquivo pom.xml existe a dependência selenium-devtools-v136, para "dar match" com a versão que é instalada no projeto original.