(Quick Reference)

50 Assign customers to promotion Lists - Reference Documentation

Version: 2.1

50 Assign customers to promotion Lists

50.1 List

Service: List

Description: This web service return the list of customer promotion lists data in JSON Format

URL:

https://BASE_URL/api/VERSION/customerPromotionLists

Method: GET

Parameters:

Pagination parameters:

NameDescriptionTypeRequiredPossible values
offsetTells where to start returning records from the entire set of resultsIntegerNo 
maxlimits the number of resources requested to returnIntegerNo 
sortOrders the results by the specified fieldStringNo 
orderOrders ascending (ASC) or descending DESCIntegerNoasc, desc

Filters parameters:

NameDescriptionTypeRequiredExample values
dateCreated_gtFilters by the resource's creation date time and operator greater thanDateno2016-08-15T14:52:48Z
dateCreated_gteFilters by the resource's creation date time and operator greater than or equalDateno 
dateCreated_ltFilters by the resource's creation date time and operator less thanDateno 
dateCreated_lteFilters by the resource's creation date time and operator less than or equalDateno 
lastUpdated_gtFilters by the resource's last-modified date time and operator greater thanDateno 
lastUpdated_gteFilters by the resource's last-modified date time and operator greater than or equalDateno 
lastUpdated_ltFilters by the resource's last-modified date time and operator less thanDateno 
lastUpdated_lteFilters by the resource's last-modified date time and operator less than or equalDateno 
promotionListReferenceWildcard search by the resource's referenceStringnopromotionListReference=Ref-6* , promotionListReference=*ef-6 , promotionListReference=*ef-6*
customerReferenceWildcard search by the resource's referenceStringnocustomerReference=Ref-6* , customerReference=*ef-6 , customerReference=*ef-6*
Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)

Success Output

Success case: response.status=200

{
    "paging": {
        "total": 2,
        "max": 100,
        "offset": 0,
        "previous": null,
        "next": null
    },
    "data": [
        {
            "id": 305,
            "customerReference": "C-002",
            "promotionListReference": "RP-001",
            "customer": {
                "id": 1335,
                "reference": "C-002",
                "name": "cus2",
                "href": "/api/v1.0/customers/1335"
            },
            "promotionList": {
                "id": 9,
                "reference": "RP-001",
                "href": "/api/v1.0/promotionLists/9"
            },
            "organization": "Lyon",
            "dateCreated": "2016-08-22T14:43:17Z",
            "lastUpdated": "2016-08-22T14:43:17Z"
        },
        {
            "id": 306,
            "customerReference": "C-001",
            "promotionListReference": "RP-001",
            "customer": {
                "id": 1334,
                "reference": "C-001",
                "name": "cus1",
                "href": "/api/v1.0/customers/1334"
            },
            "promotionList": {
                "id": 9,
                "reference": "RP-001",
                "href": "/api/v1.0/promotionLists/9"
            },
            "organization": "Lyon",
            "dateCreated": "2016-08-22T14:43:19Z",
            "lastUpdated": "2016-08-22T14:43:19Z"
        }
    ]
}

Failure Output

Failure case:response.status = 400
{
   "error": "invalid_param",
   "error_description": "The parameters [dateCreated_gta] you provided are not valid for this request."
}
{
    "error": "invalid_datetime_format",
    "error_description": "Invalid datetime filter (not ISO-8601 formatted): [2016-08-1Z]"
}

Failure case:response.status = 500
{
   "error": "server_error",
   "error_description": "Oops! Something went wrong..."
}

50.2 Show

Service: Show

Description: This web service return an existing customer promotion list record of the specified id in JSON format

Method: GET

URL:

https://BASE_URL/api/VERSION/customerPromotionLists/{id}

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired objectLongYes777

URL with external_id:

https://BASE_URL/api/VERSION/customerPromotionLists/reference/{customerId}/{promotionListId}

Parameters:

NameDescriptionTypeRequiredExamples values
customerIdreference of the customerStringYesC-002
promotionListIdreference of the promotion listStringYesPL-001

Success Output

Success case: response.status=200
{
    "id": 305,
    "customerReference": "C-002",
    "promotionListReference": "RP-001",
    "customer": {
        "id": 1335,
        "reference": "C-002",
        "name": "cus2",
        "href": "/api/v1.0/customers/1335"
    },
    "promotionList": {
        "id": 9,
        "reference": "RP-001",
        "href": "/api/v1.0/promotionLists/9"
    },
    "organization": "Lyon",
    "dateCreated": "2016-08-22T14:43:17Z",
    "lastUpdated": "2016-08-22T14:43:17Z"
}

Failure Output

Failure case:response.status = 404
{
    "error": "not_found",
    "error_description": "The customer promotion list with the id 999 doesn't exist."
}

Failure case:response.status = 400
{
    "error": "invalid_param_type",
    "error_description": "The type of parameter id you provided is not valid for this request."
}

