Создание квадратного API-объекта - PullRequest
0 голосов
/ 13 марта 2020

Я использую квадратный API для поиска своих заказов, используя следующий код:

require '../connect-php-sdk-master/autoload.php';

// Configure OAuth2 access token for authorization: oauth2
SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken('MY_AUTH_CODE');

//settings for the searchOrders
$searchOrdersSettings = ([
    'location_ids'=>['MY_LOCATION_ID']
]);


$apiInstance = new SquareConnect\Api\OrdersApi();
$body = new \SquareConnect\Model\SearchOrdersRequest($searchOrdersSettings); // \SquareConnect\Model\SearchOrdersRequest | An object containing the fields to POST for the request.  See the corresponding object definition for field details.

try {
    $result = $apiInstance->searchOrders($body);
/*  echo '<pre>';
    print_r($result);
    echo '<pre>'; */
} catch (Exception $e) {
    echo 'Exception when calling OrdersApi->searchOrders: ', $e->getMessage(), PHP_EOL;
}

Я хотел бы установить дату начала и окончания create_at, но я не знаю, как создать 'Объект, содержащий поля для POST для запроса '. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 13 марта 2020

В документации Квадрат PHP SDK вам потребуется установить запрос и фильтр запроса. Вы можете сделать что-то вроде этого (протестировано и работает как небольшой фрагмент):

require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: oauth2
SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken('ACCESS_TOKEN_HERE');
$apiInstance = new \SquareConnect\Api\OrdersApi();
$body = new \SquareConnect\Model\SearchOrdersRequest();
$body->setLocationIds(['LOCATION_ID_HERE']);

// create query for searching by date
$query = new \SquareConnect\Model\SearchOrdersQuery();
$filter = new \SquareConnect\Model\SearchOrdersFilter();
$date_time_filter = new \SquareConnect\Model\SearchOrdersDateTimeFilter();
$date_time_filter->setCreatedAt([
  "start_at" => "2020-03-01T00:00:00Z",
  "end_at" => "2020-03-13T00:00:00Z"
]);

//pass the filter and query to the request
$filter->setDateTimeFilter($date_time_filter);
$query->setFilter($filter);
$body->setQuery($query);

try {
    $result = $apiInstance->searchOrders($body);
    error_log(var_dump($result));
} catch (Exception $e) {
    echo 'Exception when calling OrdersApi->searchOrders: ', $e->getMessage(), PHP_EOL;
}
...