POST customer_events/bulk/purchases/create

Available from CRM.COM R10.0.0

This method is used to create multiple purchase customer events within a single Web API method call. Note that the maximum number of purchase customer events that can be created is 1000

Resource URL

Parameters

Name

Type

Description

token

String

The token retrieved from the login method

purchase_customer_events_set

(mandatory)

Set of Purchases Customer Event Objects

The set of purchases customer events that will be created by this Web API method. Note that the maximum number of purchases customer events that can be specified within a single Web API call is 1000

intended_currency_identifier

(optional)

Currency Identifier

The currency that the user was intended to use for the customer events. If specified then it is validated against the currency of the related performed by unit (i.e. the default currency) and if they don't match then an error is throw. Note that the intended currency is not saved within CRM.COM; it is just used for validation purposes. The allowed currency identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the currency

code

(semi-optional)

String

The code of the currency

Available from CRM.COM R11.0.0

fields_set

(optional)

List of Strings, comma separated


A list of fields that should be included in the results. If not specified then all the available fields will be returned

Referred Parameter Objects


 bulk purchase customer event parameter object data

Name

Type

Description

request_unique_identifier

(mandatory)

StringA unique identifier of the request, provided by the caller, in order to identify the successful or failed results. Note that this information should be unique and is not stored within CRM.COM

accounts_receivable_identifier

(mandatory)

Accounts receivable Identifier

The related accounts receivable. The allowed accounts receivable identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the accounts receivable

number

(semi-optional)

String

The number of the accounts receivable

name

(semi-optional)

String

The name of the accounts receivable

access_token_identifier

(semi-optional)

Access Token Identifier

The identifier of the access token which is related with the accounts receivable. Only effective access tokens can be used to identify an accounts receivable. The allowed access token identifier fields are the following

Name

Type

Description

authentication_code

(semi-optional)

String

The authentication code of the access token

identifier

(semi-optional)

StringThe identifier of the access token. If the identifier is specified then it will be validated against the specified pass code

pass_code

(mandatory on conditions)

StringThe pass code of the access token, which is applicable and mandatory if the identifier is specified

one_time_password

(semi-optional)

Integer

The one-time password (OTP) of the access token

Available from CRM.COM R13.0.0

Available from CRM.COM R8.0.0

Deprecated from CRM.COM R18.0.0

For releases prior CRM.COM R17.0.0, this field was semi-optional

From CRM.COM R17.0.0, the access token attributes are supported

rewards_participant_identifier

(semi-optional)

Rewards Participant Identifier
The related rewards participant. The allowed rewards participant identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the rewards participant

number

(semi-optional)

String

The number of the rewards participant

access_token_identifier

(semi-optional)

Access Token Identifier

The identifier of the access token which is related with the rewards participant. Only effective access tokens can be used to identify a rewards participant. The allowed access token identifier fields are the following:

Name

Type

Description

authentication_code

(semi-optional)

String

The authentication code of the access token

identifier

(semi-optional)

StringThe identifier of the access token. If the identifier is specified then it will be validated against the specified pass code

pass_code

(mandatory on conditions)

StringThe pass code of the access token, which is applicable and mandatory if the identifier is specified

one_time_password

(semi-optional)

Integer

The one-time password (OTP) of the access token

Available from CRM.COM R13.0.0

Deprecated from CRM.COM R17.0.0

classification_identifier

(optional)

Customer Event Classification Identifier
The classification of the customer event. The allowed customer event classification identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the customer event classification

name

(semi-optional)

String

The name of the customer event classification

alternative_code

(semi-optional)

String

The alternative code of  the customer event classification

performed_by_business_unit_identifier

(semi-optional)

Business Unit Identifier
The business unit that initiated the customer event. The allowed identifier fields are the following

Name

Type

Description

id

(semi-optional)

String

The ID of the business unit

name

(semi-optional)

String

The code of the business unit

code

(semi-optional)

String

The code of the business unit

Available from CRM.COM R18.0.0

performed_by_unit_identifier

(semi-optional)

Unit Identifier
The unit that initiated the customer event. The allowed identifier fields are the following

Name

Type

Description

id

(semi-optional)

String

The ID of the Unit

name

(semi-optional)

String

The name of the Unit

alternative_code

(semi-optional)

String

The alternative code of  the Unit

For releases prior CRM.COM R17.0.0, this attribute was mandatory

From CRM.COM R17.0.0, this attribute will be set automatically if the performed_by_device_identifier is specified

Deprecated from CRM.COM R18.0.0

