Map Your Show REST API for Integrations

Version 1.0.0

How to use MYS REST API:

Completing a successful call to the MYS Rest API requires that you first make a call to authorize and then use the value returned to make the subsequent call as an Authorization header. The token returned from the authorization call is valid for 60 minutes.

NOTE: Calls can not be called from a web browser.

Example:

  1. Call /Authorize - We use Basic Authentication to validate username and password
  2. Call /BoothSales/Contacts/Modified - pass "Authorization:Bearer [MYSGUID]" as a "Request Headers" section, where [MYSGUID] is the actual GUID you received from the Authorization service
  3. Call /Orders/Modified - pass "Authorization:Bearer [MYSGUID]" as a "Request Headers" section, where [MYSGUID] is the actual GUID you received from the Authorization service

Date & Time Parameters

  • When providing Date & Time parameters in the API calls, these should be sent in accordance with the Eastern Time Zone.

Response Codes

This is a list of some of the most common response codes you'll get from our REST API. We use standard HTTP Status Codes, a full list of which can be found at http://www.restapitutorial.com/httpstatuscodes.html

You should also get some written text back with any non-200 Status Code explaining the issue.

  • 200 - OK
    • All parameters were valid and a successful response is being returned
  • 400 - Bad Request
    • Invalid parameters were passed (Such as missing a required field, invalid formatting, etc)
  • 401 - Unauthorized
    • User not logged in or invalid authorization key/GUID
  • 403 - Forbidden
    • API is refusing to accept your call for a reason other than unauthorized (API call limit reached, used violated some rules, etc)
  • 409 - Conflict
    • Your request could not be completed due to a conflict
  • 500 - General Error
    • Your request could not be completed due to a general or unknown error. You should contact your MYS Account Manager if the error persists.
  • 504 - Gateway Timeout
    • The call you made did not respond in a timely fashion. Please try your call again, or if you're passing in a date range to get a range of information, try a shorter period of time for your calls. You should contact your MYS Account Manager if the error persists.

Resources:

These methods are common methods that don't pertain to any particular group.

GET: I authorize the user and provide a token used to call the rest of the services. The username and password should be passed in using Basic Authentication

get
required string username   Username/Password should be passed in using Basic Authentication
required string password   Username/Password should be passed in using Basic Authentication
required string showCode

/ShowID PUT GET

GET: I return the Integration Show ID for a Show
PUT: I update the Integration Show ID for a Show

get
put
required string integrationShowID

These methods are for accessing and updating booth sales customers and contacts.

/BoothSales/Contacts DELETE PUT POST GET

GET: I return Contacts for a Customer if a Show CustID, Cust ID, Alt ID, Contact ID or Alt Contact ID is passed in, or all Contacts for Show if not
POST: I add a Contact
PUT: I update a Contact

NOTE: There must always be one Primary Contact. If you make a contact Primary, all other contacts for the same Customer will be marked as Not Primary. Likewise, if you wish to mark a Contact as Not Primary, you will need to make another one Primary.

get
optional numeric showCustID (default: 0)
optional numeric custID (default: 0)
optional string altID (default: "")
optional numeric contactID (default: 0)
optional string contactAltID (default: "")
optional string page (default: 0)   Optional: numeric used with pagination
optional string rows (default: 100)   Optional: numeric used with pagination
delete
optional numeric showCustID (default: 0)
optional numeric custID (default: 0)
optional numeric contactID (default: 0)
optional string contactAltID (default: "")
put
required numeric contactID
optional string contactAltID (default: "")
required string contactTypeIDs   Comma delimited list of Contact Type ID's
required string firstName
required string lastName
required string email
optional string title (default: "")
optional string department (default: "")
optional string address1 (default: "")
optional string address2 (default: "")
optional string address3 (default: "")
optional string city (default: "")
optional string county (default: "")
optional string state (default: "")
optional string zip (default: "")
optional string country (default: "")
optional string region (default: "")
optional string phone (default: "")
optional string phone2 (default: "")
optional string fax (default: "")
optional boolean isPrimaryContact (default: false)
post
required string altID
required string contactAltID
required string contactTypeIDs   Comma delimited list of Contact Type ID's
required string firstName
required string lastName
required string email
optional string title (default: "")
optional string department (default: "")
optional string address1 (default: "")
optional string address2 (default: "")
optional string address3 (default: "")
optional string city (default: "")
optional string county (default: "")
optional string state (default: "")
optional string zip (default: "")
optional string country (default: "")
optional string region (default: "")
optional string phone (default: "")
optional string phone2 (default: "")
optional string fax (default: "")
optional boolean isPrimaryContact (default: false)
PUT: I update a Contact's AltID

NOTE: There must always be one Primary Contact. If you make a contact Primary, all other contacts for the same Customer will be marked as Not Primary. Likewise, if you wish to mark a Contact as Not Primary, you will need to make another one Primary.

put
required numeric contactID
required string contactAltID
GET: I return a list of Contacts who have been modified in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate
optional string page (default: 0)   Optional: numeric used with pagination
optional string rows (default: 100)   Optional: numeric used with pagination
GET: I return all possible Contact Types, along with the Contact Type ID's that will be needed to POST/PUT Contacts.

