ヘルプの記事
Insomnia の使用方法
TI はすべての API を OpenAPI 資料として提供しており、Insomnia などのツールにこれらをインポートすることができます。Insomnia は、https://insomnia.rest/ から無償でダウンロードできます。
ステップ:
- Insomnia を開く
- 新しいプロジェクトの作成
- 「作成」(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 が対応しているさまざまな開発言語で、コード スニペットを生成することができます。これらのコード スニペットは、貴社の実装で使用できます。
ステップ:
- TI の API ポータルに移動します。
- 希望の API ページに移動します。
- どれか 1 つのメソッド (関数) を展開します。
- 「試行」(Try it out) を選択します。
- 「実行」(Execute) を選択します。
- コード スニペットを示すタブ ページが開きます。
Insomnia を使用する方法:
- コレクションを Insomnia にインポートした後、メソッド (関数) を選択し、下向き矢印をクリックします。
- 「コードの生成」(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