以下のサンプルコードで動作の確認をすることができます。
コードの実行方法は、3-5-2.確認手順を参照してください。
import requests, datetime, json TOKEN = 'ダッシュボードでAPIアクセストークンを発行しここに貼り付けます' PRODUCT_ID = '商品ID' URL = '動作確認するAPIのURL' PATH = '動作確認するAPIのPATH' def get_market_token(payload={}): url = 'https://sdk.tellusxdp.com/api/manager/v2/auth/token/' headers = { 'Authorization': 'Bearer ' + TOKEN } 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 # マーケットトークン取得 # 商品の審査が完了するまで base_url の代わりに null を返します。 # なお、プロバイダ自身で発行を行ったトークンであれば、商品の審査が完了する前でも base_url を返します。 payload = { 'product_id': PRODUCT_ID } ret = get_market_token(payload=payload) if ret['base_url'] is None: ret['base_url'] = URL # API実行 executed = exec_api(ret['base_url'] + PATH, ret['token'], {}) print('executed : {}'.format(executed))
以下の手順にて、正しくAPIとgatewawayが動作しtellusマーケットと連携が確立しているか確認ができます。
1.商品を仮登録しているアカウントで、ダッシュボードの「開発環境」からTellusのAPIアクセストークンを発行してください。
マーケットトークン発行APを実行するには、APIアクセストークンが必要です。
APIアクセストークンはダッシュボードの「開発環境」から発行することができます
購入していない商品の情報でマーケットトークンを発行しようとすると401エラーが表示されます。
発行時に設定した有効期限(最大60分)を過ぎるとマーケットトークンは使えなくなります。必要に応じて再発行してください。
マーケットトークン発行APIについて詳しくはこちらをご覧ください。発行したマーケットトークンを使ってAPIリクエストを行います。
2.動作確認をするAPIのURLとパス・APIアクセストークン・商品情報(商品ID)をサンプルコード(Python)に記載してください。
※APIのURL・パスには、ゲートウェイを設定したサーバーのURL・パスを設定してください。
3.サンプルコードを実行し、httpステータス200が返ってくれば成功です。
マーケットトークンは、get_market_token()メソッドの戻り値で取得できます。
APIゲートウェイのログの一例
・成功時:
Nov 30 15:22:37 api-test tellus-market-sdk-gateway[3875]: time="2020-11-30T15:22:37+09:00" level=debug msg="Request count: xxxx" product_id=xxxx
・失敗時(商品IDの不備):
Nov 30 15:25:03 api-test tellus-market-sdk-gateway[3254]: time="2020-11-30T15:25:03+09:00" level=debug msg="Invalid product id xxxx" product_id=xxxxx
・失敗時(集計用APIキーの不備):
Nov 30 15:25:38 api-test tellus-market-sdk-gateway[3315]: time="2020-11-30T15:25:38+09:00" level=error msg="Count request error: Invalid Status Code 401 {\"detail\":\"不正なトークンです。\",\"code\":\"authentication_failed\"}" product_id=xxxx