UpnidChallenge

command module
v0.0.0-...-24604b8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2020 License: MIT Imports: 5 Imported by: 0

README

UpChallenge Go Report Card Codacy Badge Maintainability

API que avalia transações de e-commerce e devolve um score de 0 a 100 de risco, sendo 0 (sem indícios de fraude) e 100 (com máximo risco de fraude).

Pré-requisitos para rodar a aplicação

Docker

Docker-compose

Instalação

Após instalar e rodar o Docker na sua máquina você estará apto a rodar nossa API.

Agora você pode clonar o repositório UpnidChallenge e abrir na sua IDE favorita. Para o desenvolvimento eu utilizei a GoLand da JetBrains.

Você está pronto

Após clonar e abrir o projeto, você pode rodar o seguinte comando:

docker-compose up --build

Os testes unitários são executados durante a construção do container, se tudo ocorrer como esperado, a seguinte mensagem vai aparecer no seu terminal:

"Server running..."

Caso ocorra algum problema, certifique-se que o Docker está rodando.

Sobre a API

URL

/v1.0/transactions

Method

POST

Data Params

No corpo da requisição é necessário o envio de um ou mais objetos de transação no formato JSON.

Note que é preciso utilizar os colchetes mesmo quando é apenas um objeto.

Os objetos de transação são compostos pelos seguintes dados:

[
  {
    "id": "5f20325488b6d415454025af",
    "value": "768.29",
    "paid_at": "2019-03-25 07:23:20",
    "ip_location": "SC/BR",
    "card_hold_name": "Ashlee Swanson",
    "customer": {
      "id": "5f203254077bb9e7bae8056f",
      "name": "Ashlee Swanson",
      "birth_date": "2005-04-18",
      "state": "SC/BR",
      "phone": "48 99999-9999"
    }
  }
]

Success Response Code: 200 Ok
Content { "id" : "5f20325488b6d415454025af","score" : "9" }

Error Response Code 400 BAD REQUEST
Content Error trying to read the request body, check if everything is correct.

Sample Call

var settings = {
  "url": "localhost:8000/v1.0/transactions",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json"
  },
  "data": JSON.stringify([{"id":"5f20325488b6d415454025af","value":"768.29","paid_at":"2019-03-25 07:23:20","ip_location":"SC/BR","card_hold_name":"Ashlee Swanson","customer":{"id":"5f203254077bb9e7bae8056f","name":"Ashlee Swanson","birth_date":"2005-04-18","state":"SC/BR","phone":"48 99999-9999"}}]),
  };

$.ajax(settings).done(function (response) {
  console.log(response);
});

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL