(Quick Reference)

28 Assign items to customer groups - Reference Documentation

Version: 2.1

28 Assign items to customer groups

28.1 List

Service: List

Description: This web service return the list of assigned item customer groups in JSON format

URL:

http://BASE_URL/api/VERSION/itemCustomerGroup

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 
groupReferenceWildcard search by the resource's referenceStringnogroupReference=Ref-6* , groupReference=*ef-6 , groupReference=*ef-6*
itemReferenceWildcard search by the item's referenceStringnoitemReference=Ref-6* , itemReference=*ef-6 , itemReference=*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": 159,
            "itemReference": "R-A-001",
            "customerGroupReference": "RG-3",
            "item": {
                "id": 1751,
                "reference": "R-A-001",
                "name": "article1",
                "href": "/api/v1.0/items/1751"
            },
            "customerGroup": {
                "id": 23,
                "reference": "RG-3",
                "name": "new CustomerGroup3",
                "href": "/api/v1.0/customerGroups/23"
            },
            "organization": "Lyon",
            "dateCreated": "2016-08-23T11:23:27Z",
            "lastUpdated": "2016-08-23T11:23:27Z"
        },
        {
            "id": 160,
            "itemReference": "R-A-001",
            "customerGroupReference": "RG-2",
            "item": {
                "id": 1751,
                "reference": "R-A-001",
                "name": "article1",
                "href": "/api/v1.0/items/1751"
            },
            "customerGroup": {
                "id": 22,
                "reference": "RG-2",
                "name": "CustomerGroup2",
                "href": "/api/v1.0/customerGroups/22"
            },
            "organization": "Lyon",
            "dateCreated": "2016-08-23T11:33:13Z",
            "lastUpdated": "2016-08-23T11:33:13Z"
        }
    ]
}

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..."
}

28.2 Show

Service: Show

Description: This web service return an existing assigned item group object of the specified id in JSON format

Method: GET

URL:

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

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired assigned item customer groupLongYes777

URL with external_id:

https://BASE_URL/api/VERSION/itemCustomerGroup/reference/{itemId}/{customerGroupId}

Parameters:

NameDescriptionTypeRequiredExamples values
itemIdreference of the itemStringYesI-002
customerGroupIdreference of the customer groupStringYesIG-001

Success Output

Success case: response.status=200
{
    "id": 159,
    "itemReference": "R-A-001",
    "customerGroupReference": "RG-3",
    "item": {
      "id": 1751,
      "reference": "R-A-001",
      "name": "article1",
      "href": "/api/v1.0/items/1751"
    },
    "customerGroup": {
      "id": 23,
      "reference": "RG-3",
      "name": "new CustomerGroup3",
      "href": "/api/v1.0/customerGroups/23"
    },
    "organization": "Lyon",
    "dateCreated": "2016-08-23T11:23:27Z",
    "lastUpdated": "2016-08-23T11:23:27Z"
}

Failure Output

Failure case:response.status = 404
{
    "error": "not_found",
    "error_description": "The item customer group assign 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."
}

28.3 Delete

Service: Delete

Description: This web service is used in order to delete an existing assigned item customer group object from the database

Method: DELETE

URL:

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

Parameters:

NameDescriptionTypeRequiredExamples values
idId of the desired assigned item customer group to deleteLongYes777

URL with external_id:

https://BASE_URL/api/VERSION/itemCustomerGroup/reference/{itemId}/{customerGroupId}

Parameters:

NameDescriptionTypeRequiredExamples values
itemIdreference of the itemStringYesI-002
customerGroupIdreference of the customer groupStringYesIG-001

Success Output

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

Failure Output

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 = 404
{
    "error": "not_found",
    "error_description": "The item customer group assign with the id 100 doesn't exist."
}

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

28.4 Update

Service: Update

Description: This web service is used to update an existing assigned item group object to the database

Method: PUT

Request content type: application/json

URL:

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

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired assigned item customer group to updateLongYes111
customerGroupIdthe id of the customer group to be assignedLongYes777
itemIdthe id of the new item to assign to customerGroupLongYes123

URL with external_id:

https://BASE_URL/api/VERSION/itemCustomerGroup/reference/{itemId}/{customerGroupId}

Parameters:

NameDescriptionTypeRequiredExamples values
itemIdreference of the itemStringYesI-002
customerGroupIdreference of the customer groupStringYesIG-001

Success Output

Success case: response.status=200
{
    "id": 159,
    "itemReference": "R-A-001",
    "customerGroupReference": "RG-3",
    "item": {
      "id": 1751,
      "reference": "R-A-001",
      "name": "article1",
      "href": "/api/v1.0/items/1751"
    },
    "customerGroup": {
      "id": 23,
      "reference": "RG-3",
      "name": "new CustomerGroup3",
      "href": "/api/v1.0/customerGroups/23"
    },
    "organization": "Lyon",
    "dateCreated": "2016-08-23T11:23:27Z",
    "lastUpdated": "2016-08-23T11:23:27Z"
}

Failure Output

Failure case:response.status = 400
{
    "error": "missing_param",
    "error_description": "customerGroupId parameter is missing"
}
{
    "error": "already_assigned",
    "error_description": "item is already assigned to customerGroup."
}
{
    "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 customer group with the id 999 doesn't exist."
}

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

28.5 Create

Service: Save

Description: This web service is used to add a new assigned item group object into the database

URL:

https://BASE_URL/api/VERSION/itemCustomerGroup

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
customerGroupIdthe id of the customer group to be assignedLong/StringYes777
itemIdthe id of the new item group to assign to an itemGroupLong/StringYes123
useExternalIdBy default, it is set to false. set it to true if you want to use external ids.Booleannotrue , false

Success Output

Success case: response.status=201
{
    "id": 159,
    "itemReference": "R-A-001",
    "customerGroupReference": "RG-3",
    "item": {
      "id": 1751,
      "reference": "R-A-001",
      "name": "article1",
      "href": "/api/v1.0/items/1751"
    },
    "customerGroup": {
      "id": 23,
      "reference": "RG-3",
      "name": "new CustomerGroup3",
      "href": "/api/v1.0/customerGroups/23"
    },
    "organization": "Lyon",
    "dateCreated": "2016-08-23T11:23:27Z",
    "lastUpdated": "2016-08-23T11:23:27Z"
}

Failure Output

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

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

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