ヘルプの記事
Insomnia の使用方法
TI はすべての API を OpenAPI 資料として提供しており、Insomnia などのツールにこれらをインポートすることができます。Insomnia は、https://insomnia.rest/ から無償でダウンロードできます。
- Insomnia を開きます
- 新しいプロジェクトの作成
- 「CREATE」 (作成) > 「Request collection」 (コレクションを要求) をクリックします
- 「TI OpenAPI」ファイルをインポートします
- 「Mange environments」 (環境を管理) に移動します
- あなたの基本環境で以下の環境変数が定義済みであることを確認します。
{
"base_url": "{{ scheme }}://{{ host }}{{ base_path }}"
}
- ベース環境を更新した後、「transact.ti.com」環境を選択します。
- 「oauth2ClientId」 (oAuth からクライアント ID へ) に対して TI store API キーを上書きし、「oauth2ClientSecret」 (oAuth からクライアント シークレットへ) に対して TI store API シークレットを上書きする形で、これらを更新します。
コード スニペットの使用方法
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