Php 如何使用SquareAPI从Order对象获取一个工作日内售出的商品数据并将其插入MySQL数据库
所以现在我正试图从Square的订单API中获取每天销售的不同商品。但是,我不知道如何将售出商品的名称、商品的catalog_id和售出数量放入三个不同的数组中,以便将其插入MySQL数据库。我已将我的accessToken和locationId替换为“XXXX”Php 如何使用SquareAPI从Order对象获取一个工作日内售出的商品数据并将其插入MySQL数据库,php,html,mysql,square-connect,square,Php,Html,Mysql,Square Connect,Square,所以现在我正试图从Square的订单API中获取每天销售的不同商品。但是,我不知道如何将售出商品的名称、商品的catalog_id和售出数量放入三个不同的数组中,以便将其插入MySQL数据库。我已将我的accessToken和locationId替换为“XXXX” <?php require_once(__DIR__ . '/vendor/autoload.php'); use Square\SquareClient; use Square\Exceptions\ApiException
<?php
require_once(__DIR__ . '/vendor/autoload.php');
use Square\SquareClient;
use Square\Exceptions\ApiException;
use Square\Http\ApiResponse;
use Square\Models\ListLocationsResponse;
use Square\Environment;
use Square\Orders;
$client = new SquareClient([
'accessToken' => 'XXXX',
'environment' => Environment::PRODUCTION,
]);
SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken('XXXX');
$body = new Square\Models\SearchOrdersRequest;
$ordersApi = $client->getOrdersApi();
$apiResponse = $ordersApi->searchOrders($body);
$location_ids = ['XXXX'];
$created_at = new \Square\Models\TimeRange();
$created_at->setStartAt('2021-04-10T00:00:00+08:00');
$created_at->setEndAt('2021-04-10T23:59:59+08:00');
$date_time_filter = new \Square\Models\SearchOrdersDateTimeFilter();
$date_time_filter->setCreatedAt($created_at);
$filter = new \Square\Models\SearchOrdersFilter();
$filter->setDateTimeFilter($date_time_filter);
$sort = new \Square\Models\SearchOrdersSort('CREATED_AT');
$sort->setSortOrder('DESC');
$query = new \Square\Models\SearchOrdersQuery();
$query->setFilter($filter);
$query->setSort($sort);
$body = new \Square\Models\SearchOrdersRequest();
$body->setLocationIds($location_ids);
$body->setQuery($query);
$body->setLimit(500);
$body->setReturnEntries(false);
$api_response = $client->getOrdersApi()->searchOrders($body);
if ($api_response->isSuccess()) {
$result = $api_response->getResult();
//print_r($result);
var_export($result);
} else {
$errors = $api_response->getErrors();
}
?>
这是上述代码的输出:
Square\Models\SearchOrdersResponse::\uuu set\u状态(数组('orderEntries'=>NULL,'orders'=>array(0=>Square\Models\Order:::\uu set\u状态(数组('id'=>'rOWGPV4K7Zoctgv1qRNPcH5eV','locationId'=>XXXX','referenceId'=>NULL,'source'=>NULL,'customerId'=>NULL,'lineItems'=>NULL,'lineItems'=>array(0=>Square=>Square\Models\orderlineitems\OrderLineItem::)状态(“uid”=>“0bb50124-0732-4382-9733-40dea49ae8b5”,“name”=>“Rojak$3.50罗惹', 'quantity'=>'2',quantityUnit'=>NULL',note'=>NULL',catalogObjectId'=>'LHXXXX4VXLMQ3SHRUBWN32QA',variationName'=>'Regular',metadata'=>NULL',modifiers'=>NULL',AppliedTaxents'=>NULL',basePriceMoney'=>Square\Models\Money::\uu设置状态(数组('amount=>350,'currency'=>SGD')),“variationTotalPriceMoney”=>Square\Models\Money::(数组('amount'=>700,'currency'=>SGD',),'GrossalesMoney'=>Square\Models\Money::(数组('amount'=>700,'currency'=>SGD',),'totalTaxMoney'=>Square\Models\Money::(数组('amount'=>0,'currency'=>SGD',)),'totalDiscountMoney'=>Square\Models\Money::\u设置状态(数组('amount'=>0,'currency'=>SGD',),'totalMoney'=>Square\Models\Money::\u设置状态(数组('amount'=>700,'currency'=>SGD',),'pricingBlocklists'=>NULL,),),'taxes'=>NULL,'deployments'=>NULL,'servicecoffices'=>NULL,'fulfillments'=>NULL,'returnAmounts'=>Square\Models\OrderMoneyAmounts:::u集_u状态(数组('amount'=>0,'currency'=>SGD',),'taxMoney'=>Square\Models\Money:u集_u状态(数组('amount'=>0,'currency'=>SGD',),'discountMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),'tipMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),'serviceChargeMoney'=>Square\Models::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),“netAmounts”=>Square\Models\OrderMoneyAmounts:::\uu设置状态(数组('totalMoney'=>Square\Models\Money::):\uu设置状态(数组('amount'=>700,'currency'=>SGD',),'taxMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),'discountMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),'tipMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),'serviceChargeMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),),),),),'roundingAdjustment'=>NULL,'tenders'=>数组(0=>Square\Models\Tender::\uu设置状态(数组('('id'=>'9S81AplaU3qfu65tljyTvqiNvaB','locationId'=>'XXXX','transactionId'=>'rOWGPV4K7Zoctgv1qRNPcH5eV','createdAt'=>'2021-04-10T10:43:42Z','note'=>NULL','amountMoney'=>Square\Models\Money:::\uu集状态(数组('amount=>700','currency'=>SGD','SGD',),),'tipMoney'=>NULL','processingmoney'=>Square\Models\Money:\uu集状态数组('amount'=>0,'currency'=>SGD',),'customerId'=>NULL,'type'=>CASH','cardDetails'=>NULL,'cashDetails'=>Square\Models\TenderCashDetails:::\uuuuuu集状态(数组('amount'=>800,'currency'=>SGD',),'changeBackMoney'=>Square\Models\Money::\uuu集状态(数组('amount'=>100,'currency'=>SGD',),),),,'additionalRecipients'=>NULL,'paymentId'=>NULL,),),“退款”=>NULL,“元数据”=>NULL,“创建数据”=>“2021-04-10T10:43:42Z”,“更新数据”=>“2021-04-10T10:43:42Z”,“关闭数据”=>“2021-04-10T10:43:42Z”,“状态”=>“已完成”,“版本”=>NULL,“totalMoney”=>Square\Models\Money::\uu集状态(数组('amount'=>700,'currency'=>'SGD'),),'totalMoney'=>Square\Models:\uu集状态(数组('amount'=>0,'currency'=>'SGD',),'totalDiscountMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>Square\Models\Money:),'totalServiceChargeMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>Square'),),'totalServiceChargeMoney'=>Square\Models\Money:\uu设置状态(数组)('amount'=>0,'currency'=>SGD',),'pricingOptions'=>NULL,'rewards'=>NULL,),)“光标”他们的意思是,他们的意思是“QYBS4K60vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxnzmnwufximzeWAGB6IKVRAQPJ4YMU4LYMLVJ6NMITEY9HJ1YJKLKXOLYKIVSIVAFYG7QDC3M,“错误”=>NULL,)
<html>
<?php
require_once(__DIR__ . '/vendor/autoload.php');
use Square\SquareClient;
use Square\Exceptions\ApiException;
use Square\Http\ApiResponse;
use Square\Models\ListLocationsResponse;
use Square\Environment;
use Square\Orders;
$client = new SquareClient([
'accessToken' => 'XXXX',
'environment' => Environment::PRODUCTION,
]);
SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken('XXXX');
$location_ids = ['XXXX'];
$created_at = new \Square\Models\TimeRange();
$created_at->setStartAt('2021-04-14T00:00:00+08:00');
$created_at->setEndAt('2021-04-14T23:59:59+08:00');
$date_time_filter = new \Square\Models\SearchOrdersDateTimeFilter();
$date_time_filter->setCreatedAt($created_at);
$filter = new \Square\Models\SearchOrdersFilter();
$filter->setDateTimeFilter($date_time_filter);
$sort = new \Square\Models\SearchOrdersSort('CREATED_AT');
$sort->setSortOrder('DESC');
$query = new \Square\Models\SearchOrdersQuery();
$query->setFilter($filter);
$query->setSort($sort);
$body = new \Square\Models\SearchOrdersRequest();
$body->setLocationIds($location_ids);
$body->setQuery($query);
$body->setLimit(500);
$body->setReturnEntries(false);
$api_response = $client->getOrdersApi()->searchOrders($body);
if ($api_response->isSuccess()) {
$result = $api_response->getResult();
$orders = $result->getOrders();
//INSERT INTO DB
//include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$myConnection= new DB_CONNECT();
$myConnection->connect();
$sql="INSERT INTO sale_item(order_id, item_name, item_quantity) VALUES";
foreach($orders as $x => $val) {
$lineItems = $result->getOrders()[$x]->getLineItems();
$orderid = $result->getOrders()[$x]->getId();
foreach($lineItems as $q => $val2){
//$lineItemsID = $lineItems[$q]->getUid();
$itemName = $lineItems[$q]->getName();
$itemQty = $lineItems[$q]->getQuantity();
$sql .="('".$orderid."', '".$itemName."', '".$itemQty."'),";
}
}
$sql= rtrim( $sql, ',');
$result =mysqli_query($myConnection->myconn, "$sql");
// check if row inserted or not
if ($result) {
// successfully inserted into database
echo "Product successfully created.";
}
else {
// failed to insert row
echo "Oops! An error occurred.";
}
} else {
$errors = $api_response->getErrors();
}
?>
</html>