REST API 履歴データ 取得

API仕様

  • 指定したdatatypeの履歴データを取得しを応答します。

API パラメータ仕様

リクエストパラメータ

  • クライアントからREST APIに要求する固有パラメータを以下の表に示します。

    セクション パラメータ タイプ 必須 設定値 意味 備考
    query   ハッシュ 必須 以下のパラメータを設定 REST API毎の情報設定セクション  
      idlist 配列 必須 任意 検索対象の履歴ユニークID群 要素は、数字文字列で指定し、要素数は最大2500件まで指定可能
      datatypename 文字列 必須 任意 取得するデータタイプ名 利用申請時に発行されます。
      dataversion 数値 必須 任意 取得するデータバージョン範囲  
    • idlist: 検索対象の履歴データユニークID配列
      • 要素は、数字文字列で指定します。
      • 最大2500個まで同時に指定することが可能。
    • datatypename: 検索対象データタイプ名を指定します。
    • dataversion: 検索対象のデータタイプバージョンを指定します。

レスポンスパラメータ

  • REST APIからクライアントに応答する固有パラメータを以下の表に示します。

    パラメータ タイプ 意味 備考
    datalist 配列 取得したデータを格納した構造体配列 該当なしの場合は、配列要素数0
    • datalist: 取得したデータが格納された構造体配列

      • パラメータを以下の表に示します。

        パラメータ タイプ 意味 備考
        id 数字による文字列 履歴データユニークID  
        createid 数字による文字列 最新データユニークID
        初回登録時に割り当てられるID
        /history/get_context.jsonで本パラメータを指定することで、対象の更新履歴情報を取得します。
        datatypename 文字列 データタイプ名  
        dataversion 数値 データバージョン  
        create_date 文字列 データ登録日時 ISO8601形式(例:YYYY-MM-DDTHH:MM:SS.mmmmm+HH:MM)
        update_date 文字列 データ最終更新日時 ISO8601形式(例:YYYY-MM-DDTHH:MM:SS.mmmmm+HH:MM)
        expire_date 文字列 データ保持期限日時
        空文字、またはISO8601形式(例:YYYY-MM-DDTHH:MM:SS.mmmmm+HH:MM)
        クライアント側の処理で使用
        rawdata 文字列 登録元情報生データ
        リクエストパラメータ共通仕様のuse_rawdataに"1"設定している場合のみ、レスポンスパラメータに含む。
        生データが存在しない場合、空文字が設定されます。
        <固有名称> String データタイプ毎に定義されたパラメータ パラメータは利用者が任意で定義します。
        • datalistは、パラメータ:idの昇順でソートした結果が格納されます。

サンプルプログラム

  • python

      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    #
    # EqCare sample client for python3
    #
    # please execute
    #  $ python3 restapi_history_get_sample.py
    #
    # NOTICE
    #   This program tested with python3.5 and python3.6 .
    #
    import sys
    import json
    
    # pip install requests==2.21.0
    import requests
    
    
    """
    パラメータ
    """
    BASE_URL = 'https://api.example.com/info/1.0'
    API_USER = 'trialuser'
    API_PASS = 'trialpass'
    TARGET_DATATYPE = 'trialinfo'
    
    """
    定数
    """
    HEADERS = {
        'User-Agent': 'EqCare Sample Client for python3',
        'Content-Type': 'application/json',
    }
    
    
    def testcall(target_path):
        try:
            url = '%s%s' % (BASE_URL, target_path)
    
            param = {
                'system': {
                    'login_name': API_USER,           # 認証ユーザ名
                    'login_pass': API_PASS,           # 認証パスワード
                    'app_servername': '',             # APIの呼び出し元システムのサーバ名
                    'app_username': '',               # APIの呼び出し元システムのログイン名
                    'timezone': '',                   # タイムゾーン変換
                },
                'query': {
                    'idlist': ['12', '13'],           # idの配列
                    'datatypename': TARGET_DATATYPE,  # データタイプ名
                    'dataversion': 1,                 # データバージョン
                }
            }
    
            # jsonに変換します
            data = json.dumps(param)
    
            HEADERS['Content-Length'] = str(len(data))
    
            print('')
            print('request:')
            print(url)
            print(HEADERS)
            print(data)
            print('')
    
            # サーバにリクエストします
            response = _request(url, data.encode('utf-8'), HEADERS)
            print('response:')
            print(response)
            print('')
    
            # 結果を表示します
            print('result:')
            print_response(response)
            print('')
        except:
            msg = 'except ; %s; %s' % (sys.exc_info()[0], sys.exc_info()[1])
            print(msg)
    
        return 0
    
    
    def _request(url, data, headers={}):
        result = requests.post(url, data=data, headers=headers, timeout=60)
        return result.text
    
    
    def print_response(response):
        """
        結果を見やすくします
        """
        response = json.loads(response)
    
        print('code = %s' % response['code'])
        print('message = %s' % response['message'])
    
        if 'datalist' in response:
            print('datalist = ')
            print('------------')
    
            for item in response['datalist']:
                for k, v in item.items():
                    print('%s : %s' % (k, v))
    
                print('------------')
    
    
    if __name__ == '__main__':
        print('=============================')
    
        testcall('/history/get.json')
    
        print('=============================')