Autenticação das requisições

Só é necessário se preocupar com a autenticação das requisições caso opte por integrar diretamente à nossa API, pois nossos SDKs abstraem completamente essa complexidade.

Headers

Utilizamos um modelo de apiKey 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)

Para gerar uma assinatura da requisição, siga os passos a seguir:

  • Concatene: apiKey + method + timestamp + path

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

  • Finalmente, converta o resultado para Base64

Utilize as tabelas a seguir como modelo para validar sua implementação:

Campo

Valor

Path

/ledger/

Method

GET

ApiKey

682ffb8b9e4e58f1670969faf42e6cbafb1964baa5a6c2d83529426723468450

Secret

29381bb0d2689a8db4d07ec9ed5e23f2c3354c613c0d730a5aedd4ab94430b94

Timestamp

1593011865

Signature

6sfOYE/Tfrkcp5/Lh/WURjhDUhDr5+Vy/WW5MtylZ30=

Campo

Valor

Path

/ledger/accounts/me

Method

GET

ApiKey

682ffb8b9e4e58f1670969faf42e6cbafb1964baa5a6c2d83529426723468450

Secret

29381bb0d2689a8db4d07ec9ed5e23f2c3354c613c0d730a5aedd4ab94430b94

Timestamp

1593011770

Signature

H7GiEXNGhRnpH3IZZZLFuqa2RRUakoXS260VQKc1At0=