50.3 Delete

Service: Delete

Description: This web service is used in order to delete an existing customer promotion list object from the database

Method: DELETE

URL:

https://BASE_URL/api/VERSION/customerPromotionLists/{id}

Parameters:

NameDescriptionTypeRequiredExamples values
idId of the customer promotion list object to deleteLongYes777

URL with external_id:

https://BASE_URL/api/VERSION/customerPromotionLists/reference/{customerId}/{promotionListId}

Parameters:

NameDescriptionTypeRequiredExamples values
customerIdreference of the customerStringYesC-002
promotionListIdreference of the promotion listStringYesPL-001

Success Output

Success case: response.status=200
{
    "success": "true",
    "success_description": "Instance deleted successfully"
}

Failure Output

Failure case:response.status = 404
{
    "error": "not_found",
    "error_description": "The customer promotion list with the id 999 doesn't exist."
}

Failure case:response.status = 400
{
    "error": "invalid_param_type",
    "error_description": "The type of parameter id you provided is not valid for this request."
}
{
    "error": "delete_failed",
    "error_description": "Failed to delete instance"
}

Failure case:response.status = 500
{
    "error": "server_error",
    "error_description": "Oops! Something went wrong..."
}

50.4 Update

Service: Update

Description: This web service is used to add an existing customer promotion list object to the database

Method: PUT

Request content type: application/json

URL:

https://BASE_URL/api/VERSION/customerPromotionLists/{id}

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired customer promotion list to updateLongrequired123
promotionListIdthe id of the promotionList to assignLongYes777
customerIdthe id of the customer to assignLongYes111

URL with external_id:

https://BASE_URL/api/VERSION/customerPromotionLists/reference/{customerId}/{promotionListId}

Parameters:

NameDescriptionTypeRequiredExamples values
customerIdreference of the customerStringYesC-002
promotionListIdreference of the promotion listStringYesPL-001

If the value applyToAllCustomers of the specified promotion list is true then update can not be achieved

Success Output

Success case: response.status = 200
{
    "id": 305,
    "customerReference": "C-002",
    "promotionListReference": "RP-001",
    "customer": {
        "id": 1335,
        "reference": "C-002",
        "name": "cus2",
        "href": "/api/v1.0/customers/1335"
    },
    "promotionList": {
        "id": 9,
        "reference": "RP-001",
        "href": "/api/v1.0/promotionLists/9"
    },
    "organization": "Lyon",
    "dateCreated": "2016-08-22T14:43:17Z",
    "lastUpdated": "2016-08-22T15:28:56Z"
}

Failure Output

Failure case:response.status = 400
{
    "error": "missing_param",
    "error_description": "promotionListId parameter is missing"
}
{
    "error": "already_assigned",
    "error_description": "customer is already assigned to promotionList."
}
{
    "error": "invalid_param_type",
    "error_description": "The type of parameter id you provided is not valid for this request."
}

{
     "error": "save_failed",
     "error_description": "Failed to save instance"
}

Failure case:response.status = 404
{
    "error": "not_found",
    "error_description": "The promotionList with the id 999 doesn't exist."
}

Failure case:response.status = 500
{
    "error": "server_error",
    "error_description": "Oops! Something went wrong..."
}

50.5 Create

Service: Save

Description: This web service is used to add a new customer promotion list object to the database

URL:

https://BASE_URL/api/VERSION/customerPromotionLists

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
promotionListIdthe id of the promotionList to assignLong/StringYes777
customerIdthe id of the customer to assignLong/StringYes111
useExternalIdBy default, it is set to false. set it to true if you want to use external ids.Booleannotrue , false

If the value applyToAllCustomers of the specified promotion list is true then save can not be achieved

Success Output

Success case: response.status = 201
{
    "id": 307,
    "customerReference": "C-003",
    "promotionListReference": "RP-001",
    "customer": {
        "id": 1336,
        "reference": "C-003",
        "name": "cus3",
        "href": "/api/v1.0/customers/1336"
    },
    "promotionList": {
        "id": 9,
        "reference": "RP-001",
        "href": "/api/v1.0/promotionLists/9"
    },
    "organization": "Lyon",
    "dateCreated": "2016-08-22T15:16:25Z",
    "lastUpdated": "2016-08-22T15:16:25Z"
}

Failure Output

Failure case:response.status = 400
{
    "error": "missing_param",
    "error_description": "promotionListId parameter is missing"
}
{
    "error": "already_assigned",
    "error_description": "customer is already assigned to promotionList."
}
{
     "error": "save_failed",
     "error_description": "Failed to save instance"
}

Failure case:response.status = 404
{
    "error": "not_found",
    "error_description": "The promotionList with the id 999 doesn't exist."
}

Failure case:response.status = 500
{
    "error": "server_error",
    "error_description": "Oops! Something went wrong..."
}