Hilfe-Artikel
Anwendung von Insomnia
TI stellt alle seine APIs als OpenAPI-Dokumente zur Verfügung, die in Tools wie Insomnia importiert werden können. Insomnia kann kostenlos heruntergeladen werden unter https://insomnia.rest/.
- Insomnia öffnen
- Ein neues Projekt erstellen
- Klicken Sie auf Create > Request Collection
- Importieren Sie die TI OpenAPI-Datei
- Gehen Sie zu Umgebungen verwalten
- Stellen Sie sicher, dass Ihre Basisumgebung die folgende Variable enthält.
{
"base_url": "{{ scheme }}://{{ host }}{{ base_path }}"
}
- Wählen Sie nach dem Aktualisieren der Basisumgebung die transact.ti.com-Umgebung aus.
- Aktualisieren Sie "oauth2ClientId mit Ihrem TI Store API-Schlüssel und oauth2ClientSecret mit Ihrem TI Store API-Kennwort.
Verwendung von Code-Snippets
Code-Snippets, die in Ihrer Implementierung verwendet werden können, können für TI-APIs in vielen verschiedenen Sprachen mit den in der Dokumentation des TI-API-Portals eingebetteten OpenAPI-Spezifikationen oder mit dem Tool Insomnia generiert werden.
Über das TI API-Portal:
- Rufen Sie die gewünschte API-Seite auf.
- Erweitern Sie eine der Methoden.
- Klicken Sie auf „Ausprobieren“
- Klicken Sie auf „Ausführen“
- Es wird eine Registerkarte mit Code-Snippets geöffnet.
Über Insomnia:
- Nachdem Sie die Sammlung in Insomnia importiert haben, wählen Sie die Methode aus und klicken Sie auf den Pfeil nach unten nach rechts.
- Wählen Sie „Code generieren“ aus.
VB.Net Beispiel
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