認証
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に渡す必要があります。Ruby
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)
現在のLiquid APIはバージョン2です。リクエストにはそれぞれ
X-Quoine-API-Version
をヘッダーを含めてください。X-Quoine-API-Version: 2