AmazonOrderItemList
extends AmazonOrderCore
in package
implements
Iterator
Gets all of the items for a given order.
This Amazon Orders Core object can retrieve the list of items associated with a specific order. Before any items can be retrieved, an Order ID is required. This object can use tokens when retrieving the list.
Interfaces, Classes and Traits
- Iterator
Table of Contents
- $config : mixed
- $env : mixed
- $marketplaceId : mixed
- $mockFiles : mixed
- $mockIndex : mixed
- $mockMode : mixed
- $options : mixed
- $proxyInfo : mixed
- $rawResponses : mixed
- $storeName : mixed
- $throttleCount : mixed
- $throttleGroup : mixed
- $throttleLimit : mixed
- $throttleSafe : mixed
- $throttleStop : mixed
- $throttleTime : mixed
- $tokenFlag : mixed
- $tokenUseFlag : mixed
- $urlbase : mixed
- $urlbranch : mixed
- $i : mixed
- $index : mixed
- $itemList : mixed
- __construct() : mixed
- AmazonItemLists contain all of the items for a given order.
- current() : type
- Iterator function
- fetchItems() : bool
- Retrieves the items from Amazon.
- fetchURL() : array<string|int, mixed>
- Get url or send POST data
- getASIN() : string|bool
- Returns the ASIN for the specified entry.
- getConditionId() : string|bool
- Returns the condition for the specified item.
- getConditionNote() : string|bool
- Returns the condition description for the specified item.
- getConditionSubtypeId() : string|bool
- Returns the subcondition for the specified item.
- getCustomizedInfo() : string|bool
- Returns the URL for the ZIP file containing the customized options for the specified entry.
- getGiftMessageText() : string|bool
- Returns the gift message text for the specified entry.
- getGiftWrapLevel() : string|bool
- Returns the gift wrap level for the specified entry.
- getGiftWrapPrice() : array<string|int, mixed>|string|bool
- Returns the gift wrap price for the specified entry.
- getGiftWrapTax() : array<string|int, mixed>|string|bool
- Returns the gift wrap tax for the specified entry.
- getInvoiceData() : array<string|int, mixed>|bool
- Returns invoice data for the specified item.
- getItemPrice() : array<string|int, mixed>|string|bool
- Returns the item price for the specified entry.
- getItems() : array<string|int, mixed>|bool
- Returns the specified order item, or all of them.
- getItemTax() : array<string|int, mixed>|string|bool
- Returns the item tax for the specified entry.
- getLastResponse() : array<string|int, mixed>|bool
- Gives the latest response data received from Amazon.
- getOptions() : array<string|int, mixed>
- Returns options array.
- getOrderItemId() : string|bool
- Returns the order item ID for the specified entry.
- getPercentShipped() : float|bool
- Returns the seller SKU for the specified entry.
- getPointsGranted() : array<string|int, mixed>|string|bool
- Returns the number of Amazon Points granted for the specified entry.
- getPriceDesignation() : string|bool
- Returns the price designation for the specified entry.
- getPromotionDiscount() : array<string|int, mixed>|string|bool
- Returns the promotional discount for the specified entry.
- getPromotionIds() : array<string|int, mixed>|string|bool
- Returns specified promotion ID for specified item.
- getQuantityOrdered() : string|bool
- Returns the quantity ordered for the specified entry.
- getQuantityShipped() : string|bool
- Returns the quantity shipped for the specified entry.
- getRawResponses() : array<string|int, mixed>|bool
- Gives all response code received from Amazon.
- getScheduledDeliveryEndDate() : string|bool
- Returns the latest date in the scheduled delivery window for the specified item.
- getScheduledDeliveryStartDate() : string|bool
- Returns the earliest date in the scheduled delivery window for the specified item.
- getSellerSKU() : string|bool
- Returns the seller SKU for the specified entry.
- getShippingDiscount() : array<string|int, mixed>|string|bool
- Returns the shipping discount for the specified entry.
- getShippingPrice() : array<string|int, mixed>|string|bool
- Returns the shipping price for the specified entry.
- getShippingTax() : array<string|int, mixed>|string|bool
- Returns the shipping tax for the specified entry.
- getThrottleCountForLastRequest() : int
- Gives the number of times the last call to sendRequest was throttled
- getTitle() : string|bool
- Returns the name for the specified entry.
- hasToken() : bool
- Returns whether or not a token is available.
- key() : type
- Iterator function
- next() : mixed
- Iterator function
- rewind() : mixed
- Iterator function
- setConfig() : mixed
- setMock() : mixed
- Enables or disables Mock Mode for the object.
- setOrderId() : bool
- Sets the Amazon Order ID. (Required)
- setStore() : mixed
- Sets the store values.
- setThrottleStop() : mixed
- Enables or disables the throttle stop.
- setUseToken() : bool
- Sets whether or not the object should automatically use tokens if it receives one.
- valid() : type
- Iterator function
- _calculateStringToSignV2() : string
- generates the string to sign, copied from Amazon
- _getParametersAsString() : string
- Fuses all of the parameters together into a string, copied from Amazon
- _sign() : string
- Runs the hash, copied from Amazon
- _signParameters() : string
- validates signature and sets up signing of them, copied from Amazon
- _urlencode() : string
- Reformats the provided string using rawurlencode while also replacing ~, copied from Amazon
- checkResponse() : bool
- Checks whether or not the response is OK.
- checkToken() : bool
- Checks for a token and changes the proper options
- fetchMockFile() : SimpleXMLObject|string|bool
- Fetches the given mock file, or attempts to.
- fetchMockResponse() : bool|array<string|int, mixed>
- Generates a fake HTTP response using the mock file list.
- genQuery() : string
- Handles generation of the signed query string.
- genTime() : string
- Generates timestamp in ISO8601 format.
- log() : bool
- Writes a message to the log.
- parseXML() : bool
- Parses XML response into array.
- prepareToken() : mixed
- Sets up options for using tokens.
- resetMock() : mixed
- Sets mock index back to 0.
- sendRequest() : array<string|int, mixed>
- Sends a request to Amazon via cURL
- sleep() : mixed
- Sleeps for the throttle time and records to the log.
Properties
$config
protected
mixed
$config
$env
protected
mixed
$env
$marketplaceId
protected
mixed
$marketplaceId
$mockFiles
protected
mixed
$mockFiles
$mockIndex
protected
mixed
$mockIndex
= 0
$mockMode
protected
mixed
$mockMode
= false
$options
protected
mixed
$options
$proxyInfo
protected
mixed
$proxyInfo
= []
$rawResponses
protected
mixed
$rawResponses
= []
$storeName
protected
mixed
$storeName
$throttleCount
protected
mixed
$throttleCount
= 0
$throttleGroup
protected
mixed
$throttleGroup
$throttleLimit
protected
mixed
$throttleLimit
$throttleSafe
protected
mixed
$throttleSafe
$throttleStop
protected
mixed
$throttleStop
= false
$throttleTime
protected
mixed
$throttleTime
$tokenFlag
protected
mixed
$tokenFlag
= false
$tokenUseFlag
protected
mixed
$tokenUseFlag
= false
$urlbase
protected
mixed
$urlbase
$urlbranch
protected
mixed
$urlbranch
$i
private
mixed
$i
= 0
$index
private
mixed
$index
= 0
$itemList
private
mixed
$itemList
Methods
__construct()
AmazonItemLists contain all of the items for a given order.
public
__construct(string $s[, string $id = null ][, bool $mock = false ][, array<string|int, mixed>|string $m = null ]) : mixed
The parameters are passed to the parent constructor, which are in turn passed to the AmazonCore constructor. See it for more information on these parameters and common methods. Please note that an extra parameter comes before the usual Mock Mode parameters, so be careful when setting up the object.
Parameters
- $s : string
-
Name for the store you want to use.
- $id : string = null
-
[optional]
The order ID to set for the object.
- $mock : bool = false
-
[optional]
This is a flag for enabling Mock Mode. This defaults to FALSE.
- $m : array<string|int, mixed>|string = null
-
[optional]
The files (or file) to use in Mock Mode.
Return values
mixed —current()
Iterator function
public
current() : type
Return values
type —fetchItems()
Retrieves the items from Amazon.
public
fetchItems([mixed $r = true ]) : bool
Submits a ListOrderItems request to Amazon. In order to do this, an Amazon order ID is required. Amazon will send the data back as a response, which can be retrieved using getItems. Other methods are available for fetching specific values from the order. This operation can potentially involve tokens.
Parameters
- $r : mixed = true
Return values
bool —FALSE if something goes wrong
fetchURL()
Get url or send POST data
public
fetchURL(string $url, array<string|int, mixed> $param) : array<string|int, mixed>
Parameters
- $url : string
- $param : array<string|int, mixed>
-
['Header'] $param['Post']
Return values
array<string|int, mixed> —$return['ok'] 1 - success, (0,-1) - fail $return['body'] - response $return['error'] - error, if "ok" is not 1 $return['head'] - http header
getASIN()
Returns the ASIN for the specified entry.
public
getASIN(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getConditionId()
Returns the condition for the specified item.
public
getConditionId(int $i) : string|bool
This method will return FALSE if the list has not yet been filled. Possible values for the condition ID are...
- New
- Used
- Collectible
- Refurbished
- Preorder
- Club
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if incorrect index
getConditionNote()
Returns the condition description for the specified item.
public
getConditionNote(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if incorrect index
getConditionSubtypeId()
Returns the subcondition for the specified item.
public
getConditionSubtypeId(int $i) : string|bool
This method will return FALSE if the list has not yet been filled. Possible values for the subcondition ID are...
- New
- Mint
- Very Good
- Good
- Acceptable
- Poor
- Club
- OEM
- Warranty
- Refurbished Warranty
- Refurbished
- Open Box
- Any
- Other
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if incorrect index
getCustomizedInfo()
Returns the URL for the ZIP file containing the customized options for the specified entry.
public
getCustomizedInfo(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getGiftMessageText()
Returns the gift message text for the specified entry.
public
getGiftMessageText(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getGiftWrapLevel()
Returns the gift wrap level for the specified entry.
public
getGiftWrapLevel(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getGiftWrapPrice()
Returns the gift wrap price for the specified entry.
public
getGiftWrapPrice(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getGiftWrapTax()
Returns the gift wrap tax for the specified entry.
public
getGiftWrapTax(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getInvoiceData()
Returns invoice data for the specified item.
public
getInvoiceData(int $i) : array<string|int, mixed>|bool
This method will return FALSE if the list has not yet been filled. The array for invoice data may have the following fields:
- InvoiceRequirement - invoice requirement information
- BuyerSelectedInvoiceCategory - invoice category information selected by the buyer
- InvoiceTitle - the title of the invoice as specified by the buyer
- InvoiceInformation - additional invoice information
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
array<string|int, mixed>|bool —array, or FALSE if incorrect index
getItemPrice()
Returns the item price for the specified entry.
public
getItemPrice(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getItems()
Returns the specified order item, or all of them.
public
getItems([int $i = null ]) : array<string|int, mixed>|bool
This method will return FALSE if the list has not yet been filled. The array for a single order item will have the following fields:
- ASIN - the ASIN for the item
- SellerSKU - the SKU for the item
- OrderItemId - the unique ID for the order item
- Title - the name of the item
- QuantityOrdered - the quantity of the item ordered
- QuantityShipped (optional) - the quantity of the item shipped
- GiftMessageText (optional) - gift message for the item
- GiftWrapLevel (optional) - the type of gift wrapping for the item
- ItemPrice (optional) - price for the item, array with the fields Amount and CurrencyCode
- ShippingPrice (optional) - price for shipping, array with the fields Amount and CurrencyCode
- GiftWrapPrice (optional) - price for gift wrapping, array with the fields Amount and CurrencyCode
- ItemTax (optional) - tax on the item, array with the fields Amount and CurrencyCode
- ShippingTax (optional) - tax on shipping, array with the fields Amount and CurrencyCode
- GiftWrapTax (optional) - tax on gift wrapping, array with the fields Amount and CurrencyCode
- ShippingDiscount (optional) - discount on shipping, array with the fields Amount and CurrencyCode
- PromotionDiscount (optional) -promotional discount, array with the fields Amount and CurrencyCode
- CODFee (optional) -fee charged for COD service, array with the fields Amount and CurrencyCode
- CODFeeDiscount (optional) -discount on COD fee, array with the fields Amount and CurrencyCode
- PromotionIds (optional) -array of promotion IDs
Parameters
- $i : int = null
-
[optional]
List index to retrieve the value from. If none is given, the entire list will be returned. Defaults to NULL.
Return values
array<string|int, mixed>|bool —array, multi-dimensional array, or FALSE if list not filled yet
getItemTax()
Returns the item tax for the specified entry.
public
getItemTax(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getLastResponse()
Gives the latest response data received from Amazon.
public
getLastResponse([int $i = null ]) : array<string|int, mixed>|bool
Response arrays contain the following keys:
- head - The raw HTTP head, including the response code and content length
- body - The raw HTTP body, which will almost always be in XML format
- code - The HTTP response code extracted from the head for convenience
- answer - The HTTP response message extracted from the head for convenience
- ok - Contains a 1 if the response was normal, or 0 if there was a problem
- headarray - An associative array of the head data, for convenience
Parameters
- $i : int = null
-
[optional]
If set, retrieves the specific response instead of the last one. If the index for the response is not used, FALSE will be returned.
Return values
array<string|int, mixed>|bool —associative array of HTTP response or FALSE if not set yet
getOptions()
Returns options array.
public
getOptions() : array<string|int, mixed>
Gets the options for the object, for debugging or recording purposes. Note that this also includes key information such as your Amazon Access Key ID.
Return values
array<string|int, mixed> —All of the options for the object.
getOrderItemId()
Returns the order item ID for the specified entry.
public
getOrderItemId(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getPercentShipped()
Returns the seller SKU for the specified entry.
public
getPercentShipped(int $i) : float|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
float|bool —decimal number from 0 to 1, or FALSE if Non-numeric index
getPointsGranted()
Returns the number of Amazon Points granted for the specified entry.
public
getPointsGranted(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields PointsNumber, Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the number of points
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getPriceDesignation()
Returns the price designation for the specified entry.
public
getPriceDesignation(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getPromotionDiscount()
Returns the promotional discount for the specified entry.
public
getPromotionDiscount(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getPromotionIds()
Returns specified promotion ID for specified item.
public
getPromotionIds(int $i[, int $j = null ]) : array<string|int, mixed>|string|bool
This method will return the entire list of Promotion IDs if $j is not set.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $j : int = null
-
[optional]
Second list index to retrieve the value from. Defaults to NULL.
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if incorrect index
getQuantityOrdered()
Returns the quantity ordered for the specified entry.
public
getQuantityOrdered(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getQuantityShipped()
Returns the quantity shipped for the specified entry.
public
getQuantityShipped(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getRawResponses()
Gives all response code received from Amazon.
public
getRawResponses() : array<string|int, mixed>|bool
Tags
Return values
array<string|int, mixed>|bool —list of associative arrays of HTTP response or FALSE if not set yet
getScheduledDeliveryEndDate()
Returns the latest date in the scheduled delivery window for the specified item.
public
getScheduledDeliveryEndDate(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if incorrect index
getScheduledDeliveryStartDate()
Returns the earliest date in the scheduled delivery window for the specified item.
public
getScheduledDeliveryStartDate(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if incorrect index
getSellerSKU()
Returns the seller SKU for the specified entry.
public
getSellerSKU(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
getShippingDiscount()
Returns the shipping discount for the specified entry.
public
getShippingDiscount(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getShippingPrice()
Returns the shipping price for the specified entry.
public
getShippingPrice(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getShippingTax()
Returns the shipping tax for the specified entry.
public
getShippingTax(int $i[, bool $only = false ]) : array<string|int, mixed>|string|bool
This method will return FALSE if the list has not yet been filled. If an array is returned, it will have the fields Amount and CurrencyCode.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
- $only : bool = false
-
[optional]
set to TRUE to get only the amount
Return values
array<string|int, mixed>|string|bool —array, single value, or FALSE if Non-numeric index
getThrottleCountForLastRequest()
Gives the number of times the last call to sendRequest was throttled
public
getThrottleCountForLastRequest() : int
Tags
Return values
int —getTitle()
Returns the name for the specified entry.
public
getTitle(int $i) : string|bool
This method will return FALSE if the list has not yet been filled.
Parameters
- $i : int
-
[optional]
List index to retrieve the value from. Defaults to 0.
Return values
string|bool —single value, or FALSE if Non-numeric index
hasToken()
Returns whether or not a token is available.
public
hasToken() : bool
Return values
bool —key()
Iterator function
public
key() : type
Return values
type —next()
Iterator function
public
next() : mixed
Return values
mixed —rewind()
Iterator function
public
rewind() : mixed
Return values
mixed —setConfig()
public
setConfig() : mixed
Return values
mixed —setMock()
Enables or disables Mock Mode for the object.
public
setMock([bool $b = true ][, array<string|int, mixed>|string|int $files = null ]) : mixed
Use this method when you want to test your object without sending actual requests to Amazon. When Mock Mode is enabled, responses are pulled from files you specify instead of sending the request. Be careful, as this means that the parameters you send will not necessarily match the response you get back. The files are pulled in order of the list, looping back to the first file after the last file is used. The log records every time a file is set or used, or if the file is missing. This method is also used to set response codes used by certain functions. Mock Mode is particularly useful when you need to test functions such as canceling orders or adding new products.
Parameters
- $b : bool = true
-
[optional]
When set to TRUE, Mock Mode is enabled for the object. Defaults to TRUE.
- $files : array<string|int, mixed>|string|int = null
-
[optional]
The list of files (or single file) to be used with Mock Mode. If a single string is given, this method will put it into an array. Integers can also be given, for use in fetchMockResponse. These numbers should only be response codes, such as 200 or 404.
Return values
mixed —setOrderId()
Sets the Amazon Order ID. (Required)
public
setOrderId(mixed $id) : bool
This method sets the Amazon Order ID to be sent in the next request. This parameter is required for fetching the order's items from Amazon.
Parameters
- $id : mixed
Return values
bool —FALSE if improper input
setStore()
Sets the store values.
public
setStore(string $s) : mixed
This method sets a number of key values from the config file. These values include your Merchant ID, Access Key ID, and Secret Key, and are critical for making requests with Amazon. If the store cannot be found in the config file, or if any of the key values are missing, the incident will be logged.
Parameters
- $s : string
-
The store name to look for.
Tags
Return values
mixed —setThrottleStop()
Enables or disables the throttle stop.
public
setThrottleStop([bool $b = true ]) : mixed
When the throttle stop is enabled, throttled requests will not be repeated. This setting is off by default.
Parameters
- $b : bool = true
-
Defaults to TRUE.
Return values
mixed —setUseToken()
Sets whether or not the object should automatically use tokens if it receives one.
public
setUseToken([bool $b = true ]) : bool
If this option is set to TRUE, the object will automatically perform the necessary operations to retrieve the rest of the list using tokens. If this option is off, the object will only ever retrieve the first section of the list.
Parameters
- $b : bool = true
-
[optional]
Defaults to TRUE
Return values
bool —FALSE if improper input
valid()
Iterator function
public
valid() : type
Return values
type —_calculateStringToSignV2()
generates the string to sign, copied from Amazon
protected
_calculateStringToSignV2(array<string|int, mixed> $parameters) : string
Parameters
- $parameters : array<string|int, mixed>
Return values
string —_getParametersAsString()
Fuses all of the parameters together into a string, copied from Amazon
protected
_getParametersAsString(array<string|int, mixed> $parameters) : string
Parameters
- $parameters : array<string|int, mixed>
Return values
string —_sign()
Runs the hash, copied from Amazon
protected
_sign(string $data, string $key, string $algorithm) : string
Parameters
- $data : string
- $key : string
- $algorithm : string
-
'HmacSHA1' or 'HmacSHA256'
Tags
Return values
string —_signParameters()
validates signature and sets up signing of them, copied from Amazon
protected
_signParameters(array<string|int, mixed> $parameters, string $key) : string
Parameters
- $parameters : array<string|int, mixed>
- $key : string
Tags
Return values
string —signed string
_urlencode()
Reformats the provided string using rawurlencode while also replacing ~, copied from Amazon
protected
_urlencode(string $value) : string
Almost the same as using rawurlencode
Parameters
- $value : string
Return values
string —checkResponse()
Checks whether or not the response is OK.
protected
checkResponse(array<string|int, mixed> $r) : bool
Verifies whether or not the HTTP response has the 200 OK code. If the code is not 200, the incident and error message returned are logged.
Parameters
- $r : array<string|int, mixed>
-
The HTTP response array. Expects the array to have the fields code, body, and error.
Return values
bool —TRUE if the status is 200 OK, FALSE otherwise.
checkToken()
Checks for a token and changes the proper options
protected
checkToken(SimpleXMLObject $xml) : bool
Parameters
- $xml : SimpleXMLObject
-
response data
Return values
bool —FALSE if no XML data
fetchMockFile()
Fetches the given mock file, or attempts to.
protected
fetchMockFile([bool $load = true ]) : SimpleXMLObject|string|bool
This method is only called when Mock Mode is enabled. This is where files from the mock file list are retrieved and passed back to the caller. The success or failure of the operation will be recorded in the log, including the name and path of the file involved. For retrieving response codes, see fetchMockResponse.
Parameters
- $load : bool = true
-
[optional]
Set this to FALSE to prevent the method from loading the file's contents into a SimpleXMLObject. This is for when the contents of the file are not in XML format, or if you simply want to retrieve the raw string of the file.
Return values
SimpleXMLObject|string|bool —A SimpleXMLObject holding the contents of the file, or a string of said contents if $load is set to FALSE. The return will be FALSE if the file cannot be fetched for any reason.
fetchMockResponse()
Generates a fake HTTP response using the mock file list.
protected
fetchMockResponse() : bool|array<string|int, mixed>
This method uses the response codes in the mock file list to generate an HTTP response. The success or failure of this operation will be recorded in the log, including the response code returned. This is only used by a few operations. The response array will contain the following fields:
- head - ignored, but set for the sake of completion
- body - empty XML, also ignored
- code - the response code fetched from the list
- answer - answer message
- error - error message, same value as answer, not set if status is 200
- ok - 1 or 0, depending on if the status is 200
Return values
bool|array<string|int, mixed> —An array containing the HTTP response, or simply the value FALSE if the response could not be found or does not match the list of valid responses.
genQuery()
Handles generation of the signed query string.
protected
genQuery() : string
This method uses the secret key from the config file to generate the signed query string. It also handles the creation of the timestamp option prior.
Tags
Return values
string —query string to send to cURL
genTime()
Generates timestamp in ISO8601 format.
protected
genTime([string $time = false ]) : string
This method creates a timestamp from the provided string in ISO8601 format. The string given is passed through strtotime before being used. The value returned is actually 30 seconds early, to prevent it from tripping up Amazon. If no time is given, the current time is used.
Parameters
- $time : string = false
-
[optional]
The time to use. Since this value is passed through strtotime first, values such as "-1 hour" are fine. Defaults to the current time.
Return values
string —Unix timestamp of the time, minus 30 seconds.
log()
Writes a message to the log.
protected
log(string $msg[, string $level = 'Info' ]) : bool
This method adds a message line to the log file defined by the config. This includes the priority level, user IP, and a backtrace of the call.
Parameters
- $msg : string
-
The message to write to the log.
- $level : string = 'Info'
-
[optional]
The priority level of the message. This is merely for the benefit of the user and does not affect how the code runs. The values used in this library are "Info", "Warning", "Urgent", and "Throttle".
Tags
Return values
bool —FALSE if the message is empty, NULL if logging is muted
parseXML()
Parses XML response into array.
protected
parseXML(SimpleXMLObject $xml) : bool
This is what reads the response XML and converts it into an array.
Parameters
- $xml : SimpleXMLObject
-
The XML response from Amazon.
Return values
bool —FALSE if no XML data is found
prepareToken()
Sets up options for using tokens.
protected
prepareToken() : mixed
This changes key options for switching between simply fetching a list and fetching the rest of a list using a token. Please note: because the operation for using tokens does not use any other parameters, all other parameters will be removed.
Return values
mixed —resetMock()
Sets mock index back to 0.
protected
resetMock([bool $mute = false ]) : mixed
This method is used for returning to the beginning of the mock file list.
Parameters
- $mute : bool = false
-
[optional]
Set to TRUE to prevent logging.
Return values
mixed —sendRequest()
Sends a request to Amazon via cURL
protected
sendRequest(string $url[, array<string|int, mixed> $param = [] ]) : array<string|int, mixed>
This method will keep trying if the request was throttled.
Parameters
- $url : string
-
URL to feed to cURL
- $param : array<string|int, mixed> = []
-
parameter array to feed to cURL
Return values
array<string|int, mixed> —cURL response array
sleep()
Sleeps for the throttle time and records to the log.
protected
sleep() : mixed