GithubHelp home page GithubHelp logo

boginni / clearsale2023 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from davidsdearaujo/clearsale

0.0 0.0 0.0 182 KB

Package para conectar uma aplicação Dart com a Clearsale

License: MIT License

Dart 100.00%

clearsale2023's Introduction

clearsale

Esse package é a de integração com a aplicação Total - Total Garantido da Clearsale. Código baseado na documentação oficial.

Arquitetura

O código desse package segue o padrão do Clean Dart, uma proposta de implementação do Clean Architeture para Dart [doc]

import

pubspec.yaml

dependencies:
  clearsale: <last version>
import 'package:clearsale/clearsale.dart';

Autenticação

A autenticação é baseada em dois parâmetros, name e password; Esses parâmetros são recebidos no construtor da classe ClearSale:

final clearsale = ClearSale(
    userName: "username", 
    password: "password",
);

É possível realizar a autenticação de duas maneiras:

  • No construtor
final clearsale = ClearSale(
    userName: "username", 
    password: "password",
    automaticAuthenticate: true,
);
  • Método authenticate
final clearsale = ClearSale(
    userName: "username", 
    password: "password",
    automaticAuthenticate: false,
);
clearsale.authenticate();

NOTA: A autenticação no construtor é realizada por padrão caso a propriedade automaticAuthenticate não seja informada.

Ações

O package permite realizar as seguintes ações:

Método Descrição
analysisRequest Solicitação de análise
reanalysisRequest Solicitação de reanálise
chargebackMarking Marcação de estorno
statusConsult Consulta de status de uma solicitação
statusUpdate Alteração de status de uma solicitação. Importante: Os status de atualização devem ser combinados com a equipe de integração.

Fingerprint

O campo sessionID do objeto AnalysisRequestModel (utilizado nas ações de Análise e Reanálise) deve ser preenchido com a fingerprint do dispositivo.

O package para gerar esse código está sendo desenvolvido.

Resiliência de autenticação

Esse é o fluxo de autenticação executado em todas as ações:

image

Erros Tratados

Todos os erros recebem por herança a estrutura da classe Failure, que tem 3 propriedades principais:

  • code: Código para identificar o erro;
  • message: Mensagem padrão do erro;
  • innerException: Exceção que causou o erro;

Esses são os erros tratados:

Validação de parâmetros

Código Erro Mensagem Descrição
null-token-failure NullTokenFailure É necessário preencher o token para continuar. Token nulo
empty-token-failure EmptyTokenFailure É necessário preencher o token para continuar. Token vazio
invalid-field-${fieldName}-failure InvalidFieldFailure É necessário preencher o campo $fieldName para continuar. Algum parâmetro informado está vazio ou nulo

Tratamento retorno Clearsale

Código Erro Mensagem Descrição
empty-datasource-response EmptyDatasourceResponseFailure Endereço não encontrado Clearsale não encontrou nenhum endereço
null-datasource-response NullDatasourceResponseFailure null Clearsale não retornou nada no body do response
endpoint-message-failure EndpointMessageFailure Mensagem de erro retornada pelo endpoint Erro tratado pela Clearsale. Tem a propriedade status com o status do erro.
endpoint-invalid-statuscode-failure EndpointInvalidStatusCodeFailure null Resposta não tratada pelo package. Tem as propriedades int statusCode e String body.

clearsale2023's People

Contributors

davidsdearaujo avatar blackleg15 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.