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:
- Abra Insomnia
- Crear un nuevo proyecto
- 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:
- Vaya al portal de la API de TI.
- Vaya a la página de la API deseada.
- Expanda uno de los métodos.
- Seleccione "Try it out” (Prueba).
- Seleccione "Execute” (Ejecutar).
- Se abrirá una página de pestañas de fragmentos de código.
En Insomnia:
- Después de importar la colección en Insomnia, seleccione el método y haga clic en la flecha hacia abajo.
- 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