performed_by_tap_identifier

(semi-optional)

Transaction Acquiring Point Identifier

The unit's transaction acquiring point that initiated the customer event. The allowed identifier fields are the following

Name

Type

Description

id

(semi-optional)

String

The ID of the transaction acquiring point

name

(semi-optional)

String

The name of the transaction acquiring point

code

(semi-optional)

StringThe code of the transaction acquiring point

Available from CRM.COM R17.0.0

From CRM.COM R17.0.0, this attribute will be set automatically if the performed_by_unit_identifier is specified

From CRM.COM R18.0.0, this attribute will be set automatically if the performed_by_business_unit_identifier is specified

performed_on

(mandatory)

DateThe date that the customer event was actually performed

description

(optional)

StringA description of the customer event

reference_number

(mandatory)

StringThe reference number of the retrieved purchase customer event

payment_medium_brand_identifier

(optional)

Payment Medium Brand Identifier

The identifier of the payment medium brand with which the purchase customer event has been made. The allowed payment medium brand identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the payment medium brand

name

(semi-optional)

String

The name of the payment medium brand

alternative_code

(semi-optional)

String

The alternative code of  the payment medium brand

payment_medium_type_identifier

(optional)

Payment Medium Type Identifier

The payment medium type with which the purchase customer event has been made. The allowed payment medium type identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the payment medium type

name

(semi-optional)

String

The name of the payment medium type

alternative_code

(semi-optional)

String

The alternative code of  the payment medium type

payment_medium_identifier

(optional)

String

The payment medium identifier with which the purchase customer event has been made

invoice_identifier

(optional)

Invoice Identifier
The CRM.COM invoice related with the purchase. The allowed invoice identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the invoice

number

(semi-optional)

String

The number of the invoice

reference_number

(semi-optional)

String

The reference number of  the invoice

back_office_code

(semi-optional)

String

The back office code of the invoice

Available from CRM.COM R9.1.0

external_system

(optional)

StringThe third party system that generates the customer event

external_system_reference_number

(optional)

String

The unique reference number of the customer event in the external system

Available from CRM.COM R10.1.0

udf_string_1

(optional)

String

User Defined Field of type String

udf_string_2

(optional)

String

User Defined Field of type String

udf_string_3

(optional)

String

User Defined Field of type String

udf_string_4

(optional)

String

User Defined Field of type String

udf_string_5

(optional)

String

User Defined Field of type String

udf_string_6

(optional)

String

User Defined Field of type String

udf_string_7

(optional)

String

User Defined Field of type String

udf_string_8

(optional)

String

User Defined Field of type String

udf_string_9

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_string_10

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_string_11

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_string_12

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_string_13

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_string_14

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_string_15

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_string_16

(optional)

String

User Defined Field of type String

Available from CRM.COM R10.1.0

udf_float_1

(optional)

Float

User Defined Field of type Float

udf_float_2

(optional)

Float

User Defined Field of type Float

udf_float_3

(optional)

Float

User Defined Field of type Float

udf_float_4

(optional)

Float

User Defined Field of type Float

udf_date_1

(optional)

Date

User Defined Field of type Date

udf_date_2

(optional)

Date

User Defined Field of type Date

udf_date_3

(optional)

Date

User Defined Field of type Date

udf_date_4

(optional)

Date

User Defined Field of type Date

spend_request

(optional)

Spend Request Object

Information related with the spend request that should be created as part of the purchase customer event

Available from CRM.COM R17.0.0

 products_set

(mandatory)

Set of  Purchase Product ObjectsThe purchased products, along with the total amount, net amount and VAT amount for each product

Referred Parameter Objects

 purchase customer event spend request parameter object data

Name

Type

Description

spend_amount

(semi-optional)

Float

The amount to be spent by the specified spend request in system currency

spend_alternative_amount

(semi-optional)

Float

The amount to be spent by the specified spend request in alternative currency

 purchase customer event product parameter object data

Name

Type

Description

product_identifier

(mandatory)

Products IdentifierThe purchased product. The allowed product identifier fields are the following:

Name

Type

Description

id

(semi-optional)

String

The ID of the product

code

(semi-optional)

String

The code of the product

alternative_code

(semi-optional)

String

The alternative code of  the product

quantity

(optional)

Number

The quantity of the specified purchase customer event product. If not specified then it automatically defaults to 1

Available from CRM.COM R10.0.0


net_amount

(mandatory)

NumberThe net amount of the specified purchase customer event product

vat_amount

(mandatory)

