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/.
Schritte:
- Insomnia öffnen
- Ein neues Projekt erstellen
- Auf „Create > Request Collection“ klicken
4. Importieren Sie die TI OpenAPI-Datei.
5. Gehen Sie zu „Umgebungen verwalten“.
- Stellen Sie sicher, dass Ihre Basisumgebung die folgende Variable enthält:
- {
"base_url": "{{ scheme }}://{{ host }}{{ base_path }}"
}
- {
6. Wählen Sie nach dem Aktualisieren der Basisumgebung die transact.ti.com-Umgebung aus.
7. Aktualisieren Sie "oauth2ClientId" mit Ihrem TI Store API-Schlüssel und "oauth2ClientSecret" mit Ihrem TI Store API-Geheimnis.
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.
Schritte:
- Rufen Sie das API-Portal von TI auf.
- Rufen Sie die gewünschte API-Seite auf.
- Erweitern Sie eine der Methoden.
- Wählen Sie "Try it out“.
- Wählen Sie "Execute“.
- 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 Abwärtspfeil.
- Wählen Sie "Generate Code".
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