Square API对象创建

问题描述 投票:0回答:1

我正在使用Square 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;
}

我想设置一个created_at的开始和结束日期,但我不知道如何创建'一个对象,该对象包含请求的POST字段。谁能帮帮我?

php square-connect
1个回答
0
投票

Square PHP SDK documentation,您需要设置查询和查询过滤器。您可以执行以下操作(经过测试并作为一个小片段运行):

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.