PluginProbe
PostNL for WooCommerce / 5.9.12
PostNL for WooCommerce v5.9.12
5.9.12 5.9.11 5.9.10 5.9.9 5.9.8 5.9.7 5.9.6 trunk 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 3.1.4 3.1.5 3.1.6 3.1.7 4.0.0 4.0.1 4.0.2 4.3.2 4.3.3 4.4.0 4.4.1 All 72 releases
woo-postnl / src / Rest_API / Legacy / Postcode_Check / Client.php

Client.php in PostNL for WooCommerce 5.9.12, at src/Rest_API/Legacy/Postcode_Check/Client.php

57 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Class Rest_API\Postcode_Check\Client file.
4 *
5 * @package PostNLWooCommerce\Rest_API\Legacy\Postcode_Check
6 */
7
8 namespace PostNLWooCommerce\Rest_API\Legacy\Postcode_Check;
9
10 use PostNLWooCommerce\Rest_API\Base;
11 use PostNLWooCommerce\Rest_API\Contracts\Postcode_Check_Service_Interface;
12
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Class Client
19 *
20 * @package PostNLWooCommerce\Rest_API\Legacy\Postcode_Check
21 */
22 class Client extends Base implements Postcode_Check_Service_Interface {
23 /**
24 * API Endpoint.
25 *
26 * @var string
27 */
28 public $endpoint = '/shipment/checkout/v1/postalcodecheck';
29
30 /**
31 * Function for composing API request.
32 */
33 public function compose_body_request() {
34 return array(
35 'postalcode' => $this->item_info->receiver['postcode'],
36 'housenumber' => $this->item_info->receiver['house_number'],
37 'housenumberaddition' => $this->item_info->receiver['address_2'],
38 );
39 }
40
41 /**
42 * Check the given postcode data.
43 *
44 * @param array $post_data Post data for postcode check.
45 *
46 * @return array
47 */
48 public function check( array $post_data ): array {
49 $item_info = new Item_Info( $post_data );
50 $client = new self( $item_info );
51
52 // send_request() can return null on an empty/non-JSON 200; normalize to honor the array return type.
53 $response = $client->send_request();
54 return is_array( $response ) ? $response : array();
55 }
56 }
57