ヘルプの記事

Insomnia の使用方法

TI はすべての API を OpenAPI 資料として提供しており、Insomnia などのツールにこれらをインポートすることができます。Insomnia は、https://insomnia.rest/ から無償でダウンロードできます。  

ステップ:

  1. Insomnia を開く
  2. 新しいプロジェクトの作成
  3. 「作成」(create) >「コレクションを要求」 (Request collection) をクリックします

 

 4.「TI OpenAPI」ファイルをインポートします。

 5.「環境を管理」 (Mange environments) に移動します。

  • 基本環境で以下の変数が定義済みであることを確認します。
    • {
                                  "base_url": "{{ scheme }}://{{ host }}{{ base_path }}"
                                  }

 6.ベース環境を更新した後、「transact.ti.com」環境を選択します。

7.TI store API キーで「oauth2ClientId」 (oAuth からクライアント ID へ) を更新し、TI store API シークレットで「oauth2ClientSecret」 (oAuth からクライアント シークレットへ) を更新します。


コード スニペットの使用方法

TI API ポータル内の資料に埋め込まれている OpenAPI 仕様を使用するか、Insomnia ツールを使用する方法で、TI API が対応しているさまざまな開発言語で、コード スニペットを生成することができます。これらのコード スニペットは、貴社の実装で使用できます。 

ステップ:

  1. TI の API ポータルに移動します。
  2. 希望の API ページに移動します。
  3. どれか 1 つのメソッド (関数) を展開します。
  4. 「試行」(Try it out) を選択します。
  5. 「実行」(Execute) を選択します。
  6. コード スニペットを示すタブ ページが開きます。

 

Insomnia を使用する方法:
 

  1. コレクションを Insomnia にインポートした後、メソッド (関数) を選択し、下向き矢印をクリックします。
  2. 「コードの生成」(Generate code) を選択します。

 

VB.Net の例

Framework 4.6.1

Imports System.Net
Imports System.IO
Imports System.Text
Imports Newtonsoft.Json.Linq


Public Class RESTAPI
    Public ClientID As String
    Public ClientSecret As String
    Private MyToken As RESTAPI.Token
    Public Function GetPricing(TiPartNumber As String) As String
        If IsNothing(MyToken) Then
            GetToken()
        Else
            If MyToken.IsValid = False Then
                GetToken()
            End If
        End If

        Return GetWithOAuth2($"https://transact.ti.com/v2/store/products/{TiPartNumber}?currency=USD&exclude-evms=true", MyToken.Token)


    End Function
    Private Sub GetToken()

        Dim URL As String = "https://transact.ti.com/v1/oauth/accesstoken"

        Dim Data As String = $"grant_type=client_credentials&client_id={ClientID }&client_secret={ClientSecret}"
        Dim request As HttpWebRequest = DirectCast(WebRequest.Create(URL), HttpWebRequest)
        request.Method = "POST"
        request.ContentType = "application/x-www-form-urlencoded"   
        Dim byteArray As Byte() = Encoding.UTF8.GetBytes(Data)
        request.ContentLength = byteArray.Length
        Dim dataStream As Stream = request.GetRequestStream()
        dataStream.Write(byteArray, 0, byteArray.Length)
        dataStream.Close()
        Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        dataStream = response.GetResponseStream()
        Dim reader As New StreamReader(dataStream)
        Dim result As String = reader.ReadToEnd()
        reader.Close()
        dataStream.Close()
        response.Close()

        Dim parsejson As JObject = JObject.Parse(result)
        MyToken = New Token With {.Time = Now,
            .Token = parsejson.SelectToken("access_token").ToString
            }

    End Sub

    Public Function GetWithOAuth2(ByVal url As String, ByVal accessToken As String) As String
        Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
        request.Method = "GET"
        request.Headers.Add("Authorization", "Bearer " + accessToken)
        Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        Dim responseStream As Stream = response.GetResponseStream()
        Dim reader As New StreamReader(responseStream)
        Dim result As String = reader.ReadToEnd()
        reader.Close()
        response.Close()
        Return result
    End Function

    Private Class Token
        Public Token As String
        Public Time As DateTime
        Public Function IsValid() As Boolean
            If DateDiff(DateInterval.Minute, Now, Time) >= 60 Then
                Return False
            Else
                Return True
            End If
        End Function
    End Class

End Class