forked from d4ndo/e-porto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
e-porto.php
124 lines (112 loc) · 4.47 KB
/
e-porto.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
/*
* Copyright 2009-2014 Amazon Services. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
*
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at: http://aws.amazon.com/apache2.0
* This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*
* Copyright 2014 Daniel Dörrhöfer. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* Derived from "The Marketplace Web Service Orders PHP Library (Amazon Technologies, Inc.)
* Derived from Sample ListOrdersSample.php.
*/
require_once('.config.inc.php');
/*
* e-porto
*
* AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY constants
* are defined in the .config.inc.php located in the same
* directory.
*/
$config = array (
'ServiceURL' => $serviceUrl,
'ProxyHost' => null,
'ProxyPort' => -1,
'MaxErrorRetry' => 3,
);
$service = new MarketplaceWebServiceOrders_Client(AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
APPLICATION_NAME,
APPLICATION_VERSION,
$config);
/*
* Uncomment to try out Mock Service that simulates MarketplaceWebServiceOrders
* responses without calling MarketplaceWebServiceOrders service.
*
* Responses are loaded from local XML files. You can tweak XML files to
* experiment with various outputs during development
*
* XML files available under MarketplaceWebServiceOrders/Mock tree
*
*/
// $service = new MarketplaceWebServiceOrders_Mock();
/* Setup request parameters */
$request = new MarketplaceWebServiceOrders_Model_ListOrdersRequest();
$request->setSellerId(MERCHANT_ID);
$request->setMarketplaceId(MARKETPLACE_ID);
$now = gmdate('Y-m-d\TH:i:s\Z', time()-MAX*60*60);
$orderStatuses = array('PartiallyShipped','Unshipped');
$request->setOrderStatus($orderStatuses);
$request->setCreatedAfter($now);
invokeListOrders($service, $request);
/*
* e-porto invoke List Orders for the last MAX hours.
* Gets competitive pricing and related information for a product identified by
* the MarketplaceId and ASIN.
*
* @param MarketplaceWebServiceOrders_Interface $service instance of MarketplaceWebServiceOrders_Interface
* @param mixed $request MarketplaceWebServiceOrders_Model_ListOrders or array of parameters
*/
function invokeListOrders(MarketplaceWebServiceOrders_Interface $service, $request)
{
try {
$fp = fopen(FILENAME, "w");
$response = $service->ListOrders($request);
fwrite($fp,iconv("UTF-8", ENCODEING, "NAME;ZUSATZ;STRASSE;NUMMER;PLZ;STADT;LAND;ADRESS_TYP"));
fwrite($fp,"\r\n");
fwrite($fp,iconv("UTF-8", ENCODEING, COMPANY.";;".STREET.";".NUMBER.";".PLZ.";".CITY.";".LAND.";HOUSE"));
fwrite($fp,"\r\n");
if ($response->isSetListOrdersResult())
{
$listOrdersResult = $response->getListOrdersResult();
}
$orders = $listOrdersResult->getOrders();
foreach ($orders as $order)
{
$adr = $order->getShippingAddress();
$name = $adr->getName();
$zusatz = $adr->getAddressLine1();
$strasse = $adr->getAddressLine2();
$plz = $adr->getPostalCode();
$stadt = $adr->getCity();
$land = $adr->getCountryCode();
fwrite($fp,iconv("UTF-8", ENCODEING, $name));
fwrite($fp,";");
fwrite($fp,iconv("UTF-8", ENCODEING, $zusatz));
fwrite($fp,";");
fwrite($fp,iconv("UTF-8", ENCODEING, $strasse));
fwrite($fp,";");
fwrite($fp,";");
fwrite($fp,iconv("UTF-8", ENCODEING, $plz));
fwrite($fp,";");
fwrite($fp,iconv("UTF-8", ENCODEING, $stadt));
fwrite($fp,";");
fwrite($fp,iconv("UTF-8", ENCODEING, $land));
fwrite($fp,";");
fwrite($fp,"HOUSE");
fwrite($fp,"\r\n");
}
} catch (MarketplaceWebServiceOrders_Exception $ex) {
echo("Caught Exception: " . $ex->getMessage() . "\n");
echo("Response Status Code: " . $ex->getStatusCode() . "\n");
echo("Error Code: " . $ex->getErrorCode() . "\n");
echo("Error Type: " . $ex->getErrorType() . "\n");
echo("Request ID: " . $ex->getRequestId() . "\n");
echo("XML: " . $ex->getXML() . "\n");
echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n");
}
}