NumberThe VAT amount of the specified purchase customer event product

total_amount

(mandatory)

NumberThe total amount of the specified purchase customer event product

Response Data

Name

Type

Description

processed_customer_events_set

Set of Processed customer Events Objects

A set that contains the ID and the number of the customer events that were created

 

unprocessed_customer_events_set

Set of Unprocessed customer Events Objects

A set that contains the customer events that were not created due to an error. Each row includes the unique request identifier , as provided by the caller, along with an error code and error description.

 

Referred Objects Response Data

 processed customer event object response data

Name

Type

Description

request_unique_identifierStringA unique identifier of the request, as provided by the caller, in order to identify the successful results.

id

String

The ID of the customer event that was created

number

String

The number of the customer event that was created

 unprocessed customer event object response data

Name

Type

Description

request_unique_identifierStringA unique identifier of the request, as provided by the caller, in order to identify the failed results.
error_code

String

The code of the error that was raised

error_descriptionString

The description of the error that was raised

Examples

 Example 1

HTTP Method: POST


Request:

Body:

{
   "token":"{{token}}",
  "purchase_customer_events_set":
   [
        {
            "request_unique_identifier":"31",
            "accounts_receivable_identifier":{"number":"ACR0000000228"},
            "performed_by_unit_identifier":{"name":"Admin Unit"},
            "performed_on":"2016-06-22T15:00:00",
            "reference_number":"RF01",
    
        "products_set":
        [
            {
            "product_identifier":{"code":"Serendipity"},
            "total_amount":60,
            "net_amount":50,
            "vat_amount":10
            },
            {
            "product_identifier":{"code":"Bronze"},
            "total_amount":180,
            "net_amount":160,
            "vat_amount":20
            }
        ]
      }
      ,
        {
            "request_unique_identifier":"32",
            "accounts_receivable_identifier":{"number":"ACR0000000228"},
            "performed_by_unit_identifier":{"name":"Admin Unit"},
            "performed_on":"2016-06-22T15:00:00",
            "reference_number":"RF01",
    
        "products_set":
        [
            {
            "product_identifier":{"code":"Serendipity"},
            "total_amount":60,
            "net_amount":50,
            "vat_amount":10
            },
            {
            "product_identifier":{"code":"Bronze"},
            "total_amount":180,
            "net_amount":160,
            "vat_amount":20
            }
        ]
      },
       {
            "request_unique_identifier":"33",
            "accounts_receivable_identifier":{"number":"ACR00008"},
            "performed_by_unit_identifier":{"name":"Admin Unit"},
            "performed_on":"2016-06-22T15:00:00",
            "reference_number":"RF01",
    
        "products_set":
        [
            {
            "product_identifier":{"code":"Serendipity"},
            "total_amount":60,
            "net_amount":50,
            "vat_amount":10
            },
            {
            "product_identifier":{"code":"Bronze"},
            "total_amount":180,
            "net_amount":160,
            "vat_amount":20
            }
        ]
      },
       {
            "request_unique_identifier":"34",
            "accounts_receivable_identifier":{"number":"ACR0000058"},
            "performed_by_unit_identifier":{"name":"Admin Unit"},
            "performed_on":"2016-06-22T15:00:00",
            "reference_number":"RF01",
    
        "products_set":
        [
            {
            "product_identifier":{"code":"Serendipity"},
            "total_amount":60,
            "net_amount":50,
            "vat_amount":10
            },
            {
            "product_identifier":{"code":"Bronze"},
            "total_amount":180,
            "net_amount":160,
            "vat_amount":20
            }
        ]
      }
    ]
}


Response:

{
  "data": {
    "unprocessed_customer_events_set": [
      {
        "error_description": "Error:Account (ACR00008) Not Found. - Description:The specified API value was not found.",
        "error_code": "NotFoundAPIValueException",
        "request_unique_identifier": "33"
      },
      {
        "error_description": "Error:Account (ACR0000058) Not Found. - Description:The specified API value was not found.",
        "error_code": "NotFoundAPIValueException",
        "request_unique_identifier": "34"
      }
    ],
    "processed_customer_events_set": [
      {
        "number": "123",
        "id": "C6F33A7C8A38446FA1A58ACDF105AFE8",
        "request_unique_identifier": "31"
      },
      {
        "number": "124",
        "id": "DFB1ED07A8DB45F6A9205E3CCFCDC14E",
        "request_unique_identifier": "32"
      }
    ]
  },
  "status": {
    "code": "OK",
    "description": "",
    "message": ""
  }
}