Skip to content

Commit c01ffd8

Browse files
authored
Merge pull request #369 from EasyPost/SHPE-483_batch_trackers
feat: add retrieveBatch tracker function
2 parents 703efcd + f05abaa commit c01ffd8

File tree

4 files changed

+194
-0
lines changed

4 files changed

+194
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Next Release
44

55
- Adds support for `UspsShipAccount`
6+
- Adds `tracker.retrieveBatch` function
67

78
## v8.2.0 (2025-06-18)
89

lib/EasyPost/Service/TrackerService.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,17 @@ public function create(mixed $params = null): mixed
6565

6666
return self::createResource(self::serviceModelClassName(self::class), $params);
6767
}
68+
69+
/**
70+
* Retrieve a batch of trackers.
71+
*
72+
* @param mixed $params
73+
* @return mixed
74+
*/
75+
public function retrieveBatch(mixed $params = null): mixed
76+
{
77+
$response = Requestor::request($this->client, 'post', '/trackers/batch', $params);
78+
79+
return InternalUtil::convertToEasyPostObject($this->client, $response);
80+
}
6881
}

test/EasyPost/TrackerTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,22 @@ public function testGetNextPage(): void
120120
throw $error;
121121
}
122122
}
123+
124+
/**
125+
* Test creating a Tracker.
126+
*/
127+
public function testRetrieveBatch(): void
128+
{
129+
TestUtil::setupCassette('trackers/retrieveBatch.yml');
130+
131+
$tracker = self::$client->tracker->create([
132+
'tracking_code' => 'EZ1000000001',
133+
]);
134+
135+
$trackers = self::$client->tracker->retrieveBatch([
136+
'tracking_codes' => [$tracker->tracking_code]
137+
]);
138+
139+
$this->assertContainsOnlyInstancesOf(Tracker::class, $trackers['trackers']);
140+
}
123141
}

test/cassettes/trackers/retrieveBatch.yml

Lines changed: 162 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)