@@ 229-254 (lines=26) @@ | ||
226 | * |
|
227 | * @return SMSAResponse |
|
228 | */ |
|
229 | public function status($awb): SMSAResponse |
|
230 | { |
|
231 | $result = $this->service->getStatus( |
|
232 | $payload = new GetStatus($awb, $this->passKey) |
|
233 | ); |
|
234 | ||
235 | if (false === $result) { |
|
236 | return $this->failedRequest('GetStatus', $payload); |
|
237 | } |
|
238 | ||
239 | $status = $result->getGetStatusResult(); |
|
240 | ||
241 | if (empty($status) || is_null($status)) { |
|
242 | return $this->failedResponse('GetStatus', $payload, 'No status, shipment was not found'); |
|
243 | } |
|
244 | ||
245 | if (0 === strpos(mb_strtolower($status), 'failed')) { |
|
246 | return $this->failedResponse('GetStatus', $payload, $status); |
|
247 | } |
|
248 | ||
249 | return $this->successResponse( |
|
250 | 'GetStatus', |
|
251 | $payload, |
|
252 | $status |
|
253 | ); |
|
254 | } |
|
255 | ||
256 | /** |
|
257 | * Cancel a shipment by AWB |
|
@@ 267-292 (lines=26) @@ | ||
264 | * |
|
265 | * @return SMSAResponse |
|
266 | */ |
|
267 | public function cancel($awb, $reason): SMSAResponse |
|
268 | { |
|
269 | $result = $this->service->cancelShipment( |
|
270 | $payload = new CancelShipment($awb, $this->passKey, $reason) |
|
271 | ); |
|
272 | ||
273 | if (false === $result) { |
|
274 | return $this->failedRequest('CancelShipment', $payload); |
|
275 | } |
|
276 | ||
277 | $data = $result->getCancelShipmentResult(); |
|
278 | ||
279 | if (empty($data) || is_null($data)) { |
|
280 | return $this->failedResponse('CancelShipment', $payload, 'Cannot Cancel, shipment was not found'); |
|
281 | } |
|
282 | ||
283 | if (0 === strpos(mb_strtolower($data), 'failed')) { |
|
284 | return $this->failedResponse('CancelShipment', $payload, $data); |
|
285 | } |
|
286 | ||
287 | return $this->successResponse( |
|
288 | 'CancelShipment', |
|
289 | $payload, |
|
290 | $data |
|
291 | ); |
|
292 | } |
|
293 | ||
294 | /** |
|
295 | * Create a new shipment |