Skip to main content

Data API

概述

本文では、DATA開発の連携に関する内容を紹介します。

データインターフェース認証ログイン

プラットフォームが公開しているインターフェースサービス(RESTfulスタイルのHttpサービス)は、すべて認証ログインが必要です。これにより、データの安全性が保証されます。現在サポートされている認証方式は1種類のみで、Bearer Tokenです。

連携準備

プラットフォームからclient_idとclient_secretのペアを取得する必要があります。これはあなたのアプリケーションの唯一の識別子であり、access_tokenを取得するために使用されます。

身元認証

client_idとclient_secretを取得したら、以下の手順でaccess_tokenを取得できます:

第一步:署名の生成

署名の生成ルール:client_id + 現在のタイムスタンプ + client_secretを連結し、MD5暗号化を行います。暗号化後の32桁の大文字の文字列が署名文字列となります。

  • 署名生成の例:

      <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
    <script>
    const client = "あなたのclient_idを入力"
    const secret = "あなたのclient_secretを入力"
    const timestamp = Math.ceil(+new Date() / 1000) // 現在のタイムスタンプ(10桁)
    const plaintext = `${client}${timestamp}${secret}` // 署名のプレーンテキスト
    const signature = CryptoJS.MD5(plaintext).toString().toUpperCase(); // 署名を取得

    console.log(`署名結果:${signature}`)
    </script>

第二步:認証リクエストの送信

  • リクエスト方法:POST

  • Content-Type: application/json

  • リクエストパラメータ:

    パラメータ名タイプ必須説明
    clientId文字列はいクライアント(プラットフォーム提供)
    time数字はい現在のタイムスタンプ
    signature文字列はい署名(client_id + time + client_secretを連結し、MD5暗号化した32桁の大文字の文字列)
  • リクエスト例:

    curl --location 'https://localhost/api/TokenAuth/Authenticate' \
    --header 'Content-Type: application/json' \
    --data '{
    "clientId": "openapi",
    "time": 1724753509317,
    "signature": "B9DBA02F6223468F16E8250D8F080CFF"
    }'
  • レスポンスパラメータ:

    パラメータ名サブパラメータ説明
    codeステータスコード
    data結果データ
    accessTokenアクセストークン
    expireInSeconds有効時間(秒)
    success成功かどうか
    msgエラーメッセージ
  • レスポンス例:

    {
    "code": 200,
    "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc0V4dGVybmFsIjpmYWxzZSwidXNlcklkIjoiNDMyNDMwMDg0OTY4Njc3Nzg1NyIsImFjY291bnQiOiJXZWxsaW5ndG9uQXBpIiwicmVhbE5hbWUiOiJXZWxsaW5ndG9uQXBpIiwidXNlclR5cGUiOiJkZGFfY2xpZW50Iiwic3lzdGVtIjoiSE9NRSIsImVtYWlsIjpudWxsLCJhdmF0YXIiOm51bGwsImdsb2JlUm9sZU5hbWUiOm51bGwsImNsaWVudFR5cGUiOjAsIm11c3RDaGFuZ2VQd2QiOmZhbHNlLCJleHAiOjE3Mjg4MDcyMDV9.J0oiH0hzYv72X65DZEOoAxDV6PsNuUuyKhNYkdlaD90",
    "expireInSeconds": 86400
    },
    "success": true,
    "msg": null
    }