In Brightpearl, if you want to select orders from a specific date, the date needs to be entered in the format of YYYY-MM-DD. By default PowerShell returns dates in a format based on your “culture” setting; in the U.S. this means the default is MM-DD-YYYY. (Who made this up by the way?) In fact…a standard call to the Get-Date returns a “long date / time” string.
PS>Get-Date
Thursday, November 20, 2014 12:46:19 PM
To just get the date, you add a couple parameters:
PS>Get-Date -DisplayHint Date -Format d
11/20/2014
This returns the system date in the default culture format.
To transform this to YY-MM-DD, there is a parameter which takes a Unix format string.
PS>Get-Date -UFormat %Y-%m-%d
2014-11-20
TechNet has a reference for all of the possible combinations and strings for the UFormat parameter.
Here’s the format for an order search using a hard coded date.
PS>$BPOrders=Invoke-RestMethod `
-Uri http://ws-use.brightpearl.com/public-api/nationalgardening/order-service/order-search?placedOn=2014-11-20 `
-Headers $headers `
-Method Get
We can put the date in a variable, and use that in the API call:
$Today=Get-Date -UFormat %Y-%m-%d
$BPOrders=Invoke-RestMethod `
-Uri http://ws-use.brightpearl.com/public-api/nationalgardening/order-service/order-search?placedOn=$Today `
-Headers $headers `
-Method Get