Skip to content

Instantly share code, notes, and snippets.

@timhall
Created May 16, 2018 18:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save timhall/802880a32c7c06ec5ebe0895d42afc88 to your computer and use it in GitHub Desktop.
Save timhall/802880a32c7c06ec5ebe0895d42afc88 to your computer and use it in GitHub Desktop.
Private Const API_KEY As String = "YOUR_API_KEY"
Sub CreateTracking(Carrier As String, TrackingNumber As String)
Dim Client As New WebClient
Client.BaseUrl = "https://api.aftership.com/v4"
Dim Request As New WebRequest
Request.Resource = "trackings"
Request.Method = WebMethod.HttpPost
Request.AddHeader "aftership-api-key", API_KEY
Dim Body As New Dictionary
Body("slug") = Carrier
Body("tracking_number") = TrackingNumber
Set Request.Body = Body
' Alternatively, Request.AddBodyParameter Key, Value
Dim Response As WebResponse
Set Response = Client.Execute(Request)
If Response.StatusCode <> WebStatusCode.Created Then
Debug.Print "ERROR: " & Response.Content
Else
' Success!
End If
End Sub
Function GetExpectedDelivery(Carrier As String, TrackingNumber As String) As String
Dim Client As New WebClient
Client.BaseUrl = "https://api.aftership.com/v4"
Dim Request As New WebRequest
Request.Resource = "trackings/{Slug}/{TrackingNumber}"
Request.AddUrlSegment "Slug", Carrier
Request.AddUrlSegment "TrackingNumber", TrackingNumber
Request.AddHeader "aftership-api-key", API_KEY
Dim Response As WebResponse
Set Response = Client.Execute(Request)
If Response.StatusCode = WebStatusCode.Ok Then
GetExpectedDelivery = Response.Data("data")("tracking")("expected_delivery")
Else
Debug.Print "ERROR: " & Response.Content
End If
End Function
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment