MyOrderDesk - API Options Follow
This article discuss two MyOrderDesk API solutions:
- REST API (February 2020)
- SOAP API (deprecated, no longer maintained)
REST API
The MyOrderDesk REST API allows programmers to access data within MyOrderDesk. The API uses RESTful web services to implement create, read, update, and delete (CRUD) functions.
Before using the API you must contact your account manager so that the solution can be added to your account. Once this has been complete, you will see in your MyOrderDesk admin a new link for the API (Services > API). See screenshot below of the API setup page (note: the providerID and URL seen in the screenshot are for example purposes only, the information you see will be specific to your storefront/account):
In order to get your shared secret, you need to select the "Enable REST API for this Site" checkbox, and then select "Save." Once this has been completed, you will be given a Shared Secret, and it will be shown to you in the Shared Secret Hint box. Take note of this number and save in a safe place! This is the only time this will be shown to you. After you exit this page, only a portion of the Shared Secret will display to you as a Hint. Print Reach is not able to retrieve this information for you if you lose it.
- GET operations are used to retrieve data (for example, a Job, Group, or User).
- PUT and POST operations are used to make create or update requests (for example a Job Status).
- PATCH operations are supported, where applicable, to make partial updates such as updating a User's address or phone number.
- DELETE operations are supported, where applicable, such as with Groups and Job Categories.
This web service uses the JSON (JavaScript Object Notation) method of encoding data for transmission via the HTTP network protocol. Most programming languages have libraries to convert an arbitrary object to and from a JSON data transfer encoding.
To learn more visit the REST API swagger documentation site.
SOAP API
Please note, as of November 2020, the SOAP API is deprecated and no longer maintained. All customers should begin using the REST API.
The MyOrderDesk SOAP API uses HTTPS and XML. An application that wants to use the MyOrderDesk API acts as an HTTP client. An application can send a request to MyOrderDesk as part of an HTTPS POST message and our servers respond with the appropriate acknowledgment or XML data. If you require XML data to be pushed to your application in a specific format, please contact us for more details.
- API Calls
- Listener
- Automatic Sign-in and Sign Up (Deprecated)
API Calls
- ListJobsByDate - Basic Job data XML which is displayed on the History page.
-
POST URL: https://www.MyOrderDesk.com/API/JobsWebService.asmx/ListJobsByDateData to be POSTed:
- ProviderID (Integer) - This is your MyOrderDesk account number.
- Password (String) - Site Owners password for the account number specified in ProviderID.
- StartDate (String) - Starting date for jobs in MM/DD/YYYY format.
- EndDate (Strring) - Ending date for jobs in MM/DD/YYYY format.
-
- GetJob - Detailed job data XML, specified by a JobID.
- POST URL: https://www.MyOrderDesk.com/API/JobsWebService.asmx/GetJob
Data to be POSTed:- ProviderID (Integer) - This is your MyOrderDesk account number.
- Password (String) -Site Owners password for the account number specified in ProviderID.
- JobID (Integer) - This is the Job ID for the job you want to retrieve.
- POST URL: https://www.MyOrderDesk.com/API/JobsWebService.asmx/GetJob
- GetJobsByDate - Detailed job data XML for multiple jobs, queried by date range.
-
POST URL: https://www.MyOrderDesk.com/API/JobsWebService.asmx/GetJobsByDateData to be POSTed:
- ProviderID (Integer) -This is your MyOrderDesk account number.
- Password (String) -Site Owners password for the account number specified in ProviderID.
- StartDate (String) - Starting date for jobs in MM/DD/YYYY format.
- EndDate (Strring) - Ending date for jobs in MM/DD/YYYY format.
-
Listener
This endpoint allows you to POST the following XML messages. Use a tool such as Postman to experiment with posting messages.
https://www.MyOrderDesk.com/api/listener/
- StatusNoticeRequest
This message allows you to update the Job status.
USERAGENT
Fill in something unique - usually the name of the script sending the request.
PID - ProviderID (MyOrderDesk account number)
PASSWORD - Site Owner's Password
STATUS - Status message to display on job
JOBID - MyOrderDesk JobID
-
<?xml version="1.0" encoding="utf-8" ?>
<xml lang="en-US" timestamp="2018-10-04 -0500">
<Header>
<Sender>
<UserAgent>USERAGENT</UserAgent>
<Credential>
<Identity>PID</Identity>
<SharedSecret>PASSWORD</SharedSecret>
</Credential>
</Sender>
</Header>
<Request>
<StatusNoticeRequest>
<Status>STATUS</Status>
<OrderReference orderID=“JOBID" />
</StatusNoticeRequest>
</Request>
</xml>
- CategoryNoticeRequest
This message allows you to update the Job category and Job status.
USERAGENT - Fill in something unique - usually the name of script sending the request.
PID - ProviderID (MyOrderDesk account number)
PASSWORD - Site Owner's password
STATUS - Status message to display on Job
CATEGORY - CategoryID defined in the list of categories. (-1 is Unspecified)
CATEGORYOBJECT - This determines how the category update should be applied.
-1 job (clear items)
-2 job (ignore items)
-3 job and all items
(positive number) CartItemID - only apply to this item
JOBID - JobID that needs to be updated
<?xml version="1.0" encoding="utf-8" ?>
<xml lang="en-US" timestamp="2018-10-04 -0500">
<Header>
<Sender>
<UserAgent>USERAGENT</UserAgent>
<Credential>
<Identity>PID</Identity>
<SharedSecret>PASSWORD</SharedSecret>
</Credential>
</Sender>
</Header>
<Request>
<CategoryNoticeRequest>
<Status>STATUS</Status>
<Category>CATEGORY</Category>
<CategoryObject>CATEGORYOBJECT</CategoryObject>
<OrderReference orderID=“JOBID" />
</CategoryNoticeRequest>
</Request>
</xml>
Automatic Sign In and Account Creation (Deprecated)
This method passes the user's password in clear text within the URL. For our recommended Single Sign-On (Shibboleth, ADFS, CAS, etc.) options, please visit MyOrderDesk Sign up & Sign in Options
Automatic Sign In and Account Creation is possible by passing parameters in a URL.
All querystring values must be URL Encoded. For more information about URLEncoding, see URL Encoding Reference.
- Sign In
- Sign Up
Sign In
- URLs must contain a Provider_ID=, Email=, and Password=.
- Sample sign in URL: https://www.MyOrderDesk.com/SignIn/?Provider_ID=17263&Email=EMAIL&Password=PASSWORD
- Sample sign in and then redirect to an Order Form URL: https://www.MyOrderDesk.com/JobSubmit.asp?Provider_ID=17263&OrderFormID=456&Email=EMAIL&Password=PASSWORD
- If you're embedding MyOrderDesk into an existing website, use the following structure:
http://www.example.com/?L=AL&P=17263&Email=EMAIL&Password=PASSWORD
Sign Up
- URLs must contain a Provider_ID=, SignUp=Y, Email=, and Password=.
- Find a list of available fields below. All required profile fields must be passed in the querystring.
- Password
- Salutation
- Degree
- Title
- Title2
- First_Name
- Last_Name
- Company_Name
- Division
- Branch
- Department
- Location
- Address1
- Address2
- Building
- Floor
- City
- State_Prov_Terr
- Zip_Postal_Code
- MainPhone
- Phone
- DirectLine
- Extension
- CellPhone
- Fax
- HomePhone
- HomeFax
- ShipToAddress
- DoNotCallAfter
- ChargeBackNumber
- RegistrationNumber
- HeardAboutUs
- GroupID
- Sample sign up URL: https://www.MyOrderDesk.com/SignUp/?Provider_ID=17263&signup=signup&Email=EMAIL&Password=PASSWORD&First_Name=Joe&Last_Name=User&Company_Name=Acme%20Co&Phone=555-1234
- If you're embedding MyOrderDesk into an existing website, use the following structure: http://www.example.com/?L=N&P=17263&signup=signup&Email=EMAIL&Password=PASSWORD&First_Name=Joe&Last_Name=User&Company_Name=Acme%20Co&Phone=555-1234
- Find a list of available fields below. All required profile fields must be passed in the querystring.