- TellusマーケットAPI(開発者向け)
-
Tellus Marketでプロバイダにより提供されるAPIは、以下の手順で利用することができます。
1.購入
Tellus Marketにて利用したい商品を選択し、購入を行ってください。 購入の方法は利用ガイドにて詳細を確認してください。
2.「商品ID」を確認
商品購入後、Tellus Marketダッシュボードの「購入済み」商品一覧から、「商品ID」を確認することができます。
3.マーケットトークン発行
Tellus Marketで購入したAPIを利用するには、マーケットトークンを発行する必要があります。
import requests, datetime, json TOKEN = 'アカウント管理でAPIアクセストークンを発行しここに貼り付けます' product_id = '利用したいAPIの商品ID' # マーケットトークン有効期限(30分後に設定) # デフォルトでは5分、最長で60分まで設定可能 expires_at = (datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=+9))) + datetime.timedelta(minutes=30)).isoformat() def get_market_token(payload={}): url = 'https://sdk.tellusxdp.com/api/manager/v2/auth/token/' headers = { 'Authorization': 'Bearer ' + TOKEN, 'Content-type': 'application/json' } r = requests.post(url, headers=headers, data=json.dumps(payload)) if r.status_code is not 200: raise ValueError('status error({}).'.format(r.status_code)) return json.loads(r.content) # マーケットトークンを発行する ret = get_market_token({'product_id': product_id, 'expires_at':expires_at}) print('token api result : {}'.format(ret)) ''' token api result : { 'product_id': 'sample', 'expires_at': '2020-02-28T10:00:00+09:00', 'token': 'xxx', 'base_url': 'https://example.com' } '''
マーケットトークン発行APIを実行するには、APIアクセストークンが必要です。 APIアクセストークンはアカウント管理の「APIトークン」から発行することができます。
購入していない商品の情報でマーケットトークンを発行しようとすると401エラーが表示されます。
発行時に設定した有効期限(最大60分)を過ぎるとマーケットトークンは使えなくなります。必要に応じて再発行してください。
マーケットトークン発行APIについて詳しくは こちら をご覧ください。
4. APIリクエスト
発行したマーケットトークンを使ってAPIリクエストを行います。
import requests, datetime, json TOKEN = 'アカウント管理でAPIアクセストークンを発行しここに貼り付けます'
product_id = '利用したいAPIの商品ID' path= '利用したいAPIのAPIリファレンスからpathを調べて貼り付けます' # マーケットトークン有効期限(30分後に設定) # デフォルトでは5分、最長で60分まで設定可能 expires_at = (datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=+9))) + datetime.timedelta(minutes=30)).isoformat() def get_market_token(payload={}): url = 'https://sdk.tellusxdp.com/api/manager/v2/auth/token/' headers = { 'Authorization': 'Bearer ' + TOKEN, 'Content-type': 'application/json' } r = requests.post(url, headers=headers, data=json.dumps(payload)) if r.status_code is not 200: raise ValueError('status error({}).'.format(r.status_code)) return json.loads(r.content) def exec_api(url, token, payload={}): headers = { 'Authorization': 'Bearer ' + token } r = requests.get(url, headers=headers, params=payload) return r.content # マーケットトークンを発行する ret = get_market_token({'product_id': product_id, 'expires_at':expires_at}) # API実行 executed = exec_api(ret['base_url'] + path, ret['token'], {}) print('executed : {}'.format(executed))トークンが不正、有効期限が切れている場合は401エラーが表示されます。
APIのbase_urlはトークン発行APIの返り値を参照することを推奨します。 Pathは各商品のAPIリファレンスで確認してください。