Integração via API
1 - Autenticar

Autenticação

Ao se cadastrar como nosso parceiro, você recebeu um usuário e senha para acessar a plataforma.

Por exemplo:

  • Usuário: test@aboutcar.com.br
  • Senha: @boutCar!2021

Esses são os dados que vai precisar para fazer a autenticação e recuperar o token que libera acesso as próximas requisições.

Montando a requisição

Método da requisição

POST

Endereço da requisição

Homologação:

https://apipreview.aboutcar.com.br/v1/integration/security/auth

Produção:

https://api.aboutcar.com.br/v1/integration/security/auth

Cabeçalho da requisição

{
    "Content-Type": "application/json"
}

Corpo da requisição

{
    "username": "test@aboutcar.com.br",
    "password": "@boutCar!2021"
}

Respostas da requisição

200 - Sucesso

{
    "user": {
        "name": "Test AboutCar",
        "document": "766.098.460-81",
        "username": "test@aboutcar.com.br",
        "discountTable": 1,
        "inquiries": [],
        "payday": 25,
        "paymentType": "CARD",
        "email": "test@aboutcar.com.br",
        "mobile": "31999999999",
        "address": {
            "street": "Rua Juiz Achilles Velloso",
            "number": "121",
            "complement": "",
            "neighborhood": "Estoril",
            "postalCode": "30494180",
            "city": "Belo Horizonte",
            "state": "MG"
        },
        "balance": 0,
        "credit": 0,
        "ordered": 0,
        "flow": [
            {
                "mobile": "5531999999999",
                "name": null
            }
        ],
        "roles": [],
        "products": [],
        "partner": true,
        "prepaid": false,
        "minimumConsumption": null,
        "impersonate": true,
        "termAgree": true,
        "emailVerified": true,
        "marketing": true,
        "createdAt": "2021-08-20T03:32:04.366Z"
    },
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MTFmYThlMWQ3NTZmYmNmYmNkZDE2NGMiLCJlbWFpbCI6InRlc3RAYWJvdXRjYXIuY29tLmJyIiwiaWF0IjoxNzAyNjU3MTExLCJleHAiOjE3MDI2ODU5MTF9.nw3W7jBulG_QW5cF_KTMdsCy-sB_c-FE47FUAgOzbFQ"
}

O valor da propriedade token é o que deve ser utilizado nas próximas requisições.

401 - Não autorizado

{
    "message": "Unauthorized!"
}

403 - Acesso negado

{
    "message": "Forbidden!"
}

Exemplos da requisição

HTTP

POST /v1/integration/security/auth HTTP/1.1
Host: apipreview.aboutcar.com.br
Content-Type: application/json
Content-Length: 78

{
    "username": "test@aboutcar.com.br",
    "password": "@boutCar!2021"
}

cURL

curl --location 'https://apipreview.aboutcar.com.br/v1/integration/security/auth' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "test@aboutcar.com.br",
    "password": "@boutCar!2021"
}'

JavaScript

const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
 
const raw = JSON.stringify({
  "username": "test@aboutcar.com.br",
  "password": "@boutCar!2021"
});
 
const requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};
 
fetch("https://apipreview.aboutcar.com.br/v1/integration/security/auth", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

NodeJs

const axios = require('axios');
const data = JSON.stringify({
  "username": "test@aboutcar.com.br",
  "password": "@boutCar!2021"
});
 
const config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://apipreview.aboutcar.com.br/v1/integration/security/auth',
  headers: { 
    'Content-Type': 'application/json'
  },
  data
};
 
axios.request(config)
  .then((response) => {
    console.log(JSON.stringify(response.data));
  })
  .catch((error) => {
    console.log(error);
  });

PHP

<?php
 
$curl = curl_init();
 
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://apipreview.aboutcar.com.br/v1/integration/security/auth',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "username": "test@aboutcar.com.br",
    "password": "@boutCar!2021"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));
 
$response = curl_exec($curl);
 
curl_close($curl);
echo $response;

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://apipreview.aboutcar.com.br/v1/integration/security/auth")
  .header("Content-Type", "application/json")
  .body("{\"username\": \"test@aboutcar.com.br\", \"password\": \"@boutCar!2021\"}")
  .asString();