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:

  1. Insomnia öffnen
  2. Ein neues Projekt erstellen
  3. 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:

  1. Rufen Sie das API-Portal von TI auf.
  2. Rufen Sie die gewünschte API-Seite auf.
  3. Erweitern Sie eine der Methoden.
  4. Wählen Sie "Try it out“.
  5. Wählen Sie "Execute“.
  6. Es wird eine Registerkarte mit Code-Snippets geöffnet.

 

Über Insomnia:
 

  1. Nachdem Sie die Sammlung in Insomnia importiert haben, wählen Sie die Methode aus und klicken Sie auf den Abwärtspfeil.
  2. 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