get
GET: I return a Customers details if a Show Cust ID, Cust ID or Alt ID is passed in, or all Customers for Show if not
POST: I add a Customer
PUT: I update a Customer

NOTE: The nvarchar and bit fields that may be returned are custom fields that change on a per show basis. Please contact your Account Manager to get a mapping if what these fields represent for your show setup.

get
optional numeric showCustID (default: 0)
optional numeric custID (default: 0)
optional string altID (default: "")
optional string page (default: 0)   Optional: numeric used with pagination
optional string rows (default: 100)   Optional: numeric used with pagination
put
optional numeric showCustID (default: 0)
optional numeric custID (default: 0)
optional string companyName (default: "")
optional string altID (default: "")
optional string representative (default: "")
optional string address1 (default: "")
optional string address2 (default: "")
optional string address3 (default: "")
optional string city (default: "")
optional string state (default: "")
optional string zip (default: "")
optional string county (default: "")
optional string country (default: "")
optional string phone (default: "")
optional string phone2 (default: "")
optional string phone3 (default: "")
optional string fax (default: "")
optional string fax2 (default: "")
optional string website (default: "")
optional string email (default: "")
optional string salesRepID (default: "")
optional string div (default: "")
optional boolean taxExempt (default: false)
optional numeric priorityPoints (default: 0)
optional numeric priorityPoints2 (default: 0)
optional boolean isMember (default: false)
optional numeric customertypeid (default: 0)
post
required string companyName
optional string altID (default: "")
optional string representative (default: "")
optional string address1 (default: "")
optional string address2 (default: "")
optional string address3 (default: "")
optional string city (default: "")
optional string state (default: "")
optional string zip (default: "")
optional string county (default: "")
optional string country (default: "")
optional string phone (default: "")
optional string phone2 (default: "")
optional string phone3 (default: "")
optional string fax (default: "")
optional string fax2 (default: "")
optional string website (default: "")
optional string email (default: "")
optional string salesRepID (default: "")
optional string div (default: "")
optional boolean taxExempt (default: false)
optional numeric priorityPoints (default: 0)
optional numeric priorityPoints2 (default: 0)
optional boolean isMember (default: false)
optional numeric customertypeid (default: 0)
PUT: I update a Customer's Cust ID

put
required numeric custID
required numeric newCustID
GET: I return a list of Customers who have been deleted in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
optional string page (default: 0)   Optional: numeric used with pagination
optional string rows (default: 100)   Optional: numeric used with pagination
GET: I return a list of Customers who have been modified in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate
optional string page (default: 0)   Optional: numeric used with pagination
optional string rows (default: 100)   Optional: numeric used with pagination
GET: I return all possible Customer Types, along with the Customer Type ID's that will be needed to POST/PUT Customers.

get
GET: I generate an SSO link for a passed in Username

get
required string userName
optional string accountID (default: "")

These methods are for accessing and updating order and item information.

GET: I return a list of Order Items which have been deleted in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
optional string page (default: 0)   Optional: numeric used with pagination
optional string rows (default: 100)   Optional: numeric used with pagination
GET: I return the details for an order

get
optional string OrderNo (default: "")
optional string AltID (default: "")
optional string CustID (default: "")
optional string ShowCustID (default: "")
optional string ExhID (default: "")
optional string PaymentScheduleGroupID (default: "")
optional string ItemID (default: "")
GET: I return a list of Orders that have been modified in the provided date range.

IMPORTANT: The maximum date range allowed to retrieve in a single call is 31 days. To get ranges larger than this you must change the dates and make multiple calls.

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate
optional string resultList (default: customer_items,invoices,payments,adjustments,customer_docs)   To limit the results, send the desired comma separated list.
GET: I return a list of Order Items that do not have an Integration Transaction ID
PUT: I update the Integration Transaction ID for an Order Item

get
put
required string integrationTransactionID
required string orderNo
optional numeric itemID (default: 0)

These methods are for accessing payment information.

GET: I return Payment Details

get
optional string PaymentID (default: "")
optional string OrderNo (default: "")
optional string AltId (default: "")
optional string CustID (default: "")
optional string ShowCustID (default: "")
optional string ExhID (default: "")
GET: I return Payments made within the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate
optional string page (default: 0)   Optional: numeric used with pagination
optional string rows (default: 100)   Optional: numeric used with pagination
GET: I return Payment Schedules

get
optional string PaymentScheduleGroupID (default: "")   Group ID of the payment Schedule
optional string fromDate (default: "")   Format: YYYY-MM-DD HH:MM (24 hour clock)
optional string toDate (default: "")   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate

These methods are for accessing and updating sales reps.

/SalesReps PUT POST GET

GET: I return SalesReps for a show
POST: I add a SalesRep
PUT: I update a SalesRep

get
optional numeric salesRepID (default: 0)
optional string altSalesRepID (default: "")
optional string firstName (default: "")
optional string lastName (default: "")
optional string email (default: "")
put
required numeric salesRepID
optional string altSalesRepID (default: "")
required string firstName
required string lastName
required string email
post
optional string altSalesRepID (default: "")
required string firstName
required string lastName
required string email