認証

認証について

PrivateAPIを利用する場合は、リクエスト毎に一意のJSON Webトークン、 そしてAPIトークンとAPIシークレットの2つが必要です。

また ペイロード には次のパラメータが含まれている必要があります。

Parameter

Description

Example

path

APIリクエストの完全パスとクエリ

/orders?product_id=1

nonce

リクエスト毎に生成される一意のランダム数値。 リクエスト時はms単位のタイムスタンプが推奨されます。

1459142524488

token_id

APIトークンのID

12345

ペイロードは HMAC-SHA256(HS256)を使用したAPIシークレットで署名され、X-Quoine-Auth リクエストヘッダーを通してLiquid APIに渡す必要があります。

認証の例

require 'uri'
require 'net/http'
require 'time'
require 'jwt'

uri = URI.parse("https://api.liquid.com")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

token_id = 'YOUR_API_TOKEN_ID'
user_secret = 'YOUR_API_SECRET'
path = '/orders?product_id=1'

auth_payload = {
  path: path,
  nonce: DateTime.now.strftime('%Q'),
  token_id: token_id
}

signature = JWT.encode(auth_payload, user_secret, 'HS256')

request = Net::HTTP::Get.new(path)
request.add_field('X-Quoine-API-Version', '2')
request.add_field('X-Quoine-Auth', signature)
request.add_field('Content-Type', 'application/json')

response = http.request(request)

API バージョンヘッダー

現在のLiquid APIはバージョン2です。リクエストにはそれぞれX-Quoine-API-Version をヘッダーを含めてください。

X-Quoine-API-Version: 2

最終更新