Store Offers (Non-Protected)

Description

This API is built to provide offers for users that are available in a specific store.

HTTP Method and Request URL

GET

http://api.macys.com/order/v2/promotions/storeoffers?storeNumber=[store#]&userGuid=[GUID]

Path and Query Parameters

 

HTTP Header Parameters

Parameter

Description

Mandatory

Sample Value

Accept

Specifies the output format. Can be application/json or application/xml.

Yes

application/json

application/xml

x-macys-webservice-client-id

Pass the apikey as a header value which is called x-macys-webservice-client-id. The api key is the 24 character alphanumeric string assigned to your application when you registered it. Pass the apikey as a header value which is called x-macys-webservice-client-id. The api key is the 24 character alphanumeric string assigned to your application when you registered it. Click here for a list of your API keys.

Yes

xmj9js4jkdpe1983fmwu98gh

Query Parameters

Parameter

Description

Mandatory

Sample Value

storeNumber

Number for the selected store

no 203
userGuid GUID for the user
no
e6ed05b3-cd41-4baa-95cf-4980e48ce481

back to top

Sample Request and Response

Sample Request

Request URL:

GET

 http://api.macys.com/order/v2/promotions/storeoffers?storeNumber=70&userGuid=e6ed05b3-cd41-4baa-95cf-4980e48ce481

HTTP Header:

x-macys-webservice-client-id: xmj9js4jkdpe1983fmwu98gh

Accept: application/json

Sample Response

{
  "offer": {
    "storeNumber": 70,
    "userGuid": "e6ed05b3-cd41-4baa-95cf-4980e48ce481",
    "eligibleOffers": [
      {
        "code": "BTS",
        "expiringOn": "08/17/2016 11:59:00 PM ",
        "startsOn": "08/16/2016 12:00:00 AM ",
        "title": "Back To School Sale!",
        "description": "Applies to select merchandise.",
        "showAddToWalletOption": true,
        "shopNowURL": "http://www.macys.com",
        "type": "Percent Off Order",
        "category": "GLOBAL",
        "categoryRank": 1,
        "dateRank": 1,
        "subTitle": "Extra 20% or 15%",
        "subDescription": "See details & exclusions below.",
        "fob": "Macy's Offers",
        "promotionId": 19863920,
        "checkoutDescription": "",
        "discountValue": 1,
        "operator": "PERCENTAGE",
        "discountType": "Percentage Off"
      }
    ],
    "hasUYC": true
  }
} 

back to top

cURL Example

curl -X GET -H "X-Macys-Webservice-Client-ID: XXXXXXXXX" -H "Accept: application/json" "http://api.macys.com/order/v2/promotions/storeoffers?storeNumber=203&userGuid=e6ed05b3-cd41-4baa-95cf-4980e48ce481"

back to top

Error Codes

Call Specific Error Codes:

HTTP Status Error Codes Description
400

{

"errors": {
"error": [
{
"requestId": "xxxxxxxxxx",
"clientId": "xxxxx",
"errorCode": "02016",
"message": "Could not extract a value for the parameter 'storeNumber'",
"developerMessage": "Caused by org.glassfish.jersey.server.internal.inject.ExtractorExce…"
}
]
}
}

  • Store number is in incorrect format
  • If store number was sourced from stores API
    1. Check if store is setup with incorrect division ID
    2. Check if MST DB contains the store
400

{

"errors": {
"error": [
{
"requestId": "xxxxxxxxxx",
"clientId": "xxxxx",
"errorCode": "13017",
"message": "UYC_OFFER_UNAVAILABLE",
"developerMessage": "Unable to retrieve/validate UYC data from smartPE service"
}
]
}
}

  • smartPE is down & the backend is unable to retrieve UYC info
400

{

"errors": {
"error": [
{
"requestId": "xxxxxxxxxx",
"clientId": "xxxxx",
"errorCode": "13018",
"message": "LOYALTY_OFFER_UNAVAILABLE",
"developerMessage": "For a signed-in BCOM user, unable to retrieve targeted loyalist offers from loyalty service"

}
]
}
}

  • Loyalty API unavailable
400

{

"errors": {
"error": [
{
"requestId": "xxxxxxxxxx",
"clientId": "xxxxx",
"errorCode": "13016",
"message": "INVALID_USER",
"developerMessage": "The user GUID has wrong format or user is not in the system"

}
]
}
}

  • User GUID in incorrect format

General Error Handling Documentation:

Click Here

back to top

Docs Navigation