幫助文章
如何使用 Insomnia
TI 以 OpenAPI 文檔的形式提供我們的所有 API,這些文檔可以導(dǎo)入 Insomnia 等工具中??梢栽?https://insomnia.rest/ 上免費下載 Insomnia。
- 打開 Insomnia
- 創(chuàng)建新的工程
- 點擊“Create”>“Request collection”
- 導(dǎo)入 TI OpenAPI 文件
- 轉(zhuǎn)至“Mange environments”
- 確保您的基本環(huán)境包含以下變量。
????????????????????????????{
????????????????????????????"base_url": "{{ scheme }}://{{ host }}{{ base_path }}"
????????????????????????????}
- 更新基本環(huán)境后,選擇 transact.ti.com 環(huán)境。
- 使用您的 TI store API 密鑰更新 oauth2ClientId,并使用您的 TI store API 密鑰更新 oauth2ClientSecret。
如何使用代碼片段
使用 TI API 門戶文檔中嵌入的 OpenAPI 規(guī)范或使用 Insomnia 工具,可以用多種不同的語言為 TI API 生成可在您的實現(xiàn)中使用的代碼片段。
在 TI API 門戶中:
- 轉(zhuǎn)到所需的 API 頁面。
- 展開其中一個方法。
- 點擊“試用”。
- 點擊“執(zhí)行”。
- 此時將打開代碼片段的選項卡頁面。
在 Insomnia 中:
?
- 將集合導(dǎo)入 Insomnia 后,選擇該方法,然后點擊右側(cè)的向下箭頭。
- 選擇“生成代碼”。
?
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