Current path: home/webdevt/www/demo2/wp-content/plugins/wpforms-lite/vendor_prefixed/square/square/src/Apis/
?? Go up: /home/webdevt/www/demo2/wp-content/plugins/wpforms-lite/vendor_prefixed/square/square/src
<?php
declare (strict_types=1);
namespace WPForms\Vendor\Square\Apis;
use WPForms\Vendor\Core\Request\Parameters\BodyParam;
use WPForms\Vendor\Core\Request\Parameters\HeaderParam;
use WPForms\Vendor\Core\Request\Parameters\QueryParam;
use WPForms\Vendor\Core\Request\Parameters\TemplateParam;
use WPForms\Vendor\CoreInterfaces\Core\Request\RequestMethod;
use WPForms\Vendor\Square\Http\ApiResponse;
use WPForms\Vendor\Square\Models\CreateDeviceCodeRequest;
use WPForms\Vendor\Square\Models\CreateDeviceCodeResponse;
use WPForms\Vendor\Square\Models\GetDeviceCodeResponse;
use WPForms\Vendor\Square\Models\GetDeviceResponse;
use WPForms\Vendor\Square\Models\ListDeviceCodesResponse;
use WPForms\Vendor\Square\Models\ListDevicesResponse;
class DevicesApi extends BaseApi
{
/**
* List devices associated with the merchant. Currently, only Terminal API
* devices are supported.
*
* @param string|null $cursor A pagination cursor returned by a previous call to this endpoint.
* Provide this cursor to retrieve the next set of results for the original query.
* See [Pagination](https://developer.squareup.com/docs/build-basics/common-api-
* patterns/pagination) for more information.
* @param string|null $sortOrder The order in which results are listed. - `ASC` - Oldest to
* newest.
* - `DESC` - Newest to oldest (default).
* @param int|null $limit The number of results to return in a single page.
* @param string|null $locationId If present, only returns devices at the target location.
*
* @return ApiResponse Response from the API call
*/
public function listDevices(?string $cursor = null, ?string $sortOrder = null, ?int $limit = null, ?string $locationId = null) : ApiResponse
{
$_reqBuilder = $this->requestBuilder(RequestMethod::GET, '/v2/devices')->auth('global')->parameters(QueryParam::init('cursor', $cursor), QueryParam::init('sort_order', $sortOrder), QueryParam::init('limit', $limit), QueryParam::init('location_id', $locationId));
$_resHandler = $this->responseHandler()->type(ListDevicesResponse::class)->returnApiResponse();
return $this->execute($_reqBuilder, $_resHandler);
}
/**
* Lists all DeviceCodes associated with the merchant.
*
* @param string|null $cursor A pagination cursor returned by a previous call to this endpoint.
* Provide this to retrieve the next set of results for your original query.
*
* See [Paginating results](https://developer.squareup.com/docs/working-with-
* apis/pagination) for more information.
* @param string|null $locationId If specified, only returns DeviceCodes of the specified
* location.
* Returns DeviceCodes of all locations if empty.
* @param string|null $productType If specified, only returns DeviceCodes targeting the
* specified product type.
* Returns DeviceCodes of all product types if empty.
* @param string|null $status If specified, returns DeviceCodes with the specified statuses.
* Returns DeviceCodes of status `PAIRED` and `UNPAIRED` if empty.
*
* @return ApiResponse Response from the API call
*/
public function listDeviceCodes(?string $cursor = null, ?string $locationId = null, ?string $productType = null, ?string $status = null) : ApiResponse
{
$_reqBuilder = $this->requestBuilder(RequestMethod::GET, '/v2/devices/codes')->auth('global')->parameters(QueryParam::init('cursor', $cursor), QueryParam::init('location_id', $locationId), QueryParam::init('product_type', $productType), QueryParam::init('status', $status));
$_resHandler = $this->responseHandler()->type(ListDeviceCodesResponse::class)->returnApiResponse();
return $this->execute($_reqBuilder, $_resHandler);
}
/**
* Creates a DeviceCode that can be used to login to a Square Terminal device to enter the connected
* terminal mode.
*
* @param CreateDeviceCodeRequest $body An object containing the fields to POST for the request.
* See the corresponding object definition for field details.
*
* @return ApiResponse Response from the API call
*/
public function createDeviceCode(CreateDeviceCodeRequest $body) : ApiResponse
{
$_reqBuilder = $this->requestBuilder(RequestMethod::POST, '/v2/devices/codes')->auth('global')->parameters(HeaderParam::init('Content-Type', 'application/json'), BodyParam::init($body));
$_resHandler = $this->responseHandler()->type(CreateDeviceCodeResponse::class)->returnApiResponse();
return $this->execute($_reqBuilder, $_resHandler);
}
/**
* Retrieves DeviceCode with the associated ID.
*
* @param string $id The unique identifier for the device code.
*
* @return ApiResponse Response from the API call
*/
public function getDeviceCode(string $id) : ApiResponse
{
$_reqBuilder = $this->requestBuilder(RequestMethod::GET, '/v2/devices/codes/{id}')->auth('global')->parameters(TemplateParam::init('id', $id));
$_resHandler = $this->responseHandler()->type(GetDeviceCodeResponse::class)->returnApiResponse();
return $this->execute($_reqBuilder, $_resHandler);
}
/**
* Retrieves Device with the associated `device_id`.
*
* @param string $deviceId The unique ID for the desired `Device`.
*
* @return ApiResponse Response from the API call
*/
public function getDevice(string $deviceId) : ApiResponse
{
$_reqBuilder = $this->requestBuilder(RequestMethod::GET, '/v2/devices/{device_id}')->auth('global')->parameters(TemplateParam::init('device_id', $deviceId));
$_resHandler = $this->responseHandler()->type(GetDeviceResponse::class)->returnApiResponse();
return $this->execute($_reqBuilder, $_resHandler);
}
}