View All Docs
Product overview
Account overview
Integrations
Transforms
Security
Hide Navigation
Product overview
Account overview
Integrations
Transforms
Security

Enrich tracking from UPS

The UPS API is used by businesses and developers to integrate UPS’s shipping, tracking, and logistics services into their platforms and workflows.

UPS is a beta integration which requires a slightly more involved setup process than our native integrations. Following the guidance in this document should help even those without technical experience pull data from UPS. If you run into any questions, shoot our team an email at support@parabola.io.

Use Cases

Use Case Description
Real-Time Delivery Tracking Integrate real-time tracking updates into your applications or websites, allowing businesses to monitor the status of their shipments.
Shipping Rate Calculation Calculate shipping costs for domestic and international shipments in real-time and provide accurate shipping costs to customers at checkout.
Transit Time Calculation Calculate estimated delivery times for packages based on UPS’s delivery schedules and provide customers accurate delivery windows during checkout.
Label Creation Generate shipping labels directly from your systems, making it easy to streamline the shipping process without manually entering data into UPS’s website.

🤝  UPS | Integration configuration

📖  UPS API Reference:

https://developer.ups.com/catalog?loc=en_US

🔐  UPS Authentication Documentation:

https://developer.ups.com/api/reference?loc=en_US#tag/OAuth-Auth-Code

Instructions

1. Navigate to the UPS Developer Portal.

2. Click Login to access your UPS account.

3. Click Create Application to make a new application and generate your credentials.

⚠️ Note: This application will be linked to your shipper accounts(s) and email address associated with your UPS.com ID

4. Select your use case, shipper account, and accept the agreement.

5. Enter your contact information.

💡 Tip: Consider using a group inbox that is accessible to others on your development team. You are unable to change this email once the credentials are created or you will lose access to your application.

6. Define your application details that includes the name, associated billing account number, and custom products.

⚠️ Note: In the Callback URL field, add the following URL: https://parabola.io/api/steps/generic_api/callback

7. Once saved, your Client ID and Client Secret are generated.

💡 Tip: Click Add Products to enable additional products like the Tracking and Time in Transit APIs if they have not been added to your application.

8. Configure an OAuth 2.0 request to the OAuth Code endpoint in Parabola.

🔐  Parabola | Authentication configuration

1. Add an Enrich tracking from UPS step template to your canvas.

2. Click into the Enrich with API: UPS Tracking step to configure your authentication.

3. Under the Authentication Type, select OAuth 2.0 before selecting Configure Auth.

4. Toggle on Switch to custom settings.

5. Enter your credentials to make a request to the OAuth Code endpoint using the format below:

Auth Name

Give your authorization account an identifiable name.

Authorization Request URL (GET)

Test URL

https://wwwcie.ups.com/security/v1/oauth/authorize

Production URL

https://onlinetools.ups.com/security/v1/oauth/authorize

URL Parameters

Key Value
client_id <Your Client ID>
redirect_uri https://parabola.io/api/steps/generic_api/callback
response_type code

Access Token Request URL (POST)

Test URL

https://wwwcie.ups.com/security/v1/oauth/token

Production URL

https://onlinetools.ups.com/security/v1/oauth/token

Body Parameters

Header Key Header Value
grant_type authorization_code
redirect_uri https://parabola.io/api/steps/generic_api/callback

Request Headers

Header Key Header Value
Authorization Basic <Base-64 Encoded Client ID:Client Secret>
Content-Type application/x-www-form-urlencoded

💡 Tip: You can configure an Authorization Header Value using a base-64 encoder. Encode your Client ID and Client Secret separated by a colon: Client ID:Client Secret.

In Parabola, use the Header Value field to type Basic  , followed by a space, and paste in your encoded credentials: Basic {encoded credentials here}.

Refresh Token Request URL (POST)

Test URL

https://wwwcie.ups.com/security/v1/oauth/refresh

Production URL

https://onlinetools.ups.com/security/v1/oauth/refresh

Body Parameters

Header Key Header Value
grant_type refresh_token

Request Headers

Header Key Header Value
Authorization Basic <Base-64 Encoded Client ID:Client Secret>
Content-Type application/x-www-form-urlencoded

6. Click Apply custom Oauth 2 settings and a new window will appear.

7. Enter your email address, authorize Parabola to access the data, and click Continue to complete the authorization process.

Example Screenshot

🌐  UPS | Sample API Requests

Track UPS shipment statuses by tracking number

Get started with this template.

1. Add a Use sample data step to your Flow. You can also import a dataset with tracking numbers into your Flow (Pull from Excel File, Pull from Google Drive, Pull from API, etc.)

💡 Tip: When using your own data, use the Edit columns step to rename the tracking column in your source data to Tracking Number.

2. Connect it to an Enrich with API: UPS Tracking step.

3. Under Authentication Type, ensure OAuth 2.0 is selected to use your authentication credentials.

4. Click into the Request Settings to configure your request using the format below:

API Endpoint URL

Field Value
Method GET
API Endpoint URL https://onlinetools.ups.com/api/track/v1/details/{inquiryNumber}

Request Headers

Key Value
TransId 1
TransactionSrc testing

6. Click Refresh data to display the results.

Example Screenshot

Related Recipes