Skip to content

Commit 2e0875e

Browse files
authored
UPS - new-tracking-event source (#19124)
* new-tracking-event source * update baseUrl for production
1 parent 3449ed2 commit 2e0875e

File tree

8 files changed

+106
-5
lines changed

8 files changed

+106
-5
lines changed

components/ups/actions/create-shipment/create-shipment.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default {
55
key: "ups-create-shipment",
66
name: "Create Shipment",
77
description: "Create a new shipment. [See the documentation](https://developer.ups.com/tag/Shipping?loc=en_US#operation/Shipment)",
8-
version: "0.0.1",
8+
version: "0.0.2",
99
type: "action",
1010
annotations: {
1111
destructiveHint: false,

components/ups/actions/get-tracking-info/get-tracking-info.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default {
44
key: "ups-get-tracking-info",
55
name: "Get Tracking Info",
66
description: "Get tracking information for a UPS tracking number. [See the documentation](https://developer.ups.com/tag/Tracking?loc=en_US#operation/getSingleTrackResponseUsingGET)",
7-
version: "0.0.1",
7+
version: "0.0.2",
88
type: "action",
99
annotations: {
1010
destructiveHint: false,

components/ups/actions/recover-label/recover-label.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default {
44
key: "ups-recover-label",
55
name: "Recover Label",
66
description: "Recover a label. [See the documentation](https://developer.ups.com/tag/Shipping?loc=en_US#operation/LabelRecovery)",
7-
version: "0.0.1",
7+
version: "0.0.2",
88
type: "action",
99
annotations: {
1010
destructiveHint: false,

components/ups/actions/void-shipment/void-shipment.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default {
44
key: "ups-void-shipment",
55
name: "Void Shipment",
66
description: "Void a shipment. [See the documentation](https://developer.ups.com/tag/Shipping?loc=en_US#operation/VoidShipment)",
7-
version: "0.0.1",
7+
version: "0.0.2",
88
type: "action",
99
annotations: {
1010
destructiveHint: true,

components/ups/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pipedream/ups",
3-
"version": "0.1.1",
3+
"version": "0.2.0",
44
"description": "Pipedream UPS Components",
55
"main": "ups.app.mjs",
66
"keywords": [
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import ups from "../../ups.app.mjs";
2+
import sampleEmit from "./test-event.mjs";
3+
4+
export default {
5+
key: "ups-new-tracking-event",
6+
name: "New Tracking Event (Instant)",
7+
description: "Emit new event when new tracking activity is detected. [See the documentation](https://developer.ups.com/tag/UPS-Track-Alert?loc=en_US#operation/processSubscriptionTypeForTrackingNumber)",
8+
version: "0.0.1",
9+
type: "source",
10+
dedupe: "unique",
11+
props: {
12+
ups,
13+
http: {
14+
type: "$.interface.http",
15+
customResponse: true,
16+
},
17+
trackingNumbers: {
18+
type: "string[]",
19+
label: "Tracking Numbers",
20+
description: "The tracking numbers of the shipments to track",
21+
},
22+
},
23+
hooks: {
24+
async activate() {
25+
const response = await this.ups.createSubscription({
26+
data: {
27+
locale: "en_US",
28+
trackingNumberList: this.trackingNumbers,
29+
destination: {
30+
url: this.http.endpoint,
31+
credentialType: "N/A",
32+
credential: "N/A",
33+
},
34+
},
35+
});
36+
37+
if (response?.validTrackingNumbers?.length) {
38+
console.log(`Valid tracking numbers: ${response.validTrackingNumbers.join(", ")}`);
39+
} else {
40+
console.log("No valid tracking numbers");
41+
}
42+
43+
if (response?.invalidTrackingNumbers?.length) {
44+
console.log(`Invalid tracking numbers: ${response.invalidTrackingNumbers.join(", ")}`);
45+
}
46+
},
47+
},
48+
methods: {
49+
generateMeta(event) {
50+
return {
51+
id: `${event.trackingNumber}${event.gmtActivityDate}${event.gmtActivityTime}`,
52+
summary: `New tracking event for ${event.trackingNumber}`,
53+
ts: Date.now(),
54+
};
55+
},
56+
},
57+
async run(event) {
58+
const { body } = event;
59+
if (!body) {
60+
return;
61+
}
62+
63+
this.http.respond({
64+
status: 200,
65+
});
66+
67+
const meta = this.generateMeta(body);
68+
this.$emit(body, meta);
69+
},
70+
sampleEmit,
71+
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
export default {
2+
"trackingNumber": "1ZCIETST0111111114",
3+
"localActivityDate": "20251118",
4+
"localActivityTime": "181553",
5+
"activityLocation": {
6+
"city": "Nottingham",
7+
"stateProvince": "MD",
8+
"postalCode": "21236",
9+
"country": "US"
10+
},
11+
"activityStatus": {
12+
"type": "D",
13+
"code": "FS",
14+
"description": "Delivered",
15+
"descriptionCode": "011"
16+
},
17+
"scheduledDeliveryDate": "",
18+
"actualDeliveryDate": "20251118",
19+
"actualDeliveryTime": "181553",
20+
"gmtActivityDate": "20251118",
21+
"gmtActivityTime": "231553"
22+
}

components/ups/ups.app.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default {
1616
methods: {
1717
_baseUrl() {
1818
return "https://onlinetools.ups.com/api";
19+
//return "https://wwwcie.ups.com/api"; // sandbox URL for testing
1920
},
2021
_makeRequest({
2122
$ = this, path, ...opts
@@ -30,6 +31,13 @@ export default {
3031
...opts,
3132
});
3233
},
34+
createSubscription(opts = {}) {
35+
return this._makeRequest({
36+
method: "POST",
37+
path: "/track/v1/subscription/standard/package",
38+
...opts,
39+
});
40+
},
3341
getTrackingInfo({
3442
trackingNumber, ...opts
3543
}) {

0 commit comments

Comments
 (0)