Artículos de ayuda

Cómo usar Insomnia

TI proporciona todas nuestras interfaces de programación de aplicaciones (API) como documentos OpenAPI que pueden importarse a herramientas como Insomnia. Insomnia se puede descargar gratis en https://insomnia.rest/.   

Pasos:

  1. Abra Insomnia
  2. Crear un nuevo proyecto
  3. Haga clic en crear > Solicitar colección

 

 4. Importe el archivo OpenAPI de TI.

 5. Vaya a Administrar entornos.

  • Asegúrese de que el entorno base contenga la siguiente variable:
    • {
                                  "base_url": "{{ scheme }}://{{ host }}{{ base_path }}"
                                  }

 6. Después de actualizar el entorno base, seleccione el entorno transact.ti.com.

 7. Actualice "oauth2ClientId" con su clave de API de TI store y "oauth2ClientSecret" con su palabra secreta de API de TI store.


Cómo utilizar fragmentos de código

Los fragmentos de código que se pueden utilizar en la implementación se pueden generar en muchos idiomas diferentes para las API de TI usando las especificaciones de OpenAPI integradas en la documentación del portal de API de TI o con la herramienta Insomnia. 

Pasos:

  1. Vaya al portal de la API de TI.
  2. Vaya a la página de la API deseada.
  3. Expanda uno de los métodos.
  4. Seleccione "Try it out” (Prueba).
  5. Seleccione "Execute” (Ejecutar).
  6. Se abrirá una página de pestañas de fragmentos de código.

 

En Insomnia:
 

  1. Después de importar la colección en Insomnia, seleccione el método y haga clic en la flecha hacia abajo.
  2. Seleccione "Generate Code&" (Generar código).

 

Ejemplo de 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