Integração pela API REST

Lembre-se de incluir https em todas as suas requisições.

Disponibilizamos uma coleção do Postman

Ambientes

Use os domínios a seguir para suas requisições.

  • Produção: https://api.swipetech.io/0.1

  • Sandbox: https://3l1qq34oj4.execute-api.us-east-1.amazonaws.com/sandbox

Autenticação

Note que só é necessário se preocupar com a autenticação das requisições caso opte por integrar diretamente à nossa API. A integração por SDK abstrai completamente essa complexidade.

Headers

Utilizamos um modelo de API Key e Secret para autenticar as requisições. Todas as requisições devem incluir os seguintes headers:

  • x-swp-timestamp: Número de segundos desde Unix Epoch. Aceita-se uma margem de 5 minutos de diferença com o horário do recebimento da requisição pela API.

  • x-api-key: API Key como string

  • x-swp-signature: Assinatura da requisição (explicado abaixo)

Assinatura (x-swp-signature)

nodejs signature.js
const Crypto = require("crypto-js")
const Base64 = require("crypto-js/enc-base64")
const requestPath = "/accounts"
const bodyString = ""
const secret = "71ad81f98fbbab22c9d74948d2899a65027208197291d11e2065c3a9c62fe1f0"
const timestamp = Math.floor(Date.now() / 1000) // "1540920260"
const method = "GET"
const stringToSign = method + timestamp + requestPath + bodyString
const hmac = Crypto.HmacSHA256(stringToSign, secret)
const signature = Base64.stringify(hmac)
console.log(signature)
// /h02U+jDJWOG1npOvL1pH79hgGWT7mWymzxISP5IphA=

Para gerar uma assinatura da requisição, siga os passos a seguir, acompanhando o código javascript acima:

  • Concatene: method + timestamp + path do request + string do body

  • Utilize seu secret para criar um HMAC-SHA-256 a partir da string obtida acima

  • Finalmente, converta o resultado para Base64

Exemplo de assinatura:

Campo

Valor

Path

/accounts

Method

GET

Body

Secret

71ad81f98fbbab22c9d74948d2899a65027208197291d11e2065c3a9c62fe1f0

Timestamp

1540920260

Signature

/h02U+jDJWOG1npOvL1pH79hgGWT7mWymzxISP5IphA=