BackOffice Admin

https://sandbox.crm.com/backoffice/v1
Introduction

Welcome to the CRM.COM Application Programming Interface (API) documentation

The CRM.COM API is designed around REST, allowing you to access and extend the software’s current functionality in a simple, programmatic way using intuitive URL endpoints, conventional HTTP requests, response codes, authentication and verbs.

Back-Office API is designed with a main focus on users and external systems that desire to access and extend the functionality found in CRM.COM.

For the Mobile/Web based Applications API please refer to the Self-Service API documentation that provides more details how to allow customer to manage their subscriptions and/or reward accounts.

Change Log

Release Date 14th Sept 2020

This is the first release of the CRM V5 platform API’s

Authentication

CRM.COM BackOffice API uses either API keys to authenticate requests or an authentication JWT token obtained from a user successful logging in

API keys can be accessed and managed in the CRM.COM Dashboard. Such API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code and so forth

All API requests must be made over HTTPS. API requests made over plain HTTP or without authentication will fail. API keys authentication is made using -H “api_key : crm_test_;dwfwgiuhjr412edws”, while User Bearer Auth is achieved using -H “Authorization: Bearer JWT_TOKEN”

Unique Resource Identifiers

CRM.COM is built on a domain based micro-service architecture. Our primary resources such as Contact, Account, Wallet, Products, Subscriptions are all created with a unique identifier that uses a performant time based GUID. These are generated when a new resource such as a contact is created. However in some cases external integration may wish to use a unique identfier that is stored in an external system, such as a Bank CIF or Credit Card fingerprint.

Some systems allow from their create APIs to supply a unique identifier as part of the request body. CRM.COM has decided to provide an alternative approach and make an alternative unique identifier available on resources (e.g. on Contacts we provide the contact.code). If such attribute is specified during the create operation it wil be available on subsequent operations as a resource’s identifier, alongside with the GUID that is returned in the response body. Updating such resource can be achieved either using PUT /contact/GUID or PUT /contact/CODE.

Error Codes

CRM.COM uses conventional HTTP response codes and human-readable messages in JSON format to indicate the success or failure of an API request

  • 2xx success status codes confirm that your request worked as expected
  • 4xx error status codes indicate an error because of the information provided (e.g., a required parameter was omitted)
  • 5xx error status codes are rare and indicate an error with Stripe’s servers

Please note that some 4xx errors that could be handled programmatically (e.g. a contact already exists) contain the following informaiion

  • HTTP Code (programmatic consumption)
  • Message (human-readable)
  • Attribute (attribute that caused the error)

Below is a list of our common error codes that can be returned, along with additional information about how to resolve them

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Operations
Accounts
POST /contacts/{id}/accounts
GET /contacts/{id}/accounts
PUT /accounts/{id}
POST /accounts/{id}/life_cycle_state
Add Account for Contact
POST /contacts/{id}/accounts

Add a new customer account to an existing contact

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
classification_id
string GUID nullable

The account’s classification ID

Example:
4AD9C84FA60F9FE407140E20F707726A
currency_code
string nullable

The account’s currency

Example:
USD
is_primary
boolean nullable

If set to true, then the account will be set as the primary one even if a different one exists

Example:
true
billing_address_id
string GUID nullable

The unique identification of a contact address which will be set as the billing address of the account. By default, the primary addres (if exists) will be provided

Example:
4AD9C84FA60F9FE407140E20F707726A

Responses

200 200

OK

Body
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/accounts HTTP/1.1 

Content-Type: application/json

{
    "classification_id": "4AD9C84FA60F9FE407140E20F707726A",
    "currency_code": "USD",
    "is_primary": true,
    "billing_address_id": "4AD9C84FA60F9FE407140E20F707726A"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
List Contact Accounts
GET /contacts/{id}/accounts

Get a list of Contact Accounts. Normally a contact will have a single account but multiple accounts can be used to service different currencies, or different spending profiles.

Path variables

id
string GUID required

The contact identifier whose accounts will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

is_primary
boolean optional

If set to true, then only the primary account of the contact will get retrieved

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
is_primary
boolean

Indicates the primary account of the contact

Example:
true
name
string

The account name

Example:
Default
number
string

The Account number

Example:
AC123456
life_cycle _state
string

The account’s life cycle state

Enumeration:
ACTIVE
SUSPENDED
TERMINATED
currency_code
string

The account’s currency

classification
Object

The account’s classification

id
string GUID

The classification identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The classification name

Example:
VIP
balance
number

The account’s calculated balance

Example:
200
credit_limit
number

The account’s credit limit

Example:
100
overdue_amount
number

The unpaid amount that is passed its due date

Example:
50
billing_address_id
string GUID

The billing address of the account which is the same as one of the contact’s addresses

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
wallet
Object

The account’s wallet information (if available)

id
string GUID

The wallet identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
code
string
Example:
1234567898767543
balance
number
Example:
200.2
currency_code
string
Example:
EUR
life_cycle_state
string

The wallet’s life cycle state

Enumeration:
EFFECTIVE
CANCELLED
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/accounts HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "accounts": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "is_primary": true,
            "name": "Default",
            "number": "AC123456",
            "life_cycle _state": "ACTIVE",
            "currency_code": "",
            "classification": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "VIP"
            },
            "balance": 200,
            "credit_limit": 100,
            "overdue_amount": 50,
            "billing_address_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "wallet": {
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "code": "1234567898767543",
                "balance": 200.2,
                "currency_code": "EUR",
                "life_cycle_state": "CANCELLED"
            }
        }
    ]
}
Update Account
PUT /accounts/{id}

Update the account of a contact

Path variables

id
string GUID required

The account identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
classification_id
string GUID

The account’s classification ID

Example:
4AD9C84FA60F9FE407140E20F707726A
is_primary
boolean

If set to true, then the account will be set as the primary one even if a different one exists

Example:
true
billing_address_id
string GUID

The unique identification of a contact address which will be set as the billing address of the account. By default, the primary addres (if exists) will be provided

Example:
4AD9C84FA60F9FE407140E20F707726A
credit_limit
number

Sets the credit limit of the account, within the allowed range based on settings

Example:
200

Responses

200 200

OK

Body
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "classification_id": "4AD9C84FA60F9FE407140E20F707726A",
    "is_primary": true,
    "billing_address_id": "4AD9C84FA60F9FE407140E20F707726A",
    "credit_limit": 200
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Account's Life Cycle State
POST /accounts/{id}/life_cycle_state

Change the life cycle state of the Account

Path variables

id
string GUID required

The account identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
life_cycle_state
string required

The life cycle state that the account will changed into

Enumeration:
TERMINATED
SUSPENDED
ACTIVE
transfer_to_account_id
string GUID nullable

The account to which any account/wallet balance will get transfered, in case of Termination

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the account

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/life_cycle_state HTTP/1.1 

Content-Type: application/json

{
    "life_cycle_state": "TERMINATED",
    "transfer_to_account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Account Financials
GET /accounts/{id}/financials
POST /accounts/{id}/members
PUT /accounts/{id}/members/{member_id}
DELETE /accounts/{id}/members/{member_id}
GET /accounts/{id}/members
Get Account Financials
GET /accounts/{id}/financials

Get a single Account with its financial information

Path variables

id
string GUID required

The unique identification of the Account to be retrieved.

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
name
string

The account’s name

Example:
John Smith AC00123456
number
string

The account’s number

Example:
AC00123456
is_primary
boolean

Defines whether the account is the primary one of the contact

Example:
true
life_cycle_state
string

The account’s life cycle state

Enumeration:
ACTIVE
SUSPENDED
TERMINATED
currency_code
string

The account’s currency (3 code currency)

Example:
EUR
balance
number

The account’s calculated balance

Example:
200
overdue_amount
number

The unpaid amount that is passed its due date

Example:
100.5
credit_limit
number

The account’s credit limit

Example:
98
accounting_period_id
string GUID

The ID of the latest closed accounting period

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
accounting_period_name
string

The name of the account’s latest accounting period

Example:
OCTOBER2018
opening_balance
number

The opening balance brought forwards after the latest closed accounting period

Example:
100.5
classification
Object
id
string GUID

The unique identifier of the Account classification

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the Account classification

Example:
VIP
wallet
Array

The account’s wallet information (if available)

Object
id
string GUID

The wallet’s unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

A unique 16-digit code that if not provided, it is auto-generated

Example:
W00123456
balance
number

The total balance of the wallet

Example:
150.5
commerce_balance
number

The commerce balance of the wallet

Example:
98
open_balance
number

The open balance of the wallet

life_cycle_state
string

The wallet’s life cycle state

Enumeration:
EFFECTIVE
TERMINATED
minimum_balance
number

The minimum wallet balance threshold. If not provided, the global rules apply

Example:
9
limit_rules
Array

Defines the limit rules applied on specific wallet. If not provided, the global rules apply

Object
minimum_amount
number

The minimum amount allowed

Example:
100.5
maximum_amount
number

The maximum amount allowed

Example:
200
period
string

The period for which the limit is applied

Enumeration:
DAILY
MONTHLY
ANNUAL
transaction_type
string

The wallet transaction type for which the limit is applied

Enumeration:
CREDIT
DEBIT
TOPUP
TRANSFER
auto_topup
Object
threshold
number

Sets the threshold for the auto topup to be performed

Example:
10.5
amount
number

The amount to get topped up

Example:
10.5
payment_method
string

Indicates the method of collecting money

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
ACCOUNT
payment_method_id
string

The contact’s actual preferred payment method. Required and mandatory only for online payments (Card, Wallet, PayPal and Account). Defaults to the primary payment method, if any.

billing_address
Object
id
string GUID

The id of the billing address

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
address_line_1
string
Example:
2265 Oak Street
address_line_2
string
state_province_county
string
Example:
New York
town_city
string
Example:
Old Forge
postal_code
string
Example:
13420
country_code
string
Example:
USA
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/accounts/4AD9C84FA60F9FE407140E20F707726A/financials HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "John Smith AC00123456",
    "number": "AC00123456",
    "is_primary": "true",
    "life_cycle_state": "SUSPENDED",
    "currency_code": "EUR",
    "balance": 200,
    "overdue_amount": 100.5,
    "credit_limit": 98,
    "accounting_period_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "accounting_period_name": "OCTOBER2018",
    "opening_balance": 100.5,
    "classification": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "VIP"
    },
    "wallet": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "code": "W00123456",
            "balance": 150.5,
            "commerce_balance": 98,
            "open_balance": 1,
            "life_cycle_state": "EFFECTIVE",
            "minimum_balance": 9,
            "limit_rules": [
                {
                    "minimum_amount": 100.5,
                    "maximum_amount": 200,
                    "period": "ANNUAL",
                    "transaction_type": "TRANSFER"
                }
            ],
            "auto_topup": {
                "threshold": 10.5,
                "amount": 10.5,
                "payment_method": "PAYPAL",
                "payment_method_id": ""
            }
        }
    ],
    "billing_address": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "address_line_1": "2265 Oak Street",
        "address_line_2": "",
        "state_province_county": "New York",
        "town_city": "Old Forge",
        "postal_code": "13420",
        "country_code": "USA"
    }
}
Add Account Member
POST /accounts/{id}/members

Add new member on an account group.

Path variables

id
string GUID required

The account identifier that will add a member in its group

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
member_account_id
string

The account to join

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
funding_scope
string

The funding scope that the account joins the group

Enumeration:
FULLY
PARTIALLY
products
Array

The funded products of the member account

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_types
Array
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_families
Array
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the account

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/members HTTP/1.1 

Content-Type: application/json

{
    "member_account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "funding_scope": "PARTIALLY",
    "products": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "product_types": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "product_families": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Update Account Member
PUT /accounts/{id}/members/{member_id}

Update a member of this account group

Path variables

id
string GUID required

The account identifier that the member belongs to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
member_id
string GUID required

The member account identifier to be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
funding_scope
string

The funding scope that the account joins the group

Enumeration:
FULLY
PARTIALLY
products
Array

The funded products of the member account

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_types
Array
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_families
Array
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the account

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/members/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "funding_scope": "FULLY",
    "products": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "product_types": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "product_families": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Remove Account Member
DELETE /accounts/{id}/members/{member_id}

Remove a member account from an account group

Path variables

id
string GUID required

The account identifier that the member belongs to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
member_id
string GUID required

The member account identifier to be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the account

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/members/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
List Account Members
GET /accounts/{id}/members

Lists the members of an account

Path variables

id
string GUID required

The account identifier for which the members will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
members
Array
Object
id
string GUID

The member account’s unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The member account’s number

Example:
AC123456
funding_scope
string

The funding scope that the account joins the group

Enumeration:
FULLY
PARTIALLY
products
Array
Object
id
string GUID

The unique identifier of the funded product

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
sku
string

The SKU of the funded product

Example:
ABC123
product_types
Array
Object
id
string GUID

The unique identifier of the funded product type

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the funded product type

Example:
FOOD
product_families
Array
Object
id
string GUID

The unique identifier of the funded product family

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the funded product family

Example:
COFFEE

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the account

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/members HTTP/1.1 

Content-Type: application/json

{
    "members": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "number": "AC123456",
            "funding_scope": "PARTIALLY",
            "products": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "sku": "ABC123"
                }
            ],
            "product_types": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "FOOD"
                }
            ],
            "product_families": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "COFFEE"
                }
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Account Wallets
POST /accounts/{id}/wallets
PUT /wallets/{id}
POST /wallets/{id}/actions
GET /wallets/{id}/balances
POST /journals
Add Wallet for Account
POST /accounts/{id}/wallets

Add a new wallet for an existing account

Path variables

id
string GUID required

The account identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
minimum_balance
number

The minimum wallet balance threshold. If not provided, the global rules apply

Example:
10
limit_rules
Array

Defines the limit rules applied on specific wallet. If not provided, the global rules apply

Object
limit_amount
number

The maximum amount allowed

Example:
100
transaction_type
string

The wallet transaction type for which the limit is applied

Enumeration:
CREDIT
DEBIT
period
string

The period for which the limit is applied

Enumeration:
DAILY
MONTHLY
ANNUAL

Responses

200 200

OK

Body
Object
id
string GUID

The wallet identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/wallets HTTP/1.1 

Content-Type: application/json

{
    "minimum_balance": 10,
    "limit_rules": [
        {
            "limit_amount": 100,
            "transaction_type": "DEBIT",
            "period": "DAILY"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Wallet
PUT /wallets/{id}

Update the wallet of an account

Path variables

id
string GUID required

The wallet identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
minimum_balance
number

The minimum wallet balance threshold. If not provided, the global rules apply

Example:
10
limit_rules
Array

Defines the limit rules applied on specific wallet. If not provided, the global rules apply

Object
minimum_amount
number

The minimum amount allowed

Example:
100
maximum_amount
number

The maximum amount allowed

Example:
200
period
string

The period for which the limit is applied

Enumeration:
DAILY
MONTHLY
ANNUAL
transaction_type
string

The wallet transaction type for which the limit is applied

Enumeration:
CREDIT
DEBIT
TOPUP
TRANSFER
auto_topup
Object
threshold
number

Sets the threshold for the auto topup to be performed

Example:
10.5
amount
number

The amount to get topped up

Example:
10.5
payment_method
string

Indicates the method of collecting money

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
ACCOUNT
payment_method_id
string

The contact’s actual preferred payment method. Required and mandatory only for online payments (Card, Wallet, PayPal and Account). Defaults to the primary payment method, if any.

Responses

200 200

OK

Body
Object
id
string GUID

The wallet identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/wallets/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "minimum_balance": 10,
    "limit_rules": [
        {
            "minimum_amount": 100,
            "maximum_amount": 200,
            "period": "DAILY",
            "transaction_type": "TRANSFER"
        }
    ],
    "auto_topup": {
        "threshold": 10.5,
        "amount": 10.5,
        "payment_method": "ACCOUNT",
        "payment_method_id": ""
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Actions on Wallet
POST /wallets/{id}/actions

Change the life cycle state of the Wallet

Path variables

id
string GUID required

The wallet identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string

Defines the life cycle state of the wallet. If selected, then all of the above will not be taken into consideration

Enumeration:
TERMINATED
EFFECTIVE

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the wallet

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/wallets/CAD1E31269B76D7A65ACCE45B2E68DFD/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "EFFECTIVE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
List Wallet Balances
GET /wallets/{id}/balances

Get the wallet’s balances split per spend condition

Path variables

id
string GUID required

The unique identification of the wallet whose balance spend conditions will be retrieved.

Example:
4AD9C84FA60F9FE407140E20F707726A

Request parameters

spend_condition_id
string GUID optional

The id of a specific spend condition (optional). If not provided then all spend conditions are retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A
include_expiration
boolean optional

If se to true, then the expiration information will also be retrieved

Example:
true
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Array
Object
amount
number

The amount that is allocated to the specified spend condition

Example:
100.5
id
string

The unique ID of the spend condition group

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the spend condition group

Example:
Happy Hour
organisations
Array

The organisations where the amount can be spent at

Object
id
string

The ID of the organisation

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the organisation

Example:
Cafe
locations
Array

The location of the organisation

Object
name
string
Example:
Head Office
address_line_1
string
Example:
Elia Papakyriakou 21
address_line_2
string
Example:
7 Tower Stars
state_province_county
string
Example:
Egkomi
town_city
string
Example:
Nicosia
postal_code
string
Example:
2415
country_code
string
Example:
CY
lat
string
Example:
35.157115
lon
string
Example:
33.313719
googleplaceid
string
Example:
ChIJrTLr-GyuEmsRBfy61i59si0
products
Array

The products that the amount can be spent for

Object
id_type
string

The type of the ID to be provided

Enumeration:
PRODUCT
FAMILY
TYPE
BRAND
CATEGORY
id
string GUID

The ID of the product (based on the type provided)

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the product

Example:
Coffee
description
string

The descrtipion of the product

Example:
Brazilian Coffee
timings
Array

The time when the amount can be spent

Object
month
integer

The month as a condition (1-12)

Example:
1
day
integer

The day of the week as condition (1-7), 1 is Sunday

Example:
1
start_time
string

The start time of the day in 24 Hour format

Example:
19:00
end_time
string

The end time of the day in 24 Hour format

Example:
21:00
expiration
Object

Defines the amounts expiring in periods. Available only if the parameter include_expiration is set to true

zero_to_thirty
number

The amount that will expire in up to 30 days

Example:
50.5
thirty_to_sixty
number

The amount that will expire from 30 to 60 days

Example:
50.5
sixty_to_ninety
number

The amount that will expire from 60 to 90 days

Example:
50.5
ninety_plus
number

The amount that will expire in more than 90 days

Example:
50.5
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/wallets/4AD9C84FA60F9FE407140E20F707726A/balances HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "amount": 100.5,
        "id": "4AD9C84FA60F9FE407140E20F707726A",
        "name": "Happy Hour",
        "organisations": [
            {
                "id": "4AD9C84FA60F9FE407140E20F707726A",
                "name": "Cafe",
                "locations": [
                    {
                        "name": "Head Office",
                        "address_line_1": "Elia Papakyriakou 21",
                        "address_line_2": "7 Tower Stars",
                        "state_province_county": "Egkomi",
                        "town_city": "Nicosia",
                        "postal_code": "2415",
                        "country_code": "CY",
                        "lat": "35.157115",
                        "lon": "33.313719",
                        "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
                    }
                ]
            }
        ],
        "products": [
            {
                "id_type": "FAMILY",
                "id": "4AD9C84FA60F9FE407140E20F707726A",
                "name": "Coffee",
                "description": "Brazilian Coffee"
            }
        ],
        "timings": [
            {
                "month": 1,
                "day": 1,
                "start_time": "19:00",
                "end_time": "21:00"
            }
        ],
        "expiration": {
            "zero_to_thirty": 50.5,
            "thirty_to_sixty": 50.5,
            "sixty_to_ninety": 50.5,
            "ninety_plus": 50.5
        }
    }
]
Create Wallet Journal
POST /journals

Create a wallet debit or credit journal entry

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
wallet_id
string GUID

The unique identifier for which the journal entry will be created

Example:
4AD9C84FA60F9FE407140E20F707726A
amount
number

The amount of the journal

Example:
10
type
string

The type of the journal

Enumeration:
CREDIT
DEBIT
description
string

The description of the journal

Example:
Credit adjustment by 10 EUR
spend_condition_id
string GUID

The unique identifier of the related spend condition

Example:
4AD9C84FA60F9FE407140E20F707726A
valid_from
integer epoch

The valid from date

Example:
1587988965
valid_to
integer epoch

The valid to date

Example:
1587988965
created_on
integer epoch

The date and time when the journal actually created

Example:
1588081851
allow_below_zero
boolean

Allows a wallet debit journal to take the wallet balance below zero. By default, the wallet balance cannot go below zero.

Example:
true

Responses

200 200

OK

Body
Object
id
string GUID

The wallet journal identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/journals HTTP/1.1 

Content-Type: application/json

{
    "wallet_id": "4AD9C84FA60F9FE407140E20F707726A",
    "amount": 10,
    "type": "DEBIT",
    "description": "Credit adjustment by 10 EUR",
    "spend_condition_id": "4AD9C84FA60F9FE407140E20F707726A",
    "valid_from": 1587988965,
    "valid_to": 1587988965,
    "created_on": 1588081851
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Account Rewards
PUT /accounts/{id}/rewards
GET /accounts/{id}/rewards
POST /accounts/{id}/merchants
DELETE /accounts/{id}/merchants/{merchant_id}
POST /accounts/{id}/reward_schemes
DELETE /accounts/{id}/reward_schemes/{reward_scheme_id}
Update Account Rewards
PUT /accounts/{id}/rewards

Update the reward attributes of the primary account of a contact

Path variables

id
string GUID required

The account identifier whose reward attributes will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

Only Primary Accounts of a Contact hold Reward information

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
signed_up_on
integer epoch nullable

The date that the customer first signed up

Example:
1583846865
signed_up_organisation_id
string GUID nullable

The organisation identifier that signed up the customer (first time)

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
spending_blocked_status
boolean nullable

Defines whether the spending is blocked for the specific account

Example:
true
automatic_spend_settings
Object nullable

Information about the automatic spend settings for the account

enable_automatic_spend
boolean required

Defines whether automatic spend is enabled for the account

Example:
false
automatic_spend_preference
string nullable

Defines whether automatic spends will occur on the next purchase of a specific merchant or based on wallet balance and purchase amount to a group of merchants

Enumeration:
NEXT_MERCHANT_PURCHASE
ALL_MERCHANT_PURCHASE
minimum_wallet_balance
number nullable

The minimum wallet balance amount that should be available for the spend to be performed. Applicable when automatic spend preference is for all merchant purchases

from_purchase_amount
number nullable

The min amount (inclusive) that the purchase customer event total amount should be in order for the automatic spend to be applied. Applicable when automatic spend preference is for all merchant purchases

Example:
1.76
preferred_payment_method_id
string GUID nullable

The customer’s preferred payment method identifier that will be used for spending purposes for back-end reduction rewards (applicable payment methods are direct debit and credit cards related)

Example:
CAD1E31269B76D7A65ACCE45B2E68DCD

Responses

200 200

OK

Body
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/rewards HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "signed_up_on": 1583846865,
    "signed_up_organisation_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "spending_blocked_status": "true",
    "automatic_spend_settings": {
        "enable_automatic_spend": "false",
        "automatic_spend_preference": "ALL_MERCHANT_PURCHASE",
        "minimum_wallet_balance": 1,
        "from_purchase_amount": 1.76
    },
    "preferred_payment_method_id": "CAD1E31269B76D7A65ACCE45B2E68DCD"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Get Account Rewards
GET /accounts/{id}/rewards

Retrieve the Rewards details if a single account

Path variables

id
string GUID required

The unique identification of the Account to be retrieved.

Example:
4AD9C84FA60F9FE407140E20F707726A

Notes

Only Primary Accounts of a Contact hold Reward information

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The account’s name

Example:
John Smith AC00123456
number
string

The account’s number

Example:
AC00123456
currency_code
string

The account’s currency (3 code currency)

Example:
EUR
signed_up_on
integer epoch

The date when the account was signed up for the first time

Example:
1583846865
sign_up_organisation
Object

Information about the organisation that sign up the account for the first time

id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation name

Example:
CRMdotCOM
spending_blocked_status
boolean

Defines whether the account can spend or not

Example:
false
spending_blocked_date
integer epoch

The date that the spending status of the account was updated

Example:
1583846865
spending_blocked_user
Object

Information about the user that updated the spending status of the account

id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
email_address
string

The user’s email address

Example:
johndoe@crm.com
first_name
string

The user’s first name

Example:
John
last_name
string

The user’s last name

Example:
Doe
automatic_spend_settings
Object

Information about the automatic spend settings for the account

enable_automatic_spend
boolean

Defines whether automatic spend is enabled for the account

Example:
true
automatic_spend_preference
string

Defines whether automatic spends will occur on the next purchase of a specific merchant or based on wallet balance and purchase amount to a group of merchants

Enumeration:
NEXT_MERCHANT_PURCHASE
ALL_MERCHANT_PURCHASE
minimum_wallet_balance
number

The minimum wallet balance amount that should be available for the spend to be performed. Applicable when automatic spend preference is for all merchant purchases

Example:
0.52
from_purchase_amount
number

The min amount (inclusive) that the purchase customer event total amount should be in order for the automatic spend to be applied. Applicable when automatic spend preference is for all merchant purchases

Example:
1.78
merchants
Array

Information about the merchants that automatic spending is allowed

Object
id
string GUID

The merchant record identifier

Example:
REC1E31269B76D7A65ACCE45B2E68DFD
is_next_visit
boolean

Defines whether the merchant is setup for automatic spend on the next visit

Example:
false
organisation
Object

Information about organisation

id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation name

Example:
Bravo Coffee
reward_tier
Object

Information about the account’s reward tier

id
string GUID

The reward tier identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The reward tier name

Example:
Gold
color
string

The designated hexadecimal code of the tier’s color

Example:
#d4af37
period_value_units
number

The account’s value units that accumulated during the last rolling period

Example:
222
lifetime_value_units
number

The account’s value units that accumulated overall

Example:
333
next_tier_progression
number

The progression percentage until the next reward tier is reached

Example:
45.98
tier_progression
Array

Details about The progression percentage for each reward tier

Object
percentage
number

The progression percentage until the reward tier

Example:
45.98
tier
Object

Details about the reward tier

id
string GUID

The reward tier identifier

Example:
41ed2390-4058-81a2-d41b-18acaea22c84
name
string

The reward tier name

Example:
Gold
value_units
integer

The tier (threshold) value units (inclusive)

Example:
2500
remaining_value_units
integer

The remaining value units to reach this tier

Example:
123
joined_reward_schemes
Array

Information about the reward schemes that the account has signed up to

Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The reward scheme name

Example:
CRMdotCOM Scheme
signed_up_on
integer epoch

The date when the account was signed up on the specific reward scheme

Example:
1583846865
email_address
string

The email address that was used during sign up (applicable if the reward scheme is a close loop scheme based on email domains)

Example:
johndoe@crm.com
sign_up_option
string

Defines how customers can sign up to the reward scheme

Enumeration:
AUTO_SIGN_UP
SELF_SIGN_UP
CLOSE_LOOP_SIGN_UP
preferred_payment_method
Object

The customer’s preferred payment method identifier that will be used for spending purposes for back-end reduction rewards (applicable payment methods are direct debit and credit cards related)

id
string GUID

The preferred payment method identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
payment_method_type
string

The customer’s preferred payment method identifier that will be used for spending purposes

Enumeration:
CARD
DIRECT_DEBIT
first6
string

The first six digits of the card (applicable only if the payment method type is card based)

Example:
424242
last4
string

The last four digits of the card (applicable only if the payment method type is card based)

Example:
4242
iban
string

The bank’s iban (applicable only if the payment method type is direct debit based)

Example:
CY3550000000054910000003
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/accounts/4AD9C84FA60F9FE407140E20F707726A/rewards HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "John Smith AC00123456",
    "number": "AC00123456",
    "currency_code": "EUR",
    "signed_up_on": 1583846865,
    "sign_up_organisation": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "CRMdotCOM"
    },
    "spending_blocked_status": "false",
    "spending_blocked_date": 1583846865,
    "spending_blocked_user": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "email_address": "johndoe@crm.com",
        "first_name": "John",
        "last_name": "Doe"
    },
    "automatic_spend_settings": {
        "automatic_spend_preference": "NEXT_MERCHANT_PURCHASE",
        "minimum_wallet_balance": 0.52,
        "from_purchase_amount": 1.78,
        "allowed_merchants": [
            {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "CRMdotCOM"
            }
        ]
    },
    "reward_tier": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Gold",
        "color": "#d4af37",
        "period_value_units": 222,
        "lifetime_value_units": 333,
        "next_tier_progression": 45.98
    },
    "joined_reward_schemes": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "CRMdotCOM Scheme"
            "signed_up_on": 1583846865,
            "email_address": "johndoe@crm.com",
            "sign_up_option": "CLOSE_LOOP_SIGN_UP"
        }
    ]
}
Add Merchants
POST /accounts/{id}/merchants

Add a set of new merchants for automatic spends for that account

Path variables

id
string GUID required

The account identifier whose reward attributes will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
merchants
Array required

Defines a list of merchants that are authorised to perform automatic awards spending for that account

Unique items: YES
Object
organisation_id
string GUID required

The organisation identifier that should be authorised to perform automatic awards spending

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
is_next_visit
boolean nullable

Defines whether the merchant is setup for automatic spend on the next visit

Example:
false

Responses

200 200

OK

Body
Object
merchants
Array

A list of merchants that are authorised to perform automatic awards spending for that account

Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/merchants HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "merchants": [
        {
            "organisation_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "is_next_visit": "false"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "merchants": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
        }
    ]
}
Remove Merchant
DELETE /accounts/{id}/merchants/{merchant_id}

Remove an exisintg merchant from an account’s automatic spend preferences

Path variables

id
string GUID required

The account identifier whose reward attributes will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
merchant_id
string GUID required

The merchant identifier that will be removed from the spend preferences

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/merchants/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Sign up to a Reward Scheme
POST /accounts/{id}/reward_schemes

Sign up the account to a specific reward scheme

Path variables

id
string GUID required

The account that will be signed up to the reward scheme

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
reward_scheme_id
string GUID required

The reward scheme that the account has signed up

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
email_address
string nullable

The email address of the customer requestng to sign uo to a reward scheme based on supported domains

Example:
johndoe@crm.com
sign_up_code
string nullable

The code that will verify that the customer is allowed to sign up to a close loop reward scheme

Example:
ABCDEFG1234
sign_up_date
integer epoch nullable

The date that the account has signed up (if not specified, defaults to current date)

Example:
1589796854

Responses

200 200

OK

Body
Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DXD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/reward_schemes HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "reward_scheme_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "email_address": "johndoe@crm.com",
    "sign_up_code": "ABCDEFG1234"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DXD"
}
Sign out from a Reward Scheme
DELETE /accounts/{id}/reward_schemes/{reward_scheme_id}

Sign out the account from a specific reward scheme

Path variables

id
string GUID required

The account that will be signed off from the reward scheme

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reward_scheme_id
string GUID required

The reward scheme identifier that the account has signed off

Example:
CAD1E31269B76D7A65ACCE45B2E68DXD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/reward_schemes/CAD1E31269B76D7A65ACCE45B2E68DXD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Activities
POST /activities
PUT /activities/{id}
DELETE /activities/{id}
PUT /activities/{id}/life_cycle_state
GET /activities
GET /activities/{id}
Create Activity
POST /activities

Create a new activity

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
subject
string required

The activity subject

Example:
Call customer
description
string nullable

The activity description

Example:
We need to call the customer (after 4pm) in order to schedule a demo
organisation_id
string GUID required

The organisation identifier from which a user wil be responsible to complete this activity (organisation or user should be specified)

Example:
CEEE83D6E0804A30966F684B0269ROLE
user_id
string GUID nullable

The user identifier that is responsible to complete this activity (user should belong to the specified organisation)

Example:
CEEE83D6E0804A30966F684B0269USER
entity
Object

Related entity details

type
string

The type of the related entity

Enumeration:
ORDER
LEAD
SERVICE_REQUEST
id
string GUID

The related entity identifier

Example:
CEEE83D6E0804A30966F684B0269AD91

Responses

200 200

Successful Request

Body
Object
id
string GUID

The activity identifier that was created

Example:
QWERTY1234543212345678UJIKY76HJR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/activities HTTP/1.1 

Content-Type: application/json

{
    "subject": "Call customer",
    "description": "We need to call the customer (after 4pm) in order to schedule a demo",
    "organisation_id": "CEEE83D6E0804A30966F684B0269ROLE"
    "entity": {
        "type": "LEAD",
        "id": "CEEE83D6E0804A30966F684B0269AD91"
    }
}
Update Activity
PUT /activities/{id}

Update an existing activity

Path variables

id
string GUID required

The activity identifier that will be updated

Example:
QWERTY1234543212345678UJIKY76HJR

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
subject
string nullable

The activity subject

Example:
Approve Offers
description
string nullable

The activity description

Example:
Require 4 approvals for an offer
organisation_id
string GUID nullable

The organisation identifier from which a user wil be responsible to complete this activity (organisation or user should be specified)

Example:
CEEE83D6E0804A30966F684B0269ROLE
user_id
string GUID nullable

The user identifier that is responsible to complete this activity (user should belong to the specified organisation)

Example:
CEEE83D6E0804A30966F684B0269USER

Responses

200 200

Successful Request

Body
Object
id
string GUID

The activity identifier that was updated

Example:
QWERTY1234543212345678UJIKY76HJR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/activities/QWERTY1234543212345678UJIKY76HJR HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "subject": "Approve Offers",
    "description": "Require 4 approvals for an offer",
    "organisation_id": "CEEE83D6E0804A30966F684B0269ROLE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "QWERTY1234543212345678UJIKY76HJR"
}
Delete Activity
DELETE /activities/{id}

Delete an existing activity

Path variables

id
string GUID required

The activity identifier that will be deleted

Example:
QWERTY1234543212345678UJIKY76HJR

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/automations/QWERTY1234543212345678UJIKY76HJR HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Change Activity Status
PUT /activities/{id}/life_cycle_state

Update an existing activity’s life cycle state

Path variables

id
string GUID required

The activity identifier whose life cycle state will be updated

Example:
QWERTY1234543212345678UJIKY76HJR

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
life_cycle_state
string required

Defines the new life cycle state of the activity

Enumeration:
PENDING
COMPLETED

Responses

200 200

Successful Request

Body
Object
id
string GUID

The activity identifier that was updated

Example:
QWERTY1234543212345678UJIKY76HJR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/activities/QWERTY1234543212345678UJIKY76HJR/life_cycle_state HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "life_cycle_state": "COMPLETED"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "QWERTY1234543212345678UJIKY76HJR"
}
Search Activities
GET /activities

Search for activities

Request parameters

life_cycle_state
string optional

Filter based on activity state

Enumeration:
PENDING
COMPLETED
order_id
string GUID optional

Filter based on the related Order

Example:
c0a0c2bf-55fa-4a22-b151-a8660c3877b1
lead_id
string GUID optional

Filter based on the related Lead

Example:
c0a0c2bf-55fa-4a22-b151-a8660c3877b1
service_request_id
string GUID optional

Filter based on the related Service Request

Example:
c0a0c2bf-55fa-4a22-b151-a8660c3877b1
organisation_id
string GUID optional

Filter based on the ORganisation of which users are responsible to complete it

Example:
c0a0c2bf-55fa-4a22-b151-a8660c3877b1
user_id
string GUID optional

Filter based on the User who is responsible to complete it

Example:
c0a0c2bf-55fa-4a22-b151-a8660c3877b1
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The activity identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
subject
string

The activity subject

Example:
Call customer
description
string

The activity description

Example:
We need to call the customer to arrange a demo
life_cycle_state
string

The activity life cycle state

Enumeration:
PENDING
COMPLETED
organisation
Object

The organisation from which users are responsible to complete the activity

id
string GUID

The organisation identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The organisation name

Example:
Marketing
user
Object

The user that is responsible to complete the activity

id
string GUID

The user identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The user name

Example:
John Doe
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/activities HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "subject": "Call customer",
            "description": "We need to call the customer to arrange a demo",
            "life_cycle_state": "COMPLETED",
            "organisation": {
                "id": "CEEE83D6ER804A30966F684B0269AD91",
                "name": "MArketing"
            }
            "user": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "John Doe"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Activity
GET /activities/{id}

Get details for a specific activity

Path variables

id
string GUID required

The activity identifier that will be retrieved

Example:
CEEE83D6E0804A30966F684B0269AD91

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The activity identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
subject
string

The activity subject

Example:
Call customer
description
string

The activity description

Example:
Arrange a call with the customer after 4pm to schedule a demo for next week
life_cycle_state
string

The activity state

Enumeration:
PENDING
COMPLETED
organisation
Object

The organisation from which users are responsible to complete the activity

id
string GUID

The organisation identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The organisation name

Example:
Marketing
user
Object

The user that is responsible to complete the activity

id
string GUID

The user identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The user name

Example:
John Doe
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/activities/CEEE83D6E0804A30966F684B0269AD91 HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91",
    "subject": "Call customer",
    "description": "Arrange a call with the customer after 4pm to schedule a demo for next week",
    "life_cycle_state": "PENDING",
    "organisation": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "name": "Marketing"
    }
}
Analytics
POST /reports/{id}
POST /reports/{id}/preview
GET /organisations/{id}/analytics
GET /contacts/{id}/analytics
Run Report
POST /reports/{id}

Runs a report and sends its results via email to the user who runs it

Path variables

id
string required

The unique name of the report

Request body

Object
format
string required

The report’s format

Enumeration:
PDF
CSV
Default:
CSV
Example:
CSV
filters_set
Array required

Set of filters based on which the report runs

Min items: 1
Unique items: YES
Object
label
string

The filter’s label

Example:
Registration date
key
string

The filter’s name

Example:
period_from
value
string

The filter’s value as this was specified by the user

Example:
THIS_MONTH
type
string

The data type of the filter

Enumeration:
TEXT
NUMBER
INTEGER
DATE
columns_set
Array required

Set of columns that will be included in the report

Min items: 1
Example:
Number, Name
Object
order
integer

The ordering of the columns from left to right

Example:
1
label
string

The column’s label as this will be displayed on the report

Example:
Code
key
string

The field’s name

Example:
product_code
type
string
Enumeration:
TEXT
NUMBER
INTEGER
DATE
group_by_set
Array

Set of fields to be used to group the report’s results

Object
order
integer

The grouping’s ordering

label
string

The group by field’s label as this will be displayed on the report

Example:
Type
key
string

The field’s name

Example:
product_type
type
string
Enumeration:
TEXT
NUMBER
INTEGER
DATE

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
Example 2
POST https://devapi.crm.com/backoffice/v1/reports/{id} HTTP/1.1 

Content-Type: application/json

{
    "format": "CSV",
    "filters_set": [
        {
            "label": "Registration date",
            "key": "period_from",
            "value": "THIS_MONTH",
            "type": "INTEGER"
        }
    ],
    "columns_set": [
        {
            "order": 1,
            "label": "Code",
            "key": "product_code",
            "type": "TEXT"
        }
    ],
    "group_by_set": [
        {
            "order": 1,
            "label": "Type",
            "key": "product_type",
            "type": "NUMBER"
        }
    ]
}

Contacts Summary Report example

POST https://devapi.crm.com/backoffice/v1/reports/contacts_summary HTTP/1.1 

Content-Type: application/json

{
    "format": "PDF",
    "filters_set": [ 
        {
        	"label": "Registered From",
            "key": "registered_from",
            "value": "1577879016",
            "type" : "date"
        },
        {
        	"label": "Registered To",
            "key": "registered_to",
            "value": "1589370216",
            "type" : "date"
        }
    ],
    "columns_set": [
        {
            "key": "code",
            "type" : "text",
            "label": "Code",
            "order": 1
        },
        {
			"key": "contact_name",
			"type" : "text",
			"label": "Name",
            "order": 2
		},
		{
			"key": "registered_on",
			"type" : "date",
			"label": "Registered On",
            "order": 3
		},
		{
			"key": "owned_by.name",
			"type" : "text",
			"label": "Owned By",
            "order": 5
		},
		{
			"key": "financials.primary_account.number",
			"type" : "text",
			"label": "Primary Account",
            "order": 6
		},
		{
			"key": "financials.primary_account.currency_code,financials.primary_account.balance",
			"type" : "text,amount",
			"label": "Account Balance",
            "order": 7
		},
		{
			"key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
			"type" : "text,amount",
			"label": "Overdue Amount",
            "order": 8
		},
		{
			"key": "financials.wallet.code",
			"type" : "text",
			"label": "Wallet",
            "order": 9
		},
		{
			"key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
			"label": "Wallet Balance",
			"type" : "text,amount",
            "order": 10
		}
    ],
    "group_by_set": [
		{
			"key": "category.name",
			"type" : "text",
			"label": "Category",
            "order": 1
		}
    ]
}
Preview Report
POST /reports/{id}/preview

Runs the report in preview mode, i.e. a subset of the report’s results are returned for preview purposes (max 10 records included in the response)

Path variables

id
string required

The unique name of the report

Request body

Object
filters_set
Array

Set of filters based on which the report runs

Object
key
string

The filter’s name

Example:
period_from
value
string

The filter’s value as this was specified by the user

Example:
This month
columns_set
Array

Set of columns that will be included in the report’s preview. Up to 10 columns are included by default

Example:
Number, Name
Object
key
string

The field’s name

Example:
product_code

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 OK
Body
Object
content
Array

List of columns to be displayed in the report’s preview. Maximum 10 records are included in the preview

Object
key
string
Example:
Name
value
string
Example:
Jane Smith
Example 1
Example 2
GET https://devapi.crm.com/backoffice/v1/reports/{id}/preview HTTP/1.1 

Content-Type: application/json

{
    "filters_set": [
        {
            "key": "period_from",
            "value": "This month"
        }
    ],
    "columns_set": [
        {
            "order": 1,
            "key": "product_code",
            "value": "Code"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "order": 1,
            "key": "Name",
            "value": "Jane Smith"
        }
    ]
}

Preview Contacts Summary example

GET https://devapi.crm.com/backoffice/v1/reports/contacts_summary/preview HTTP/1.1 

Content-Type: application/json

{
    "filters_set": [ 
        {
            "key": "registered_from",
            "value": "1577877342"
        },
        {
            "key": "registered_to",
            "value": "1589282142"
        }
    ],
    "columns_set": [
		{
			"key": "contact_name"
		},
		{
			"key": "registered_on"
		},
		{
			"key": "category.name"
		},
		{
			"key": "owned_by.name"
		},
		{
			"key": "financials.primary_account.number"
		},
		{
			"key": "financials.primary_account.currency_symbol,financials.primary_account.balance"
		},
		{
			"key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount"
		},
		{
			"key": "financials.wallet.number"
		},
		{
			"key": "financials.wallet.wallet_currency_code,financials.wallet.balance"
		}
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Marios Ioannou11"
                },
                {
                    "key": "registered_on",
                    "value": "1590493499"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": "A10009"
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": "38.0"
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": "TWD 0"
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": "TWD 0.0"
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Marios Ioannou10"
                },
                {
                    "key": "registered_on",
                    "value": "1590492704"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": "A10008"
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": "0.0"
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": "USD 0"
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": "USD 0.0"
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Marios Ioannou9"
                },
                {
                    "key": "registered_on",
                    "value": "1590475066"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": "A10007"
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": "3.4"
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": "EUR 0"
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": "EUR 0.0"
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "George Rewards"
                },
                {
                    "key": "registered_on",
                    "value": "1590468310"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": "A10006"
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": "15.0"
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": "USD 0"
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": "USD 0.0"
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Mikaela Schiza"
                },
                {
                    "key": "registered_on",
                    "value": "1589794026"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": "A10003"
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": "-10.0"
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": "EUR 0"
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": "EUR 0.0"
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Marios Ioannou8"
                },
                {
                    "key": "registered_on",
                    "value": "1589446686"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": "A10001"
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": "22.0"
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": "CAD 0"
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": "CAD 0.0"
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Marios Ioannou7"
                },
                {
                    "key": "registered_on",
                    "value": "1589396523"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": "A10001"
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": "0.0"
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": "USD 0"
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": "USD 0.0"
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Marios Ioannou5"
                },
                {
                    "key": "registered_on",
                    "value": "1589374073"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": ""
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": ""
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Giorgos Georgiou"
                },
                {
                    "key": "registered_on",
                    "value": "1589370096"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": ""
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": ""
                }
            ]
        },
        {
            "fields": [
                {
                    "key": "contact_name",
                    "value": "Marios Ioannou4"
                },
                {
                    "key": "registered_on",
                    "value": "1589368957"
                },
                {
                    "key": "category.name",
                    "value": ""
                },
                {
                    "key": "owned_by.name",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.number",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.currency_symbol,financials.primary_account.balance",
                    "value": ""
                },
                {
                    "key": "financials.primary_account.currency_code,financials.primary_account.overdue_amount",
                    "value": ""
                },
                {
                    "key": "financials.wallet.number",
                    "value": ""
                },
                {
                    "key": "financials.wallet.wallet_currency_code,financials.wallet.balance",
                    "value": ""
                }
            ]
        }
    ]
}
Get Organisation Analytics - AS
GET /organisations/{id}/analytics

Get analytics for an organisation

Path variables

id
string GUID required

The organisation identifier that is optionally a parent. If the organisation is a Parent an optional paramter can request children in the same response.

Example:
babc8d45-50be-4259-b1bf-c85dee46642f

Request parameters

metrics
array of string optional

Which metrics are required

Collection format: csv
Example:
[
    "visits","offers","transactions","products","awards","wallets"
]
start_date
string optional

Start of Sequence - used for sliding window

end_date
string optional

End of Sequuence used for sliding window

network
string optional

Children inclusion from the network

Example:
MERCHANTS, VENUES

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
organisationId
string
Example:
bf07da38-0d34-11ea-9518-42010a9a0003
organisationName
string
Example:
Banana Wharf Hamble
purchases
Array

Metric Type Requested

Object
timestamp
integer

Timestamp base on the requested unit, in EPOCH format with YEAR-MONTH-DAY-HOUR, or YEAR-MONTH-DAY, YEAR-MONTH inteded for granularity.

Example:
1588600800
number
number

The total for the given timestamp

Example 1
GET https://devapi.crm.com/backoffice/v1/organisations/babc8d45-50be-4259-b1bf-c85dee46642f/analytics HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{"content" : [
    {
        "organisationId": "bf07da38-0d34-11ea-9518-42010a9a0003",
        "organisationName": "Banana Wharf Hamble",
        "purchases": [
            {
                "timestamp": 1588600800,
                "number": 321.00
            },
            {
                "timestamp": 1588604400,
                "number": 64.00
            },
            {
                "timestamp": 1588665600,
                "number": 150.00
            },
            {
                "timestamp": 1588672800,
                "number": 36.00
            },
            {
                "timestamp": 1588744800,
                "number": 198.00
            },
            {
                "timestamp": 1588748400,
                "number": 256.00
            },
            {
                "timestamp": 1588752000,
                "number": 134.52
            },
            {
                "timestamp": 1588755600,
                "number": 165.78
            },
            {
                "timestamp": 1588827600,
                "number": 98.21
            }
        ]
    },
    {
        "organisationId": "cc44858b-0d34-11ea-9518-42010a9a0003",
        "organisationName": "Banana Wharf Poole",
        "purchases": [                
            {"timestamp": 1588600800,
                "number": 321.00
            },
            {
                "timestamp": 1588604400,
                "number": 64.00
            },
            {
                "timestamp": 1588665600,
                "number": 150.00
            },
            {
                "timestamp": 1588672800,
                "number": 36.00
            }
            ]
    }
]}
Get Contact Analytics
GET /contacts/{id}/analytics

Get analytics for a customer

Path variables

id
string GUID required

The uique identifier of the contact

Example:
babc8d45-50be-4259-b1bf-c85dee46642f

Request parameters

metrics
array of string optional

Which metrics are required

Collection format: csv
Example:
[
    "visits","awards","transactions"
]

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Array
Object
name
string

The metric’s name

Example:
visits
values
Object
hour
integer
Example:
1
today
integer
Example:
2
this_week
integer
Example:
2
this_month
integer
Example:
10
last_month
integer
Example:
15
this_quarter
integer
Example:
15
this_semester
integer
Example:
30
this_year
integer
Example:
45
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/contacts/babc8d45-50be-4259-b1bf-c85dee46642f/analytics HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "name": "visits",
        "values": {
            "hour": 1,
            "today": 2,
            "this_week": 2,
            "this_month": 10,
            "last_month": 15,
            "this_quarter": 15,
            "this_semester": 30,
            "this_year": 45
        }
    }
]
Event Management
POST /events
POST /contact_profiles
Get Events / Webhook
POST /events

Returns a list of Events logged in Mongo DW

Request parameters

contact_id
string optional
business_id
string optional
event
array of string optional
Collection format: csv
Min items: 1
Unique items: YES

Responses

201 Created
Body
Object
type
string
Example:
PURCHASE
business
Object
id
string
name
string
submitted_on
integer
Example:
4343432132
submitted_day
string
Example:
MONDAY
contact
Object
id
string
Example:
fffe6dc7-dd1a-441a-a747-60f5d0c6a844
financials
Object
account
Object
id
string
number
string
name
string
wallet
Object
id
string
code
string
merchant
Object
id
string
name
string
venue
Object
id
string
name
string
subsidiary
Object
id
string
name
string
location
Object
city
string
province
string
country
string
postal_code
string
address_line_1
string
address_line_2
string
transaction
Object
id
string
number
string
reference_number
string
notes
string
classification
string
Example:
PURCHASE
life_cycle_state
string
Example:
POSTED
total_amount
integer
Example:
1
net_amount
integer
Example:
1
tax_amount
integer
Example:
1
discount_amount
integer
Example:
1
quantity
integer
Example:
10
currency
string
Example:
EUR
due_date
integer
Example:
1221213243
expiration_date
integer
Example:
1312312312
issue_date
integer
Example:
12345
posted_date
integer
Example:
2313344
type
Object
id
string
name
string
initiating_transaction
Object
id
string
number
string
classification
string
Example:
REFERRAL
type
Object
id
string
name
string
award
Object
amount
number
Example:
0.5
currency
string
Example:
EUR
awarded_on
integer
Example:
1234556
expires_on
integer
Example:
123123123
reward_offer
Object
id
string
name
string
reward_scheme
Object
id
string
name
string
spend
Object
amount
integer
Example:
1
currency
string
Example:
EUR
spend_method
string
instant_spend
integer
Example:
1
auto_spend
number
Example:
0.5
on_request
number
Example:
0.5
rewards_sign_up
Object
sign_up_on
integer
Example:
1234566
sign_out_on
integer
Example:
123456
reward_scheme
Object
id
string
name
string
payment_information
Object
payment_method_type
string
Example:
CARD
brand
string
Example:
MASTERCARD
funding_type
string
Example:
DEBIT
communication
Object
id
string
life_cycle_state
string
channel
string
order
Object
id
string
number
string
life_cycle_state
string
Example:
NEW
supply_method
string
Example:
DELIVERY
is_favorite
boolean
Example:
true
notes
string
submitted_date
integer
Example:
12345678
estimated_fulfillment_date
integer
Example:
12345678
completed_date
integer
Example:
12345678
cancelled_date
integer
Example:
12345678
expiration_date
integer
Example:
12345678
requested_date
integer
Example:
12345678
total_cost
number
Example:
2.4
currency
string
Example:
EUR
cancellation_reason
Object
id
string
name
string
category
Object
id
string
name
string
products
Array
Object
id
string
Example:
99c90eb3-64e6-4048-b3a3-d433611cfa93
sku
string
Example:
ABC9678
name
string
Example:
Regular Latte
type
Object
id
string
name
string
family
Object
id
string
name
string
brand
Object
id
string
name
string
category
Object
id
string
name
string
quantity
integer
Example:
1
total_amount
integer
Example:
1
net_amount
integer
Example:
1
tax_amount
integer
Example:
1
discount_amount
integer
Example:
1
currrency
string
Example:
GBP
notes
string
bundle_product
Object
id
string
sku
string
name
string
Example 1
POST https://stagingapi.crm.com/backoffice/v1/events HTTP/1.1 

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "type": "PURCHASE",
    "business": {
        "id": "",
        "name": ""
    },
    "submitted_on": 4343432132,
    "submitted_day": "MONDAY",
    "contact": {
        "id": "fffe6dc7-dd1a-441a-a747-60f5d0c6a844"
    },
    "financials": {
        "account": {
            "id": "",
            "number": "",
            "name": ""
        },
        "wallet": {
            "id": "",
            "code": ""
        }
    },
    "merchant": {
        "id": "",
        "name": ""
    },
    "venue": {
        "id": "",
        "name": ""
    },
    "subsidiary": {
        "id": "",
        "name": ""
    },
    "location": {
        "city": "",
        "province": "",
        "country": "",
        "postal_code": "",
        "address_line_1":"",
        "address_line_2":""
    },
    "transaction": {
        "id": "",
        "number": "",
        "reference_number": "",
        "notes": "",
        "classification": "PURCHASE",
        "life_cycle_state": "POSTED",
        "total_amount": 1,
        "net_amount": 1,
        "tax_amount": 1,
        "discount_amount": 1,
        "quantity": 10,
        "currency": "EUR",
        "due_date": 1221213243,
        "expiration_date": 1312312312,
        "issue_date": 12345,
        "posted_date": 2313344,
        "type": {
            "id": "",
            "name": ""
        }
    },
    "initiating_transaction": {
        "id": "",
        "number": "",
        "classification": "REFERRAL",
        "type": {
            "id": "",
            "name": ""
        }
    },
    "award": {
        "amount": 0.5,
        "currency": "EUR",
        "awarded_on": 1234556,
        "expires_on": 123123123,
        "reward_offer": {
            "id": "",
            "name": ""
        },
        "reward_scheme": {
            "id": "",
            "name": ""
        }
    },
    "spend": {
        "amount": 1,
        "currency": "EUR",
        "spend_method": "",
        "instant_spend": 1,
        "auto_spend": 0.5,
        "on_request": 0.5
    },
    "rewards_sign_up": {
        "sign_up_on": 1234566,
        "sign_out_on": 123456,
        "reward_scheme": {
            "id": "",
            "name": ""
        }
    },
    "payment_information": {
        "payment_method_type": "CARD",
        "brand": "MASTERCARD",
        "funding_type": "DEBIT"
    },
    "communication": {
        "id": "",
        "life_cycle_state": "",
        "channel": ""
    },
    "order": {
        "id":"",
        "number":"",
        "life_cycle_state":"NEW",
        "supply_method":"DELIVERY",
        "is_favorite":true,
        "notes":"",
        "submitted_date":12345678,
        "estimated_fulfillment_date":12345678,
        "completed_date":12345678,
        "cancelled_date":12345678,
        "expiration_date":12345678,
        "requested_date":12345678,
        "total_cost":2.40,
        "currency":"EUR",
        "cancellation_reason":{
            "id":"",
            "name":""
        },
        "category":{
            "id":"",
            "name":""
        }
        
    },
    "products": [
        {
            "id": "99c90eb3-64e6-4048-b3a3-d433611cfa93",
            "sku": "ABC9678",
            "name": "Regular Latte",
            "type": {
                "id": "",
                "name": ""
            },
            "family": {
                "id": "",
                "name": ""
            },
            "brand": {
                "id": "",
                "name": ""
            },
            "category": {
                "id": "",
                "name": ""
            },
            "quantity": 1,
            "total_amount": 1,
            "net_amount": 1,
            "tax_amount": 1,
            "discount_amount": 1,
            "currrency": "GBP",
            "notes":"",
            "bundle_product": {
                "id": "",
                "sku": "",
                "name": ""
            }
        }
    ]
}
Get Contact Profiles
POST /contact_profiles

Responses

200 OK
Body
Object
contacts
Array
Object
id
string
code
string
Example:
4234392059483233
type
string
Example:
PERSON
name
string
surname
string
gender
string
Example:
FEMALE
preferred_language
string
Example:
GR
email
string
Example:
jmith@testing.com
phone
string
Example:
0035799435233
category
Object
id
string
name
string
industry
Object
id
string
name
string
industry_sectors
Array
Object
id
string
name
string
birthday
Object
day
integer
Example:
28
month
integer
Example:
3
year
integer
Example:
1981
nameday
Object
day
integer
Example:
23
month
integer
Example:
4
location
Object
city
string
Example:
Hamble
province
string
Example:
Hampshire
country
string
Example:
United Kingdom
postal_code
string
Example:
PO345HD
payment_method
Object
type
string
funding_type
string
brand
string
financials
Array
Object
account
Object
id
string
number
string
name
string
balance
number
Example:
1.99
overdue_amount
number
Example:
0.99
credit_limit
integer
Example:
100
currency
string
Example:
EUR
classification
Object
id
string
name
string
billing_location
Object
city
string
Example:
Hamble
province
string
Example:
Hampshire
country
string
Example:
United Kingdom
postal_code
string
Example:
PO345HD
life_cycle_state
string
rewards_tier
Object
id
string
name
string
preferred_spending_method
string
wallet
Object
id
string
code
string
balance
string
life_cycle_state
string
reward_schemes
Array
Object
id
string
name
string
signed_up_date
integer
Example:
123456788
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/contact_profiles HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "contacts": [
        
        {
            "id": "",
            "code": "4234392059483233",
            "type": "PERSON",
            "name": "",
            "surname": "",
            "gender": "FEMALE",
            "preferred_language": "GR",
            "email": "jmith@testing.com",
            "phone": "0035799435233",
            "category": {
                "id": "",
                "name": ""
            },
            "industry": {
                "id": "",
                "name": ""
            },
            "industry_sectors": [
                {
                    "id": "",
                    "name": ""
                }
            ],
            "birthday": {
                "day": 28,
                "month": 3,
                "year": 1981
            },
            "nameday": {
                "day": 23,
                "month": 4
            },
            "location": {
                "city": "Hamble",
                "province": "Hampshire",
                "country": "United Kingdom",
                "postal_code": "PO345HD"
            },
            "payment_method": {
                "type": "",
                "funding_type": "",
                "brand": ""
            },
            "financials": [
                {
                    "account": {
                        "id": "",
                        "number": "",
                        "name": "",
                        "balance": 1.99,
                        "overdue_amount": 0.99,
                        "credit_limit": 100,
                        "currency": "EUR",
                        "classification": {
                            "id": "",
                            "name": ""
                        },
                        "billing_location": {
                            "city": "Hamble",
                            "province": "Hampshire",
                            "country": "United Kingdom",
                            "postal_code": "PO345HD"
                        },
                        "life_cycle_state": "",
                        "rewards_tier": {
                            "id": "",
                            "name": ""
                        },
                        "preferred_spending_method": ""
                    },
                    "wallet": {
                        "id": "",
                        "code": "",
                        "balance": "",
                        "life_cycle_state": ""
                    }
                }
            ],
            "reward_schemes":[
                {
                    "id":"",
                    "name":"",
                    "signed_up_date":123456788
                }
            ]
            
        }
    ]
}
Reports

List of Web APIs used to retrieve informaiton displayed in Reports

GET /contact_rewards_analysis
GET /contact_order_analysis
Get Contact Rewards Analysis
GET /contact_rewards_analysis

Retrieves details information for a contact that perticipates in a Reward Scheme in terms of purchases, awards and spends

Request parameters

sign_up_from
integer optional
sign_up_to
integer optional
purchases_from
integer optional
purchases_to
integer optional
tier_id
string optional

The contact’s reward tier

category_id
string optional

The contact’s category

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string

The contact’s unique identifier

name
string

The contact’s full name or company name

Example:
John Smith
code
string
loyalty_code
string
Example:
123344555
sign_up_date
integer
Example:
123456789
tier
Object
id
string
name
string
category
Object
id
string
name
string
wallet
Object
id
string
code
string
balance
number
Example:
9.99
currency
string
Example:
EUR
purchases
Object
number
integer
Example:
10
amount
number
Example:
99.99
days_since_last_purchase
integer
Example:
35
currency
string
awards
Object
number
integer
Example:
10
amount
number
Example:
99.99
days_since_last_award
integer
Example:
35
currency
string
spends
Object
number
integer
Example:
10
amount
number
Example:
99.99
days_since_last_spend
integer
Example:
35
currency
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contact_rewards_analysis HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "John Smith",
            "code": "",
            "loyalty_code": "123344555",
            "sign_up_date": 123456789,
            "tier": {
                "id": "",
                "name": ""
            },
            "category": {
                "id": "",
                "name": ""
            },
            "wallet": {
                "id": "",
                "code": "",
                "balance": 9.99,
                "currency": "EUR"
            },
            "purchases": {
                "number": 10,
                "amount": 99.99,
                "days_since_last_purchase": 35,
                "currency": ""
            },
            "awards": {
                "number": 10,
                "amount": 99.99,
                "days_since_last_award": 35,
                "currency": ""
            },
            "spends": {
                "number": 10,
                "amount": 99.99,
                "days_since_last_spend": 35,
                "currency": ""
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Contact Orders Analysis
GET /contact_order_analysis

Retrieves details information for a contact and the items purchased through an Order

Request parameters

order_date_from
integer optional

The creation date of the order

order_date_to
integer optional
supply_method
string optional
Enumeration:
DELIVERY
PICK_UP
ANY
Default:
ANY
category_id
string optional

The contact’s category

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
Example:
John Smith
code
string
category
Object
id
string
name
string
number_of_orders
integer
Example:
4
total_order_amount
integer
Example:
10
average_order_value
number
Example:
2.5
curency
string
Example:
EUR
days_since_last_order
integer
Example:
3
preferred_supply_method
string
Example:
DELIVERY
preferred_payment_method
string
Example:
CARD
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contact_order_analysis HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "John Smith",
            "code": "",
            "category": {
                "id": "",
                "name": ""
            },
            "number_of_orders": 4,
            "total_order_amount": 10,
            "average_order_value": 2.5,
            "curency": "EUR",
            "days_since_last_order": 3,
            "preferred_supply_method": "DELIVERY",
            "preferred_payment_method": "CARD"
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Automations
POST /automations
PUT /automations/{id}
DELETE /automations/{id}
GET /automations
GET /automations/{id}
POST /automations/{id}/actions
GET /automations/{id}/actions
Create Automation
POST /automations

Create a new automation

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The automation name

Example:
Approve Offers
description
string nullable

The automation description

Example:
Require 4 approvals for an offer
life_cycle_state
string nullable

Defines whether the automation is active or not

Enumeration:
ACTIVE
INACTIVE
Default:
INACTIVE
entity
string required

Defines the entity that its events will trigger this automation

Enumeration:
CONTACTS
REWARD_OFFERS
ORDERS
event
string required

Defines the event that will trigger this automation (filtered based on the selected entity)

Examples:
AWARD_CUSTOMERSPEND_AWARDREGISTER_CONTACT

Responses

200 200

Successful Request

Body
Object
id
string GUID

The automation identifier that was created

Example:
QWERTY1234543212345678UJIKY76HJR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/automations HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Approve Offers",
    "description": "Require 4 approvals for an offer",
    "life_cycle_state": "INACTIVE",
    "entity": "CONTACTS",
    "event": "REGISTER_CONTACT"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "QWERTY1234543212345678UJIKY76HJR"
}
Update Automation
PUT /automations/{id}

Update an existing automation

Path variables

id
string GUID required

The automation identifier that will be updated

Example:
QWERTY1234543212345678UJIKY76HJR

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The automation name

Example:
Approve Offers
description
string nullable

The automation description

Example:
Require 4 approvals for an offer
life_cycle_state
string nullable

Defines whether the automation is active or not

Enumeration:
ACTIVE
INACTIVE

Responses

200 200

Successful Request

Body
Object
id
string GUID

The automation identifier that was updated

Example:
QWERTY1234543212345678UJIKY76HJR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/automations/QWERTY1234543212345678UJIKY76HJR HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Approve Offers",
    "description": "Require 4 approvals for an offer",
    "state": "INACTIVE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "QWERTY1234543212345678UJIKY76HJR"
}
Delete Automation
DELETE /automations/{id}

Delete an existing automation

Path variables

id
string GUID required

The automation identifier that will be deleted

Example:
QWERTY1234543212345678UJIKY76HJR

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/automations/QWERTY1234543212345678UJIKY76HJR HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search Automations
GET /automations

Search for automations

Request parameters

search_value
string optional

Search automations based on Name

Example:
Notify customers on award
name
string optional

Filter based on automation name

Example:
Notify customers on award
life_cycle_state
string optional

Filter based on automation state

Enumeration:
ACTIVE
INACTIVE
entity
string optional

Filter based on the entity that its event will trigger the automation

event
string optional

Filter based on the event that will trigger the automation

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The automation identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The automation name

Example:
Notify customers on award
description
string

The automation description

Example:
Lorem Ipsum
life_cycle_state
string

The automation life cycle state

Enumeration:
ACTIVE
INACTIVE
entity
string

The entity that its events triggered the automation

Example:
Contacts
event
string

The event that triggered the automation

Examples:
Award CustomersRegister Customer
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/automations HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "name": "Notify customers on award",
            "description": "Lorem Ipsum",
            "life_cycle_state": "INACTIVE",
            "entity": "Contacts",
            "event": "Register Customer"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Automation
GET /automations/{id}

Get details for a specific automation

Path variables

id
string GUID required

The automation identifier that will be retrieved

Example:
CEEE83D6E0804A30966F684B0269AD91

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The automation identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The automation name

Example:
Notify awarded customers
description
string

The automation description

Example:
On customer award an outbound email communication will be triggered
life_cycle_state
string

The automation state

Enumeration:
ACTIVE
INACTIVE
entity
string

The entity that its events trigger the automation

Example:
Customers
event
string

The event that will trigger the automation

Example:
AWARD_CUSTOMER
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/automations/CEEE83D6E0804A30966F684B0269AD91 HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91",
    "name": "Notify awarded customers",
    "description": "On customer award an outbound email communication will be triggered",
    "life_cycle_state": "INACTIVE",
    "entity": "CONTACTS",
    "event": "AWARD_CUSTOMER"
}
Add Automation Actions
POST /automations/{id}/actions

Set the sequence of actions (including filters) for a specific automation

Path variables

id
string GUID required

The automation identifier whose sequence will be set

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
content
Array
Object
id
string GUID required nullable

The automation action identifier

Example:
ACTIONB5E44F44B28451FE021FCAD51E
adaptor
string required

The automation adaptor

Enumeration:
APPROVAL_REQUESTS

Approval Requests

AUTOMATIC_CONTENT_UPDATES

Automatic Content Updates

COMMUNICATIONS

Communications

ORDER_PROVISIONING

Order Provision

SERVICE_REQUEST_PROVISION

Service Request Provision

WEBHOOKS

Webhooks

MICROS_SIMPHONY_ORDER_PROV

MICROS Simphony Order Provision

NCR_ALOHA_ORDER_PROVISIONING

NCR Aloha Order Provision

adaptor_action
string required

The automation adaptor action (each action is applicable for specific adaptors)

Enumeration:
REQUEST_APPROVAL

Request Appoval (Approval Requests adaptor)

UPDATE_CONTENT

Update Content (Automatic Content Updates adaptor)

COMMUNICATE_CUSTOMER

Communicate Customer (Communications adaptor)

COMMUNICATE_USER

Communicate User (Communications adaptor)

ASSIGN_SPECIFIC_USER

Assign To A Specific User (Order Provision & Service Request Provision adaptor)

FF_BY_SPECIFIC_ORGANISATION

Fulfilled By Specific Organisation (Order Provision & Service Request Provision adaptor)

ASSIGN_SPECIFIC_DEPARTMENT

Assign To Specific Department (Order Provision adaptor)

FULFILLED_BY_NEAREST_LOCATION

Fulfilled By Nearest Location (Order Provision adaptor)

FF_BASED_ON_POST_CODE_COVERAGE

Fulfilled Based On Post Code Coverage (Order Provision adaptor)

POST_WEBHOOK

POST Webhook (webhooks adaptor)

PUT_WEBHOOK

Put Webhook (webhooks adaptor)

ASSIGN_USER_OF_SPECIFIC_DEP

Assign To User Of A Specific Department (Service Request Provision adaptor)

ASSIGN_USER_OF_SPEC_USER_ROLE

Assign To User Of A Specific User Role (Service Request Provision adaptor)

FF_BY_USER_OF_SPEC_USER_ROLE

Fulfilled By User Of A Specific User Role (Service Request Provision adaptor)

FULFILLED_BY_SPECIFIC_USER

Fulfilled By Specific User (Service Request Provision adaptor)

PROV_ORDER_TO_SIMPHONY_POS

Provision Order To Simphony POS (MICROS Simphony Order Provision adaptor)

PROV_ORDER_TO_ALOHA_POS

Provision Order To Aloha POS (NCR Aloha Order Provision adaptor)

order
integer required

Defines the sequence’s action

Example:
1
path
string

Defines the sequence path

Example:
1
adaptor_action_parameters
Array

Details about the adaptor’s actions parameters

Object
id
string GUID nullable

The parameter identifier

Example:
4b8e0ae7-0f8a-4313-a1fd-ecc1c0510f55
parameter_group
string required

The parameter group (used when more than one parameters should be specified for an adaptor’s action)

Example:
1
parameter_key
string required

The parameter key

Enumeration:
COMMUNICATION_PLAN
USERS_COMMUNICATE_USERS_ID
USERS_COMMUNICATE_USER_ROLE_ID
ASSIGN_ORDER_ORGANISATION_ID
ASSIGN_ORDER_USER_ID
FULFILL_ORDER_DISTANCE
FULFILL_ORDER_ORGANISATION_ID
FULFILL_ORDER_POSTAL_CODE
FULFILL_ORDER_POSTAL_CODE_RANGE
WEBHOOK
parameter_from_value
string required

The parameter from value

Example:
123
parameter_to_value
string nullable

The parameter to value

Example:
1234
parameter_type
string required

The parameter type

Enumeration:
DATE
INTEGER
NUMBER
STRING
action_filters
Array

Details about the filters to be applied (required when type is based on Filter)

Object
id
string GUID

The action filter identifier

Example:
d267446d-3793-319e-4525-93b6b32f417d
filters
Array required

Details about the applicable filtered attributes

Object
id
string GUID nullable

The filter identiifer

Example:
edd5ac0e-05e3-e543-d38e-c6df6eed8d46
attribute
string required

The attribute that its value will be compared based on the related operator

Enumeration:
SUPPLY_METHOD
PASS_TYPE
REWARD_OFFER_GOAL
REWARD_OFFER_TYPE
REWARD_OFFER_SPEND_METHOD("
REWARD_OFFER_AWARD_AMOUNT("
REWARD_OFFER_AWARD_PERCENTAGE
type
string required

The type of the key

Enumeration:
STRING
INTEGER
NUMBER
DATE
operator
string required

The filter operator to compare the attribute actual value with the filtered one

Enumeration:
EQUAL

Applicable for type of number/integer/date

IS

Applicable for type of string

EQUAL_GREATER

Applicable for type of number/integer/date

EQUAL_LESS

Applicable for type of number/integer/date

LESS

Applicable for type of number/integer/date

GREATER

Applicable for type of number/integer/date

value
string required nullable

The attribute value to apply the filter condition (either value or value_list should be specified)

Example:
123
value_list
Array of string required nullable

The supported list of values (either value or value_list should be specified)

Responses

200 200

OK

Body
Object
id
string GUID

The automation identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/automations/6A24D2B5E44F44B28451FE021FCAD51E/actions HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "content": [
        {
            "id": "ACTIONB5E44F44B28451FE021FCAD51E",
            "adaptor": "APPROVAL_REQUESTS",
            "adaptor_action": "ASSIGN_SPECIFIC_DEPARTMENT",
            "order": 1,
            "path": "1",
            "adaptor_action_parameters": [
                {
                    "id": "4b8e0ae7-0f8a-4313-a1fd-ecc1c0510f55",
                    "parameter_group": "1",
                    "parameter_key": "RICH_CONTENT",
                    "parameter_from_value": "123",
                    "parameter_to_value": "1234",
                    "parameter_type": "APPROVAL_ENTITY_TYPE"
                }
            ],
            "action_filters": [
                {
                    "filters": [
                        {
                            "id": "edd5ac0e-05e3-e543-d38e-c6df6eed8d46",
                            "attribute": "NAME",
                            "type": "NUMBER",
                            "operator": "EQUAL_LESS",
                            "value": "123",
                            "value_list": [
                                ""
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E"
}
Get Automation Actions
GET /automations/{id}/actions

Retrieves the automation’ sequence of actions (including filters)

Path variables

id
string GUID required

The automation identifier whose actions will be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
id
string

The automation action identifier

Example:
ACTIONB5E44F44B28451FE021FCAD51E
order
integer

Defines the sequence’s action

Example:
1
adaptor
string

The automation adaptor

Enumeration:
APPROVAL_REQUESTS

Approval Requests

AUTOMATIC_CONTENT_UPDATES

Automatic Content Updates

COMMUNICATIONS

Communications

ORDER_PROVISIONING

Order Provision

SERVICE_REQUEST_PROVISION

Service Request Provision

WEBHOOKS

Webhooks

MICROS_SIMPHONY_ORDER_PROV

MICROS Simphony Order Provision

NCR_ALOHA_ORDER_PROVISIONING

NCR Aloha Order Provision

adaptor_action
string

The automation adaptor action (each action is applicable for specific adaptors)

Enumeration:
REQUEST_APPROVAL

Request Appoval (Approval Requests adaptor)

UPDATE_CONTENT

Update Content (Automatic Content Updates adaptor)

COMMUNICATE_CUSTOMER

Communicate Customer (Communications adaptor)

COMMUNICATE_USER

Communicate User (Communications adaptor)

ASSIGN_SPECIFIC_USER

Assign To A Specific User (Order Provision & Service Request Provision adaptor)

FF_BY_SPECIFIC_ORGANISATION

Fulfilled By Specific Organisation (Order Provision & Service Request Provision adaptor)

ASSIGN_SPECIFIC_DEPARTMENT

Assign To Specific Department (Order Provision adaptor)

FULFILLED_BY_NEAREST_LOCATION

Fulfilled By Nearest Location (Order Provision adaptor)

FF_BASED_ON_POST_CODE_COVERAGE

Fulfilled Based On Post Code Coverage (Order Provision adaptor)

POST_WEBHOOK

POST Webhook (webhooks adaptor)

PUT_WEBHOOK

Put Webhook (webhooks adaptor)

ASSIGN_USER_OF_SPECIFIC_DEP

Assign To User Of A Specific Department (Service Request Provision adaptor)

ASSIGN_USER_OF_SPEC_USER_ROLE

Assign To User Of A Specific User Role (Service Request Provision adaptor)

FF_BY_USER_OF_SPEC_USER_ROLE

Fulfilled By User Of A Specific User Role (Service Request Provision adaptor)

FULFILLED_BY_SPECIFIC_USER

Fulfilled By Specific User (Service Request Provision adaptor)

PROV_ORDER_TO_SIMPHONY_POS

Provision Order To Simphony POS (MICROS Simphony Order Provision adaptor)

PROV_ORDER_TO_ALOHA_POS

Provision Order To Aloha POS (NCR Aloha Order Provision adaptor)

adaptor_action_parameters
Array

Details about the adaptor’s actions parameters

Object
id
string GUID

The parameter identifier

Example:
4b8e0ae7-0f8a-4313-a1fd-ecc1c0510f55
parameter_key
string

The parameter key

Enumeration:
COMMUNICATION_PLAN
USERS_COMMUNICATE_USERS_ID
USERS_COMMUNICATE_USER_ROLE_ID
ASSIGN_ORDER_ORGANISATION_ID
ASSIGN_ORDER_USER_ID
FULFILL_ORDER_DISTANCE
FULFILL_ORDER_ORGANISATION_ID
FULFILL_ORDER_POSTAL_CODE
FULFILL_ORDER_POSTAL_CODE_RANGE
WEBHOOK
parameter_from_value
string

The parameter from value

Example:
123
parameter_to_value
string

The parameter to value

Example:
1234
parameter_type
string

The parameter type

Enumeration:
DATE
INTEGER
NUMBER
STRING
parameter_group
string

The parameter group (used when more than one parameters should be specified for an adaptor’s action)

Example:
1
action_filters
Array

Details about the filters to be applied (required when type is based on Filter)

Object
id
string GUID

The action filter identifier

Example:
34a68915-ef49-69b6-a54b-c2ff66108473
filters
Array

Details about the applicable filtered attributes

Object
id
string GUID

The filter identiifer

Example:
edd5ac0e-05e3-e543-d38e-c6df6eed8d46
attribute
string

The attribute that its value will be compared based on the related operator

Enumeration:
SUPPLY_METHOD
PASS_TYPE
REWARD_OFFER_GOAL
REWARD_OFFER_TYPE
REWARD_OFFER_SPEND_METHOD
REWARD_OFFER_AWARD_AMOUNT
REWARD_OFFER_AWARD_PERCENTAGE
type
string

The type of the key

Enumeration:
STRING
INTEGER
NUMBER
DATE
operator
string

The filter operator to compare the attribute actual value with the filtered one

Enumeration:
EQUAL

Applicable for type of number/integer/date

IS

Applicable for type of string

EQUAL_GREATER

Applicable for type of number/integer/date

EQUAL_LESS

Applicable for type of number/integer/date

LESS

Applicable for type of number/integer/date

GREATER

Applicable for type of number/integer/date

value
string

The attribute value to apply the filter condition (either value or value_list should be specified)

Example:
123
value_list
Array of string

The supported list of values (either value or value_list should be specified)

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/automations/6A24D2B5E44F44B28451FE021FCAD51E/actions HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "ACTIONB5E44F44B28451FE021FCAD51E",
            "order": 1,
            "adaptor": "COMMUNICATIONS",
            "adaptor_action": "REQUEST_APPROVAL",
            "adaptor_action_parameters": [
                {
                    "id": "4b8e0ae7-0f8a-4313-a1fd-ecc1c0510f55",
                    "parameter_key": "RICH_CONTENT",
                    "parameter_from_value": "123",
                    "parameter_to_value": "1234",
                    "parameter_type": "SUPPLY_METHOD",
                    "parameter_group": "1"
                }
            ],
            "action_filters": [
                {
                    "filters": [
                        {
                            "id": "edd5ac0e-05e3-e543-d38e-c6df6eed8d46",
                            "attribute": "NAME",
                            "type": "NUMBER",
                            "operator": "GREATER",
                            "value": "123",
                            "value_list": [
                                ""
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
Adaptors
Adaptor Action Records
POST /adaptors/{id}/actions/{action_id}/records/{record_id}
GET /adaptors/{id}/actions/{action_id}/records
GET /adaptors/{id}/actions/{action_id}/records/{record_id}
Update Action Records
POST /adaptors/{id}/actions/{action_id}/records/{record_id}

Change the value of a specific adaptor action record attribute

Path variables

id
string GUID required

The approval request identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
action_id
string GUID required

The action identifier whoe record will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFQ
record_id
string GUID required

The record identifier that will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFJ

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
key
string required

The record’s key

Example:
url-endpoint
value
string required

The record’s value

Example:
https://crm.com

Responses

200 200

Successful Request

Body
Object
id
string GUID

The record identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/adaptors/CAD1E31269B76D7A65ACCE45B2E68DFD/actions/CAD1E31269B76D7A65ACCE45B2E68DFQ/records/CAD1E31269B76D7A65ACCE45B2E68DFJ HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "key": "url-endpoint",
    "value": "https://crm.com"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Search Action Records
GET /adaptors/{id}/actions/{action_id}/records

Search for an adaptor action’s records (e.g. CRM.COM Apporvals Adaptor approval requests)

Path variables

id
string GUID required

The adaptor identifier whose actions will be retrieved

Example:
82697d43-4970-4dcc-bd35-7df27c72b8f6
action_id
string GUID required

The action identifier that will be retrieved

Example:
1b75a53f-b189-40bb-8db0-39b0578a6aqa

Request parameters

search_type
string optional

Defines the entitiy type that the search will be applied (required for search_value)

Enumeration:
KEY
LABEL
VALUE
ADAPTOR_NAME
ADAPTOR_ACTION_NAME
search_value
string optional

Defines the free text search parameter based on the provided type (required when search_type is specified)

Example:
POS Delivery
automations
array of string optional

Filter based on automations that triggered such action

Collection format: csv
Unique items: YES
adaptor_actions
array of string optional

Filter based on adapto action that created such record

Collection format: csv
Unique items: YES
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The record identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
record_attributes
Array

Details about the records attributes

Object
id
string GUID

The attribute identifier

Example:
CEEE83D6E0804A30966F684B0269AD9G
key
string

The record’s attribute key

Example:
url-endpoint
label
string

The record’s attribute label

Example:
URL Endpoint
type
string

The record’s attribute type

Example:
string
value
string

The record’s attribute value

Example:
https://crm.com
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/adaptors/82697d43-4970-4dcc-bd35-7df27c72b8f6/actions/1b75a53f-b189-40bb-8db0-39b0578a6aqa/records HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "record_attributes": [
                {
                    "id": "CEEE83D6E0804A30966F684B0269AD9G",
                    "key": "url-endpoint",
                    "label": "URL Endpoint",
                    "type": "string",
                    "value": "https://crm.com"
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Action Record
GET /adaptors/{id}/actions/{action_id}/records/{record_id}

Retrieve details for a specifc adaptor action’s records (e.g. CRM.COM WEbhooks Adaptor webhook request)

Path variables

id
string GUID required

The adaptor identifier whose action’s record will be retrieved

Example:
82697d43-4970-4dcc-bd35-7df27c72b8f6
action_id
string GUID required

The action identifier whoe record will be retrieved

Example:
1b75a53f-b189-40bb-8db0-39b0578a6aqa
record_id
string GUID required

The record identifier that will be retrieved

Example:
1b75a53f-b189-40bb-8db0-39b0578a6a2w

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The record identifier

Example:
be8c05c4-2f97-4b40-a979-42f066db265c
record_attributes
Array

Details about the record attributes

Object
id
string GUID

The attribute identifier

Example:
be8c05c4-2f97-4b40-a979-42f066db26qw
key
string

The record’s attribute key

Example:
url-endpoint
label
string

The record’s attribute label

Example:
URL Endpoint
type
string

The record’s attribute type

Example:
string
value
string

The record’s attribute value

Example:
https://crm.com
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/adaptors/82697d43-4970-4dcc-bd35-7df27c72b8f6/actions/1b75a53f-b189-40bb-8db0-39b0578a6aqa/records/1b75a53f-b189-40bb-8db0-39b0578a6a2w HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "be8c05c4-2f97-4b40-a979-42f066db265c",
    "record_attributes": [
        {
            "id": "be8c05c4-2f97-4b40-a979-42f066db26qw",
            "key": "url-endpoint",
            "label": "URL Endpoint",
            "type": "string",
            "value": "https://crm.com"
        }
    ]
}
Webhooks
POST /webhooks
PUT /webhooks/{id}
DELETE /webhooks/{id}
GET /webhooks
GET /webhooks/{id}
GET /webhook_requests
Create Webhook
POST /webhooks

Create a new webhook

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The webhook name

Example:
CRMdotCOM Delivery
method
string required

The webhook method type

Enumeration:
POST
PUT
url_endpoint
string required

The webhook url endpoint

Example:
https://crm.com/delivery
url_auth
string nullable

Defines how the webhook will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
Default:
NO_AUTH
username
string nullable

The username that will auth the webhook requests (applicable if url_auth = USERNAME_PASSWORD)

Example:
johndoe
password
string nullable

The password that will auth the webhook requests (applicable if url_auth = USERNAME_PASSWORD)

Example:
crm.com
api_key
string nullable

The api key that will auth the webhook requests (applicable if url_auth = API_KEY)

Example:
qwert-12345-qwewerwer-123234234-werwerwr

Responses

200 200

OK

Body
Object
id
string GUID

The webhook identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/webhooks HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "CRMdotCOM Delivery",
    "method": "POST",
    "url_endpoint": "https://crm.com/delivery",
    "url_auth": "NO_AUTH",
    "username": "johndoe",
    "password": "crm.com",
    "api_key": "qwert-12345-qwewerwer-123234234-werwerwr"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "API1E31269B76D7A65ACCE45B2E68DFD"
}
Update Webhook
PUT /webhooks/{id}

Update an existing webhook

Path variables

id
string required

The webhook identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68WHI

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The webhook name

Example:
CRMdotCOM Delivery
url_endpoint
string nullable

The webhook url endpoint

Example:
https://crm.com/delivery
url_auth
string nullable

Defines how the webhook will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
Default:
NO_AUTH
username
string nullable

The username that will auth the webhook requests (applicable if url_auth = USERNAME_PASSWORD)

Example:
johndoe
password
string nullable

The password that will auth the webhook requests (applicable if url_auth = USERNAME_PASSWORD)

Example:
crm.com
api_key
string nullable

The api key that will auth the webhook requests (applicable if url_auth = API_KEY)

Example:
qwert-12345-qwewerwer-123234234-werwerwr

Responses

200 200

OK

Body
Object
id
string GUID

The webhook identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/webhooks/CAD1E31269B76D7A65ACCE45B2E68WHI HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "CRMdotCOM Delivery",
    "url_endpoint": "https://crm.com/delivery",
    "url_auth": "NO_AUTH",
    "username": "johndoe",
    "password": "crm.com",
    "api_key": "qwert-12345-qwewerwer-123234234-werwerwr"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "API1E31269B76D7A65ACCE45B2E68DFD"
}
Delete Webhook
DELETE /webhooks/{id}

Delete an existing webhook

Path variables

id
string required

The webhook identifier that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68WHI

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/webhooks/CAD1E31269B76D7A65ACCE45B2E68WHI HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search Webhooks
GET /webhooks

Retrieve all webhooks

Request parameters

search_value
string optional

The value of the search (case insensitive) across Name, URL Endpoint

Example:
https://crm.com/delivery
name
string optional

Filter based on the name

Example:
CRMdotCOM Delivery
url_endpoint
string optional

Filter based on the url endpoint

Example:
https://crm.com/delivery
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information about the organisation’ webhooks

Object
id
string GUID

The webhook identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
name
string

The webhook name

Example:
Registration Name
method
string

The webhook method type

Enumeration:
POST
PUT
url_endpoint
string

The webhook url endpoint

Example:
https;//crm.com/delivery
url_auth
string

Defines how the webhook url will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
number_requests
Object
pending
string

The number of pending requests

Example:
12
successful
string

The number of successful requests

Example:
2
failed
string

The number of failed requests

Example:
1
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/webhooks HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "API1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Registration Name",
            "url_endpoint": "https;//crm.com/delivery",
            "url_auth": "API_KEY"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Webhook
GET /webhooks/{id}

Get details of a single webhook

Path variables

id
string GUID required

The webhooks identifier that will be retrieved

Example:
API1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information about the organisation’ webhooks

Object
id
string GUID

The organisation’s webhook identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
name
string

The webhook name

Example:
CRMdotCOM Delivery
method
string

The webhook method type

Enumeration:
POST
PUT
url_endpoint
string

The webhook url endpoint

Example:
https://crm.com/delivery
url_auth
string

Defines how the webhook url will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
username
string

The webhook auth username (applicable only if url_auth = USERNAME_PASSWORD)

Example:
johndoe
password
string

The webhook auth password (applicable only if url_auth = USERNAME_PASSWORD)

Example:
crm.com
api_key
string

Defines the date up until the secret api key will be active

Example:
sdfsdfsdf-32423423423-wefsdfsdfdsf-234234234
number_requests
Object
pending
integer

The number of pending requests

Example:
12
successful
integer

The number of successfull requests

Example:
2
failed
integer

The number of failed requests

Example:
1
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/webhooks/API1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "API1E31269B76D7A65ACCE45B2E68DFD",
            "name": "CRMdotCOM Delivery",
            "url_endpoint": "https://crm.com/delivery",
            "url_auth": "USERNAME_PASSWORD",
            "username": "johndoe",
            "password": "crm.com",
            "api_key": "sdfsdfsdf-32423423423-wefsdfsdfdsf-234234234"
        }
    ]
}
Search Webhook Requests
GET /webhook_requests

Retrieve webhook requests

Request parameters

search_value
string optional

The value of the search (case insensitive) across Webhook Name, URL Endpoint

Example:
https://crm.com/delivery
webhooks
array of string optional

Filter based on the webhook

Collection format: csv
Unique items: YES
url_endpoint
string optional

Filter based on the url endpoint

Example:
https://crm.com/delivery
state
string optional

Filter based on the request state

Enumeration:
PENDING
SUCCESS
FAILED
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information about the organisation’ webhook requests

Object
id
string GUID

The webhook request identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
state
string

The state of the webhook request

Enumeration:
PENDING
SUCCESS
FAILED
url_endpoint
string

The webhook url endpoint

Example:
https;//crm.com/delivery
url_auth
string

Defines how the webhook url will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
body
string

The request body that was sent

Example:
POST /crm.com/delivery HTTP/1.1 Host: staging.crm.com Content-Type: application/json api_key: 123456789012-1234-1234-1234-123456789012 Content-Type: text/plain { "contact_id": "123456789012-ABCD-ABCD-ABCD-123456789012", "amount": 20.45 }
response
string

The response that was sent

Example:
{ "status": { "code": "COM.CRM.EXCEPTION.INVALIDTOKENEXCEPTION", "description": "The specific token is not valid.", "message": "The token is invalid, please obtain a new one." } }
retries
integer

The total number of request retries

Example:
3
webhook
Object

The webhook of the request

id
string

The webhook identifier

Example:
API1E31269B76D7A65ACCE45B2E68WIH
name
string

The webhook name

Example:
CRMdotCOM Delivery
automation
Object

The automation that triggered the webhook

id
string

The automation identifier

Example:
b63ed1ab-0256-453d-82a4-a8a83a02ea8b
name
string

The automation name

Example:
Share content to delivery system
entity
Object

Information about the related entity that the request is created for

type
string

The entity type that the webhook request is created for

Examples:
CONTACTORDERREWARDOFFER
reference
string

The entity’s reference name/code/number

Example:
ORD1234ER
date
integer epoch

The date that such request was made

Example:
1596093272
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/webhook_requests HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "API1E31269B76D7A65ACCE45B2E68DFD",
            "state": "SUCCESS",
            "url_endpoint": "https;//crm.com/delivery",
            "url_auth": "USERNAME_PASSWORD",
            "body": "POST /crm.com/delivery HTTP/1.1 Host: staging.crm.com Content-Type: application/json api_key: 123456789012-1234-1234-1234-123456789012 Content-Type: text/plain  {     \"contact_id\": \"123456789012-ABCD-ABCD-ABCD-123456789012\",     \"amount\": 20.45 }",
            "response": "{     \"status\": {         \"code\": \"COM.CRM.EXCEPTION.INVALIDTOKENEXCEPTION\",         \"description\": \"The specific token is not valid.\",         \"message\": \"The token is invalid, please obtain a new one.\"     } }",
            "retries": 3,
            "webhook": {
                "id": "API1E31269B76D7A65ACCE45B2E68WIH",
                "name": "CRMdotCOM Delivery"
            },
            "automation": {
                "id": "b63ed1ab-0256-453d-82a4-a8a83a02ea8b",
                "name": "Share content to delivery system"
            },
            "entity": {
                "type": "CONTACT",
                "reference": "ORD1234ER"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Communications
POST /communications
GET /communications/{id}
GET /communications
Create Communication
POST /communications

Creates a single communication for a speciifc Contact

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

application/json
Object
name
string

The name of the communication

Example:
Happy Birthday
contact_id
string GUID required

The GUID of the Contact that the communication will be sent to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
channel
string

The channel that the communication is sent through

Enumeration:
SMS
EMAIL
DEVICE
INAPP
Example:
EMAIL
integration_id
string GUID

The integration that will send the communication

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
language
string

The language of the communication

Example:
ENG
recipient
string

The recipient’s address or phone according to the channel

Example:
customer@crm.com
subject
string

The actual subject of the communication sent (applicable for EMAIL and INAPP channels)

Example:
New Rewards Offer
content
string

The actual content of the communication sent

ignore_preferences
boolean

If set to True then the email and sms opt-out preferences of contact will be ignored

Default:
false
Example:
true

Responses

200 200

The request has succeeded

Body
application/json
Object
id
string GUID

The communication identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/communications HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95
Content-Type: application/json

{
    "name": "Happy Birthday",
    "contact_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "channel": "EMAIL",
    "integration_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "language": "ENG",
    "recipient": "customer@crm.com",
    "subject": "New Rewards Offer",
    "content": "",
    "ignore_preferences": "true"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Get Communication
GET /communications/{id}

Retrieve a specific communication

Path variables

id
string GUID required

The ID of the communication to be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

The request has succeeded

Body
application/json
Object
name
string

The name of the communication

Example:
Happy Birthday
life_cycle_state
string

The state of the communication

Enumeration:
PENDING
COMPLETED
REJECTED
Example:
PENDING
channel
string

The channel that the communication is sent through

Enumeration:
SMS
EMAIL
DEVICE
INAPP
Example:
EMAIL
is_viewed
boolean

Has the recipient viewed the communication?

Example:
false
viewed_on
integer epoch

The datetime that the recipient viewed the communication

Example:
1583846861
is_archived
boolean

Has the recipient archived the communication?

Example:
true
clicked_on
integer epoch

The date links in the communication where first clicked by the recipient

Example:
1583846865
created_on
integer epoch

The date and time that the communication was created

Example:
1583846861
language
string

The language of the communication

Example:
ENG
sender
string

The default sender

Example:
dev@crm.com
recipient
string

The email or number of the recipient

Example:
jon@crm.com
subject
string

The actual subject of the communication sent (if applicable)

content
string

The actual content of the communication sent

contact
Object

The contact that the communication was delivered to

id
string GUID

The unique identifier of the contact

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact

Example:
John Johnson
code
string

The unique code of the contact

Example:
C123
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/communications/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "Happy Birthday",
    "life_cycle_state": "PENDING",
    "channel": "EMAIL",
    "is_viewed": true,
    "viewed_on": 1583846861,
    "is_archived": true,
    "clicked_on": 1583846865,
    "created_on": 1583846861,
    "language": "ENG",
    "sender": "dev@crm.com",
    "recipient": "jon@crm.com",
    "subject": "",
    "content": "",
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Johnson",
        "code": "C123"
    }
}
List Communications
GET /communications

Retrieves all available communications

Request parameters

contact_id
string GUID optional

The contact ID for which the communications will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
life_cycle_state
string optional

The life cycle state of the communications to be retrieved

Enumeration:
PENDING
COMPLETED
REJECTED
channel
string optional

The channel of the communications to be retrieved

Enumeration:
SMS
EMAIL
DEVICE
INAPP
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Responses

200 200

The request has succeeded

Body
application/json
Object
content
Array
Object
id
string GUID

The communication ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the communication plan in case this communication was created based on a plan

Example:
Happy Birthday
life_cycle_state
string

The state of the communication

Enumeration:
PENDING
COMPLETED
REJECTED
Example:
PENDING
contact_id
string GUID

The GUID of the Contact

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
channel
string

The channel that the communication is sent through

Enumeration:
SMS
EMAIL
DEVICE
INAPP
Example:
EMAIL
is_viewed
boolean

Has the recipient viewed the communication?

Example:
false
viewed_on
integer epoch

The datetime that the recipient viewed the communication

Example:
1583846865
is_archived
boolean

Has the recipient archived the communication?

clicked_on
integer epoch

The date links in the communication where first clicked by the recipient

Example:
1583846865
created_on
integer epoch

The date and time that the communication was created

Example:
1583846865
language
string

The communication’s language

Example:
ENG
sender
string

The default sender

Example:
dev@crm.com
recipient
string

The email or number of the recipient

Example:
jon@crm.com
subject
string

The actual subject of the communication sent (if applicable)

Example:
Welcome to our company
content
string

The actual content of the communication sent

Example:
Dear sir/madam...
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/communications HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Happy Birthday",
            "life_cycle_state": "PENDING",
            "contact_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "channel": "EMAIL",
            "is_viewed": true,
            "viewed_on": 1583846865,
            "is_archived": true,
            "clicked_on": 1583846865,
            "created_on": 1583846865,
            "language": "ENG",
            "sender": "dev@crm.com",
            "recipient": "jon@crm.com",
            "subject": "Welcome to our company",
            "content": "Dear sir/madam..."
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Communication Templates
POST /communication_templates
GET /communication_templates
GET /communication_templates/{id}
Create Communication Template
POST /communication_templates

Creates a communication template

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

application/json
Object
name
string required

The name of the communication template

Example:
New Rewards Offer Template
contents
Array
Object
language
string

The language that the content is provided in (3-digits)

Example:
ENG
subject
string

The subject of the communication of the rich content

rich_content
string

The content in rich format

plain_content
string

The content in plain format

Responses

200 200

The request has succeeded

Body
application/json
Object
id
string GUID

The communication template identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/communication_templates HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95
Content-Type: application/json

{
    "name": "New Rewards Offer Template",
    "contents": [
        {
            "language": "ENG",
            "subject": "",
            "rich_content": "",
            "plain_content": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
List Communication Templates
GET /communication_templates

Retrieves all available communication templates

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
name
string optional

Retrieves the communication templates based on their names

Example:
New Rewards Offer Template

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Responses

200 200

The request has succeeded

Body
application/json
Object
content
Array
Object
name
string

The name of the communication template

Example:
New Rewards Offer Template
contents
Array
Object
language
string

The language that the content is provided in (3-digits)

Example:
ENG
subject
string

The subject of the communication of the rich content

rich_content
string

The content in rich format

plain_content
string

The content in plain format

paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/communication_templates HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "name": "New Rewards Offer Template",
            "contents": [
                {
                    "language": "ENG",
                    "subject": "",
                    "rich_content": "",
                    "plain_content": ""
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Communication Template
GET /communication_templates/{id}

Retrieve a single communication template

Path variables

id
string GUID required

The communication template id

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Responses

200 200

The request has succeeded

Body
application/json
Object
name
string required

The name of the communication template

Example:
New Rewards Offer Template
contents
Array
Object
language
string

The language that the content is provided in (3-digits)

Example:
ENG
subject
string

The subject of the communication of the rich content

rich_content
string

The content in rich format

plain_content
string

The content in plain format

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/communication_templates/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "New Rewards Offer Template",
    "contents": [
        {
            "language": "ENG",
            "subject": "",
            "rich_content": "",
            "plain_content": ""
        }
    ]
}
Communication Plans
POST /communication_plans
PUT /communication_plans/{id}
DELETE /communication_plans/{id}
GET /communication_plans
GET /communication_plans/{id}
Create Communication Plan
POST /communication_plans

Creates a single communication plan

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

application/json
Object
name
string

The communication plan’s name

Example:
New Reward Offers
end_date
integer epoch

The datetime that the communication plan ends running

Example:
12345678
start_date
integer epoch required

The datetime that the communication plan will start running

Example:
12345678
preferred_channel
string

The channel to send the communication in case the user has enabled more than one channels to receive communications

Enumeration:
EMAIL
SMS
segments
Array

A list of segments that the communications will be sent to

string GUID

the segment ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
contents
Array

A list of communication contents set up based on the channels and languages enabled

Object

the IDs of different contents used in this communication plan. Different languages and type of text

language
string

The language that the content is provided in (3-digitis)

Example:
ENG
subject
string

The subject of the communication of the rich content

rich_content
string

The content in rich format

plain_content
string

The content in plain format

integrations
Array

A list of integrations that will send the emails. One integration/connector per channel should be provided

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
frequency
string

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
life_cycle_state
string

The life cycle state of the Communication Plan

Enumeration:
DRAFT
POSTED

Responses

200 200

The request has succeeded

Body
application/json
Object
id
string GUID

The communication plan identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/communication_plans HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95
Content-Type: application/json

{
    "name": "New Reward Offers",
    "end_date": 12345678,
    "start_date": 12345678,
    "preferred_channel": "EMAIL",
    "segments": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "contents": [
        {
            "language": "ENG",
            "subject": "",
            "rich_content": "",
            "plain_content": ""
        }
    ],
    "integrations": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "frequency": "0 0 12 * * ?",
    "life_cycle_state": "DRAFT"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Communication Plan
PUT /communication_plans/{id}

Updates an existing communication plan

Path variables

id
string GUID required

The ID of the communication plan to be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

application/json
Object
name
string

The communication plan’s name

Example:
New Reward Offer
end_date
integer epoch

The datetime that the communication plan ends running

Example:
12345678
start_date
integer epoch required

The datetime that the communication plan will start running

Example:
112345678
preferred_channel
string

The channel to send the communication in case the user has enabled more than one channels to receive communications

Enumeration:
EMAIL
SMS
segments
Array

A list of segments that the communications will be sent to

string GUID

the segment ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
contents
Array

A list of communication contents set up based on the channels and languages enabled

Object

the IDs of different contents used in this communication plan. Different languages and type of text

language
string

The language that the content is provided in (3-digitis)

Example:
ENG
subject
string

The subject of the communication of the rich content

rich_content
string

The content in rich format

plain_content
string

The content in plain format

integrations
Array

A list of integrations that will send the emails. One integration/connector per channel should be provided

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
frequency
string

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
life_cycle_state
string

The life cycle state of the Communication Plan

Enumeration:
DRAFT
POSTED

Responses

200 200

The request has succeeded

Body
application/json
Object
id
string GUID

The communication plan identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/communication_plans/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95
Content-Type: application/json

{
    "name": "New Reward Offer",
    "end_date": 12345678,
    "start_date": 112345678,
    "preferred_channel": "EMAIL",
    "segments": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "contents": [
        {
            "language": "ENG",
            "subject": "",
            "rich_content": "",
            "plain_content": ""
        }
    ],
    "integrations": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "frequency": "0 0 12 * * ?",
    "life_cycle_state": "DRAFT"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete Communication Plan
DELETE /communication_plans/{id}

Deletes a single communication plan

Path variables

id
string GUID required

The ID of the communication plan to be deleted

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/communication_plans/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 
List Communication Plans
GET /communication_plans

Retrieves all available communication plans

Request parameters

search_value
string optional

The value of the search across the plan name

Example:
New Offer
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Responses

200 200

The request has succeeded

Body
application/json
Object
content
Array
Object
id
string GUID

The communication plan ID

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The communication plan name

Example:
New Reward Offers
end_date
integer epoch

The datetime that the communication plan ends running

Example:
12345678
start_date
integer epoch

The datetime that the communication plan will start running

Example:
12345678
life_cycle_state
string

The life cycle state of the communication plan

Enumeration:
DRAFT
POSTED
integrations
Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the integration

Example:
Connection for Emails
channel
string

The Channel

Enumeration:
EMAIL
SMS
INAPP
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/communication_plans HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "New Reward Offers",
            "end_date": 12345678,
            "start_date": 12345678
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Communication Plan
GET /communication_plans/{id}

Retrieves a specific communication plan

Path variables

id
string GUID required

The unique ID of the communication plan to be retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A

Responses

200 200

The request has succeeded

Body
application/json
Object
name
string

The name of the communication plan

Example:
New Rewards Offer
end_date
integer epoch

The datetime that the communication plan ends running

Example:
12345678
start_date
integer epoch required

The datetime that the communication plan will start running

Example:
12345678
preferred_channel
string

The channel to send the communication in case the user has enabled more than one channels to receive communications

Enumeration:
EMAIL
SMS
segments
Array

A list of segments that the communications will be sent to

Object

the segment ID

id
string GUID

The ID of the segment

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the segment

Example:
VIP Contacts
contents
Array

A list of communication contents set up based on the channels and languages enabled

Object

the IDs of different contents used in this communication plan. Different languages and type of text

language
string

The language that the content is provided in (3-digits)

Example:
ENG
subject
string

The subject of the communication of the rich content

rich_content
string

The content in rich format

plain_content
string

The content in plain format

integrations
Array

A list of integrations that will send the communications. One integration/connector per channel should be provided

Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the integration

Example:
Connection for Emails
channel
string

The channel

Enumeration:
EMAIL
SMS
INAPP
frequency
string

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
life_cycle_state
string

The life cycle state of the communication plan

Enumeration:
DRAFT
POSTED
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/communication_plans/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "New Rewards Offer",
    "end_date": 12345678,
    "start_date": 12345678,
    "preferred_channel": "SMS",
    "segments": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "VIP Contacts"
        }
    ],
    "contents": [
        {
            "language": "ENG",
            "subject": "",
            "rich_content": "",
            "plain_content": ""
        }
    ],
    "integrations": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Connection for Emails",
            "channel": "SMS"
        }
    ],
    "frequency": "0 0 12 * * ?",
    "life_cycle_state": "POSTED"
}
Contacts
POST /contacts
PUT /contacts/{id}
GET /contacts
GET /contacts/{id}
GET /contacts/{id}/activity_feed
GET /contacts/{id}/payment_methods
POST /contacts/change_password
Create Contact
POST /contacts

Create a new contact, either a new Person or a Company

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
id
string GUID

The contact identifier. if not supplied one will be generated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

User readable code for the contact

Example:
0010202311
contact_type
string required

Type of contact support types include Person and Company.

Enumeration:
PERSON
COMPANY
is_tax_exempt
boolean

Defines whether the contatc is classified as Tax Exempt or not. Defaults to False.

Default:
false
Example:
false
company_name
string required nullable

Company Name if the Contact represents a company, required attribute if the type is a Company.

Example:
Good Burger
title
string

The title of the contact. Applicable only if the type is PERSON

Example:
Sir
first_name
string required nullable

The first name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Louis
middle_name
string nullable

The middle name of the contact. Applicable only if the type is PERSON

Example:
Aloz
last_name
string required nullable

The last name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Kozior
preferred_language_code
string

The contact’s preferred language for communication

Example:
ENG
statutory_number
string

The contact’s unique statutory number

Example:
231224-1222000
notes
string

Notes for the contact

Example:
Notes
sms_opt_out
boolean nullable

The contact setting for receiving sms. Default value is false

Example:
true
email_opt_out
boolean nullable

The contact setting for receiving emails. Default value is false

Example:
false
create_default_account
boolean

If set to true, then a single account is created for the contact usig the system’s default settings and no further input is needed.

Example:
true
category_id
string GUID

The unique ID of the contact’s category

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
demographics
Object

Information about the contact’s demographic. Applicable only if the contact type is PERSON

gender
string

The gender of the contact

Enumeration:
MALE
FEMALE
country_of_residence
string

The country code for the country of residence

Example:
USA
passport
Object

Information about the contact’s passport

passport_number
string

The passport number

Example:
K)123456
issue_country_code
string

The passport’s issue country code

Example:
GRC
expiration_date
integer epoch

The passport’s expiration date

Example:
13423423222
id_details
Object

Information about the contact’s id. Applicable only if the contact is type of PERSON

id_number
string

The id number

Example:
132465
issue_country_code
string

The id’s issue country code

Example:
CYP
expiration_date
integer epoch

The id’s expiration date

Example:
1129876567
name_day
Object

The contact’s name day. Applicable only if the contact is type of PERSON

month
integer

The month of the name day

Example:
4
day
integer

The day of the name day

Example:
12
date_of_birth
Object

Information about the contact’s data of birth. Applicable only if the contact is type of PERSON

year
integer

The birtdate year

Example:
1999
month
integer

The borthdate month

Example:
12
day
integer

The borthdate day

Example:
31
company_profile
Object

Information about the company’s profile. Applicable only if contact_type is COMPANY

industry_id
string GUID

The company’s industry unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
industry_sectors
Array

The company’s industry sectors IDs

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
profile_year
integer

The profile year

Example:
2019
annual_turnover
integer

The annual turnover

Example:
450000
established_on
integer epoch

The date that the company was established on

Example:
98765342
number_of_employees
integer

The company’s number of employees

Example:
200
registration_number
string

The company’s registration number

Example:
123456
registration_country
string

The company’s registrationc country code

Example:
CYP
tax_reference_number
string

The company’s tax reference number

Example:
TAX1234
vat_registration_number
string

The company VAT registration numnber

Example:
VAT1234
addresses
Array nullable

Information about the contact’s addresses

Object
address_type
string required

The address type

Enumeration:
HOME
BUSINESS
is_primary
boolean

Primary address for Billing or Communication

Example:
true
address_line_1
string
address_line_2
string
Example:
Thomas V
state_province_county
string
Example:
Active
town_city
string
postal_code
string
country_code
string
Example:
CYP
lat
string
lon
string
googlePlaceId
string
phones
Array
Object
is_primary
boolean
Example:
true
country_code
string
Example:
CYP
number
string
Example:
238065437
email_address
string

The contact’s email address

Example:
bill@gmail.com
accounts
Array

Optional basic account settings for a financial contact

Object
name
string

The account name

is_primary
boolean

Indicates the primary account of the contact

credit_limit
number
Example:
250
currency_code
string
Example:
GBP
classification_id
string

The account classification’s GUID

custom_fields
Array
Object
key
string

The custom field’s unique key

Example:
back_office
value
string

The custom field’s value

Example:
0001-12345
referral_code
string nullable

The contact’s referral code

Example:
REF123

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1

Create a contact for a person

POST https://stagingapi.crm.com/backoffice/v1/contacts HTTP/1.1 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "code": "0010202311",
    "contact_type": "PERSON",
    "is_tax_exempt": "false",
    "company_name": "Good Burger",
    "title": "Mr",
    "first_name": "Louis",
    "middle_name": "Aloz",
    "last_name": "Kozior",
    "preferred_language_code": "ENG",
    "statutory_number": "231224-1222000",
    "notes": "Notes",
    "sms_opt_out": "true",
    "email_opt_out": "false",
    "create_default_account": true,
    "category_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "demographics": {
        "gender": "FEMALE",
        "country_of_residence": "USA",
        "passport": {
            "passport_number": "K)123456",
            "issue_country_code": "GRC",
            "expiration_date": 13423423222
        },
        "id_details": {
            "id_number": "132465",
            "issue_country_code": "CYP",
            "expiration_date": 1129876567
        },
        "name_day": {
            "month": 4,
            "day": 12
        },
        "date_of_birth": {
            "year": 1999,
            "month": 12,
            "day": 31
        }
    }
    "addresses": [
        {
            "address_type": "HOME",
            "is_primary": "true",
            "address_line_1": "",
            "address_line_2": "Thomas V",
            "state_province_county": "Active",
            "town_city": "",
            "postal_code": "",
            "country_code": "CYP"
        }
    ],
    "phones": [
        {
            "is_primary": true,
            "country_code": "CYP",
            "number": "238065437"
        }
    ],
    "email_address": "bill@gmail.com",
    "accounts": [
        {
            "name": "",
            "is_primary": true,
            "credit_limit": 250,
            "currency_code": "GBP",
            "classification_id": ""
        }
    ],
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ],
    "referral_code": "REF123",
    "loyalty_identifier": "1234567897415"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Contact
PUT /contacts/{id}

Update a Contact, it is possible to supply a partial body so that only supplied items will be updated.

Path variables

id
string required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
company_name
string

Company Name if the Contact represents a company, required attribute if the type is a Company.

Example:
Good Burger
title
string

The title of the contact. Applicable only if the type is PERSON

Example:
Sir
first_name
string

The first name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Louis
middle_name
string

The middle name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Aloz
last_name
string

The last name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Kozior
preferred_language_code
string
Example:
ENG
category_id
string GUID

The contact’s category ID

Example:
4AD9C84FA60F9FE407140E20F707726A
notes
string
Example:
Notes
statutory_number
string
Example:
EF12345
demographics
Object
gender
string
Enumeration:
MALE
FEMALE
country_of_residence
string
passport
Object
passport_number
string
issue_country_code
string
Example:
GRC
expiration_date
integer
Example:
129876567
id_details
Object
id_number
string
isssue_country_code
string
Example:
CYP
expiration_date
integer
name_day
Object
month
integer
Example:
10
day
integer
Example:
4
date_of_birth
Object
year
integer
Example:
2018
month
integer
Example:
10
day
integer
Example:
16
company_profile
Object

A company’s profile. Applicable only if contact_type is COMPANY

industry_id
string GUID

The company’s Industry ID

Example:
4AD9C84FA60F9FE407140E20F707726A
industry_sectors
Array

The company’s Industry Sectors.

string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
profle_year
number
annual_turnover
number
established_on
integer
number_of_employees
number
registration_number
string
registration_country
string
tax_reference_number
string
vat_registration_number
string
addresses
Array
Object
id
string
address_type
string
Enumeration:
HOME
BUSINESS
is_primary
string
Example:
true
address_line_1
string required
address_line_2
string
Example:
Thomas V
state_province_county
string
Example:
California
town_city
string
postal_code
string
country_code
string
Example:
CYP
lat
string
lon
string
googlePlaceId
string
phones
Array
Object
id
string
is_primary
boolean
Example:
true
country_code
string
Example:
44
number
string
Example:
238065437
phone_type
string
Enumeration:
LANDLINE
MOBILE
FAX
custom_fields
Array
Object
key
string

The custom field’s unique key

Example:
back_office
value
string

The custom field’s value

Example:
0001-12345
email_address
string
Example:
bill@gmail.com
sms_opt_out
boolean

The contact setting for receiving sms.

email_opt_out
boolean

The contact setting for receiving emails.

is_tax_exempt
boolean

Defines whether the contact is tax exempt or not

Example:
false

Responses

200 200

OK

Body
Object
id
string

The updated contact’s GUID

Example:
GUID
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "company_name": "Good Burger",
    "title": "Sir",
    "first_name": "Louis",
    "middle_name": "Aloz",
    "last_name": "Kozior",
    "preferred_language_code": "ENG",
    "category_id": "4AD9C84FA60F9FE407140E20F707726A",
    "notes": "Notes",
    "statutory_number": "EF12345",
    "demographics": {
        "gender": "FEMALE",
        "country_of_residence": "",
        "passport": {
            "passport_number": "",
            "issue_country_code": "GRC",
            "expiration_date": 129876567
        },
        "id_details": {
            "id_number": "",
            "isssue_country_code": "CYP",
            "expiration_date": 1
        },
        "name_day": {
            "month": 10,
            "day": 4
        },
        "date_of_birth": {
            "year": 2018,
            "month": 10,
            "day": 16
        }
    },
    "company_profile": {
        "industry_id": "4AD9C84FA60F9FE407140E20F707726A",
        "industry_sectors": [
            "4AD9C84FA60F9FE407140E20F707726A"
        ],
        "profle_year": 1,
        "annual_turnover": 1,
        "established_on": 1,
        "number_of_employees": 1,
        "registration_number": "",
        "registration_country": "",
        "tax_reference_number": "",
        "vat_registration_number": ""
    },
    "addresses": [
        {
            "id": "",
            "address_type": "HOME",
            "is_primary": "true",
            "address_line_1": "",
            "address_line_2": "Thomas V",
            "state_province_county": "California",
            "town_city": "",
            "postal_code": "",
            "country_code": "CYP"
        }
    ],
    "phones": [
        {
            "id": "",
            "is_primary": true,
            "country_code": "44",
            "number": "238065437",
            "phone_type": "LANDLINE"
        }
    ],
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ],
    "email_address": "bill@gmail.com",
    "sms_opt_out": true,
    "email_opt_out": true,
    "is_tax_exempt": "false"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "GUID"
}
List Contacts
GET /contacts

Search For Contacts

Request parameters

page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
search_value
string optional

The value of the search across Full Name, Company Name, Contact Code, Phone Number and Loyalty Identifier (case insensitive)

Example:
C0123456
code
string optional

Unique Code of Contact

last_name
string optional

The last name of contact. Applicable only when searching for physical persons

company_name
string optional

The name of the company. Applicable only when searching for companies

email_address
string optional

The email address of the contact

phone_number
string optional

The phone number of the contact

statutory_number
string optional

The contact’s unique statutory number

first_name
string optional

The first name of contact. Applicable only when searching for physical persons

include_financials
boolean optional

If set to true then information about the primary account and wallet will be also retrieved

cim
string optional

The customer identification medium

Example:
123456
loyalty_identifier
string optional

The contact’s loyalty identifier

Example:
1234567897415
registered_from
integer optional

The date from which the contact was registered

register_to
integer optional

The date unitl which the contact was registered

owned_by
string optional

The unique identifier of the organisation that owns the contact

metrics
string optional

Defines the additional metrics to be retrieved in the response (comma separated)

Example:
SUBSCRIPTIONS, SCHEMES

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
id
string GUID

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

The contact code

Example:
ABC-123
contact_type
string

The contact type

Example:
PERSON
contact_name
string

The contact full name

Example:
John CRM Doe
statutory_number
string

The contact statutory number

Example:
EF00001231
registered_on
integer epoch

The date on which the contact was registered in CRM.COM

category
Object

Information about the contact’s category

id
string GUId

The category identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The category name

Example:
VIP
addresses
Array

Details about contact addresses

Object
id
string GUID

The address id

Example:
60bcca96-4965-4d56-8341-cb6f5ae61803
address_type
string

The address type

Enumeration:
HOME
BUSINESS
is_primary
boolean

Defines whether the address is the primary one

Example:
true
address_line_1
string required
Example:
Elia Papakyriakou
address_line_2
string
Example:
7 Stars Tower
state_province_county
string
Example:
Egkomi
town_city
string
Example:
Nicosia
postal_code
string
Example:
2000
country
string required
Example:
CYP
lat
number
lon
number
googlePlaceId
string
phones
Array

Details about contact’s phone

Object
id
string GUID

The phone identifier

Example:
60bcca96-4965-4d56-8341-cb6f5ae61803
phone_type
string
Enumeration:
LANDLINE
MOBILE
FAX
is_primary
boolean

Defines whether the phone is the primary one

Example:
true
country_code
string
Example:
357
number
string
Example:
99999999
email_address
string

The contact’s email

Example:
bill@gmail.com
financials
Object

The primary account and primary wallet (if available) of the contact. Available only if “financials” parameter is set to True

account
Object
id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string
Example:
AR123
life_cycle_state
string
Enumeration:
ACTIVE
SUSPENDED
TERMINATED
currency_code
string
Example:
EUR
overdue_amount
number
Example:
1
balance
number
Example:
200
wallet
Object
id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string
Example:
W132
life_cycle_state
string
Enumeration:
ACTIVE
SUSPENDED
balance
number
Example:
200
wallet_currency_code
string
Example:
EUR
interaction_status
string enum

The interaction status of the contact, retrieved by REDIS

Examples:
OPERATIONALNEVER_OPERATIONALRESTINGDORMANT
metrics
Object

Retrieves the metrics requested

subscriptions
Object
timestamp
integer epoch

Defaults to current timestamp

Example:
1589791784
total
integer

Total number of Subscriptions

Example:
2
schemes
Object
timestamp
integer epoch

Defaults to current timestamp

Example:
1589791784
total
integer

Total number of Schemes

Example:
2
kyc_profile
Object

The Contact’s assigned KYC profile

id
string GUID

The ID of the KYC profile

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the KYC profile

Example:
Standard
kyc_status
string

The status of the KYC profile assigned to Contact

Enumeration:
PENDING
VERIFIED
loyalty_identifiers
Array

The contact’s loyalty identifiers (cards)

Object
id
string GUID

The unique identifier of the loyalty identifier (CIM)

Example:
3311eb31-1f2c-5d8f-ae0d-d22595bbfb7a
identifier
string

The loyalty identifier

Example:
234234234324234234234234
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contacts HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "contacts": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "code": "ABC-123",
            "contact_type": "PERSON",
            "contact_name": "John CRM Doe",
            "statutory_number": "EF00001231",
            "registered_on": 1,
            "category": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "VIP"
            },
            "addresses": [
                {
                    "id": "60bcca96-4965-4d56-8341-cb6f5ae61803",
                    "address_type": "BUSINESS",
                    "is_primary": "true",
                    "address_line_1": "Elia Papakyriakou",
                    "address_line_2": "7 Stars Tower",
                    "state_province_county": "Egkomi",
                    "town_city": "Nicosia",
                    "postal_code": "2000",
                    "country": "CYP"
                }
            ],
            "phones": [
                {
                    "id": "60bcca96-4965-4d56-8341-cb6f5ae61803",
                    "phone_type": "FAX",
                    "is_primary": "true",
                    "country_code": "357",
                    "number": "99999999"
                }
            ],
            "email_address": "bill@gmail.com",
            "financials": {
                "account": {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "number": "AR123",
                    "life_cycle_state": "ACTIVE",
                    "currency_code": "EUR",
                    "overdue_amount": 1,
                    "balance": 200
                },
                "wallet": {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "code": "W132",
                    "life_cycle_state": "ACTIVE",
                    "balance": 200,
                    "alternative_balance": 12,
                    "wallet_currency_code": "EUR",
                    "alternative_currency_code": "PTS"
                }
            },
            "interaction_status": "RESTING",
            "metrics": {
                "subscriptions": {
                    "timestamp": 1589791784,
                    "total": 2
                },
                "schemes": {
                    "timestamp": 1589791784,
                    "total": 2
                }
            },
            "kyc_profile": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Standard"
            },
            "kyc_status": "PENDING"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Contact
GET /contacts/{id}

Get Contact information for a given Contact

Path variables

id
string required

The contact identifier (GUID) or code that should be returned

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The contact’s GUID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

The contact’s unique code

Example:
ABC-123
contact_type
string

Type of contact support types include Person and Company.

Enumeration:
PERSON
COMPANY
company_name
string

The name of the company if the contact type is COMPANY

Example:
Louis Kozior
title
string

The title of the contact. Applicable only if the type is PERSON

Example:
Sir
first_name
string

The first name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Louis
middle_name
string

The middle name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Aloz
last_name
string

The last name of the contact. Applicable and mandatory only if the type is PERSON

Example:
Kozior
contact_name
string

The full name of the Contact taking into consideration the name display settings

Example:
Mark Johnson
preferred_language_code
string

The contact’s preferred language for communication

Example:
ENG
notes
string

Notes for the contact

Example:
Notes
statutory_number
string

The contact’s unique statutory code

Example:
EF-12345
is_tax_exempt
boolean

Defines whether the contact is Tax Exempt or not

Example:
true
category
Object
id
string

The category’s GUID

Example:
GUID
name
string
Example:
Category A
demographics
Object

The contact’s dmographic information. Applicable only if the contact type is PERSON

gender
string
Example:
FEMALE
country_of_residence
string
passport
Object
passport_number
string
issue_country_code
string
Example:
GRC
expiration_date
integer
Example:
129876567
id_details
Object
id_number
string
issue_country_code
string
Example:
CYP
expiration_date
integer
name_day
Object
month
integer
Example:
10
day
integer
Example:
4
date_of_birth
Object
year
integer
Example:
2018
month
integer
Example:
10
day
string
Example:
16
company_profile
Object

A company’s profile. Applicable only if contact_type is COMPANY

industry
Object

The company’s Industry details

id
string
name
string
industry_sectors
Array

The company’s Industry Sectors

Object
id
string
Example:
342343234234
name
string
profile_year
number
annual_turnover
number
established_on
integer
number_of_employees
number
registration_number
string
registration_country
string
tax_reference_number
string
vat_registration_number
string
addresses
Array
Object
id
string

The address’s id

address_type
string
Enumeration:
HOME
BUSINESS
is_primary
string
Example:
true
care_of
string
address_line_1
string required
address_line_2
string
Example:
Thomas V
state_province_county
string
Example:
Active
town_city
string
postal_code
string
country
string
Example:
CYP
lat
number

The latitude of the address

Example:
35.157115
lon
number

The longitude of the address

Example:
33.313719
googlePlaceId
string

The Google textual identifier that uniquely identifies an address

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
phones
Array
Object
id
string

The phone’s GUID

phone_type
string
Enumeration:
LANDLINE
MOBILE
FAX
is_primary
boolean
Example:
true
country_code
string
Example:
44
number
string
Example:
238065437
custom_fields
Array
Object
key
string

The custom field’s unique key

Example:
back_office
value
string

The custom field’s value

Example:
0001-12345
email_address
string

The contact’s email

Example:
bill@gmail.com
consent_state
string

The contact’s consent state

Enumeration:
PENDING
REJECTED
ACCEPTED
WITHDRAWN
is_anonymized
boolean

Defines whether the contact is anonymized

interaction_status
string enum

The contact’s interaction status, retrieved from REDIS

Examples:
OPERATIONALNEVER_OPERATIONALRESTINGDORMANT
total_spend
string

The contact’s total spend amount in the last 12 months, retrieved from REDIS

Example:
250
sms_opt_out
boolean
email_opt_out
boolean
kyc_profile
Object

The Contact’s assigned KYC profile

id
string GUID

The ID of the KYC profile

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the KYC profile

Example:
Standard
kyc_status
string

The status of the KYC profile assigned to Contact

Enumeration:
PENDING
VERIFIED
referral_code
string

The contact referral code

Example:
REF123
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "code": "ABC-123",
    "contact_type": "PERSON",
    "company_name": "Louis Kozior",
    "title": "Sir",
    "first_name": "Louis",
    "middle_name": "Aloz",
    "last_name": "Kozior",
    "contact_name": "Mark Johnson",
    "preferred_language_code": "ENG",
    "notes": "Notes",
    "statutory_number": "EF-12345",
    "is_tax_exempt": "true",
    "category": { 
        "id": "GUID",
        "name": "Category A"
    },
    "demographics": {
        "gender": "FEMALE",
        "country_of_residence": "",
        "passport": {
            "passport_number": "",
            "issue_country_code": "GRC",
            "expiration_date": 129876567
        },
        "id_details": {
            "id_number": "",
            "issue_country_code": "CYP",
            "expiration_date": 1
        },
        "name_day": {
            "month": 10,
            "day": 4
        },
        "date_of_birth": {
            "year": 2018,
            "month": 10,
            "day": "16"
        }
    },
    "company_profile": {
        "industry": {
            "id": "",
            "name": ""
        },
        "industry_sectors": [
            {
                "id": "342343234234",
                "name": ""
            }
        ],
        "profile_year": 1,
        "annual_turnover": 1,
        "established_on": 1,
        "number_of_employees": 1,
        "registration_number": "",
        "registration_country": "",
        "tax_reference_number": "",
        "vat_registration_number": ""
    },
    "addresses": [
        {
            "id": "",
            "address_type": "HOME",
            "is_primary": "true",
            "care_of": "",
            "address_line_1": "",
            "address_line_2": "Thomas V",
            "state_province_county": "Active",
            "town_city": "",
            "postal_code": "",
            "country": "CYP",
            "lat": 35.157115,
            "lon": 33.313719,
            "googlePlaceId": "ChIJrTLr-GyuEmsRBfy61i59si0"
        }
    ],
    "phones": [
        {
            "id": "",
            "phone_type": "LANDLINE",
            "is_primary": true,
            "country_code": "44",
            "number": "238065437"
        }
    ],
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ],
    "email_address": "bill@gmail.com",
    "consent_state": "ACCEPTED",
    "is_anonymized": true,
    "interaction_status": "DORMANT",
    "total_spend": "250",
    "sms_opt_out": true,
    "email_opt_out": true,
    "kyc_profile": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Standard"
    },
    "kyc_status": "VERIFIED",
    "referral_code": "REF123",
    "loyalty_identifier": "1234567891234"
}
Get Contact Activity Feed
GET /contacts/{id}/activity_feed

Retrieves Contact’s activity feed

Path variables

id
string GUID required

The contact identifier that the activity will be retrieved for

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
activity_type
string optional

The activity type

Enumeration:
INVOICE
PAYMENT
CREDIT_NOTE
REFUND
TOP_UP
TRANSFER
PURCHASE
AWARD
SPEND
REFERRAL
created_date
string epoch optional

The created date of the activity (no time)

Example:
1576486645

Responses

200 200

Successful Request

Body
Object
activity_feed
Array
Object
id
string GUID

The activity unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The entity’s number

Example:
I10003
reference_number
string

The entity’s reference number

Example:
Ref12345678
code
string

The entity’s code

Example:
123456789ABE2364
state
string

The entity’s life cycle state

Example:
POSTED
created_date
integer epoch

The date and time where the activity was created

Example:
1576486645
activity_type
string

The activity type

Enumeration:
INVOICE
PAYMENT
REFUND
CREDIT_NOTE
TOP_UP
TRANSFER
PURCHASE
AWARD
SPEND
direction
string

The entity’s direction.

Enumeration:
INCOMING
OUTGOING
notes
string

The notes of the activity

Example:
This Invoice is created for November 2019
type
string

The entity’s type name

Example:
INVOICE
total_amount
number

The entity’s total amount

Example:
200
currency
string

The currency code provided in the entity

Example:
EUR
due_date
integer epoch

The entity’s due date in case of Invoices

Example:
1576486645
reward_offer
string

The name of the reward offer that provided the Award

Example:
Happy Birthday Offer
merchant_name
string

The name of the merchant that the activity was performed for

Example:
Bakery Nicosia
topup_entity
Object

The entity that the topup was performed for

id
string GUID

The unique ID of the topup entity

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The number or code of the topup entity

Example:
AC00123 John Johnson
type
string

The type of the topup entity

Enumeration:
ACCOUNT
WALLET
transfer_origin_entity
Object

The origin entity that the transfer was performed from

id
string GUID

The unique ID of the transfer origin entity

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The number or code of the transfer origin entity

Example:
AC00123 John Johnson
type
string

The type of the transfer origin entity

Enumeration:
ACCOUNT
WALLET
transfer_dest_entity
Object

The destination entity that the transfer was performed for

id
string GUID

The unique ID of the transfer destination entity

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The number or code of the transfer destination entity

Example:
W00123 John Johnson
type
string

The type of the transfer destination entity

Enumeration:
ACCOUNT
WALLET
referred_by_account
Object

The referred by account details

id
string GUID

The referred by account identifer

Example:
4bab629d-0d6b-f93b-4664-82cea61c1481
name
string

The referred by account name

Example:
John Doe
number
string

The referred by account number

Example:
AR0000112346
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/activity_feed HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "activity_feed": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "number": "I10003",
            "reference_number": "Ref12345678",
            "code": "123456789ABE2364",
            "state": "POSTED",
            "created_date": 1576486645,
            "activity_type": "TRANSFER",
            "direction": "INCOMING",
            "notes": "This Invoice is created for November 2019",
            "type": "INVOICE",
            "total_amount": 200,
            "currency": "EUR",
            "due_date": 1576486645,
            "reward_offer": "Happy Birthday Offer",
            "merchant_name": "Bakery Nicosia",
            "topup_entity": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "number": "AC00123 John Johnson",
                "type": "WALLET"
            },
            "transfer_origin_entity": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "number": "AC00123 John Johnson",
                "type": "WALLET"
            },
            "transfer_dest_entity": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "number": "W00123 John Johnson",
                "type": "ACCOUNT"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
List Payment Methods
GET /contacts/{id}/payment_methods

List of Payment methods allocated to contact.

Path variables

id
string GUID required

The contact identifier whose payment methods will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
type
string optional
Enumeration:
CARD
DIRECT_DEBIT
PAYPAL
ACCOUNT
WALLET

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The payment method identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
payment_method_type
string

The payment method that is related with the account

Enumeration:
CARD
DIRECT_DEBIT
PAYPAL
WALLET
ACCOUNT
is_primary
boolean

Indicates which payment mehod is the contact’s primary one

Example:
true
is_backup
boolean

Indicates which payment mehod is the contact’s backup one

Example:
true
notes
string

Notes related to the payment method

Example:
Lorem Ipsum
card
Object

The card’s main information. Required and applicable if the payment method type is CARD

name
string

The card name

Example:
Default Card
first6
string

The first 6 digits of the card. Either the card number or the first 6 and last 4 digits must be specified

Example:
42424242
last4
string

The last 4 digits of the card. Either the card number or the first 6 and last 4 digits must be specified

Example:
4242
card_holder_details
Object

Information about the card holder

card_holder_name
string

The name of the card holder

Example:
John Alias Doe
address_line_1
string

The address related to the card

Example:
Elia Papakyriakou
address_line_2
string

Additional address information related to the card

Example:
Tower Stars
address_city
string

The city related to the card

Example:
Nicosia
address_zip
string

The zip code related to the card address

Example:
2000
address_state
string

The state related to the card address

Example:
Egkomi
address_country
string

The country related to the card address

Example:
CY
use_billing_address
boolean

If set to True, then the card holder’a address is automatically set using the account’s billing address

Example:
true
gateway_token
Array

Information regarding the card tokenization via a payment gateway

Object
gateway_identifier
string

Unique Identifier such as PayPal Username

gateway
string

The payment gateway that tokenized the card

Enumeration:
JCC
STRIPE
token
string

The card token

Example:
123654789654
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/payment_methods HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "payment_method_type": "CARD",
            "is_primary": true,
            "is_backup": true,
            "notes": "Lorem Ipsum",
            "card": {
                "name": "Default Card",
                "first6": "42424242",
                "last4": "4242",
                "card_holder_details": {
                    "card_holder_name": "John Alias Doe",
                    "address_line_1": "Elia Papakyriakou",
                    "address_line_2": "Tower Stars",
                    "address_city": "Nicosia",
                    "address_zip": "2000",
                    "address_state": "Egkomi",
                    "address_country": "CY",
                    "use_billing_address": true
                },
                "gateway_token": [
                    {
                        "gateway_identifier": "",
                        "gateway": "STRIPE",
                        "token": "123654789654"
                    }
                ]
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Change Password
POST /contacts/change_password

Changes the password for a contact’s identity

Request body

Object
token
string required nullable

The token that will verify that the client is trusted (required only if the identity is EMAIL based)

Example:
ABCTKN123456798VGP2020
password
string required

The new password

Example:
wsxcde421qadfg

Responses

200 OK

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/contacts/change_password HTTP/1.1 

Content-Type: application/json

{
    "token": "ABCTKN123456798VGP2020",
    "password": "wsxcde421qadfg"
}

HTTP/1.1 200 OK 
Address
POST /contacts/{id}/addresses
PUT /contacts/{id}/addresses/{address_id}
DELETE /contacts/{id}/addresses/{address_id}
Add Contact Address
POST /contacts/{id}/addresses

Add a new address to an existing contact. A contact can have multiple addresses

Path variables

id
string GUID required

The contact identifier that the address should be added

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
address_type
string
Enumeration:
HOME
BUSINESS
care_of
string
is_primary
boolean
address_line_1
string
address_line_2
string
Example:
Thomas V
state_province_county
string
Example:
Active
town_city
string
postal_code
string
country_code
string
Example:
CYP
lat
number nullable

The latitude of the address

Example:
35.157115
lon
number nullable

The longitude of the address

Example:
33.313719
googleplaceid
string nullable

The Google textual identifier that uniquely identifies an address

Example:
ChIJrTLr-GyuEmsRBfy61i59si0

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the address

Example:
9d1df8ce-cecd-d335-2b44-2644c9576e6f
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/addresses HTTP/1.1 

Content-Type: application/json

{
    "address_type": "HOME",
    "care_of": "",
    "is_primary": true,
    "address_line_1": "",
    "address_line_2": "Thomas V",
    "state_province_county": "Active",
    "town_city": "",
    "postal_code": "",
    "country_code": "CYP"
}
Update Contact Address
PUT /contacts/{id}/addresses/{address_id}

Update an existing address of a contact

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
address_id
string GUID required

The address identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
care_of
string
is_primary
boolean
address_line_1
string
address_line_2
string
Example:
Thomas V
state_province_county
string
Example:
Active
town_city
string
postal_code
string
country_code
string
Example:
CYP
lat
number nullable

The latitude of the address

Example:
35.157115
lon
number nullable

The longitude of the address

Example:
33.313719
googleplaceid
string nullable

The Google textual identifier that uniquely identifies an address

Example:
ChIJrTLr-GyuEmsRBfy61i59si0

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the address

Example:
9d1df8ce-cecd-d335-2b44-2644c9576e6f
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Remove Contact Address
DELETE /contacts/{id}/addresses/{address_id}

Removes a contact address. A single address can be removed at a time

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
address_id
string GUID required

The contact identifier that will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/addresses/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
KYC Profile
PUT /contacts/{id}/kyc
POST /contacts/{id}/kyc/verify
Update Contact KYC Profile
PUT /contacts/{id}/kyc

Update the contact’s KYC profile

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
kyc_id
string GUID

The id of the KYC to be provided to the contact

Example:
4AD9C84FA60F9FE407140E20F707726A

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the contact

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/kyc HTTP/1.1 

Content-Type: application/json

{
    "kyc_id": "4AD9C84FA60F9FE407140E20F707726A"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Verify Contact KYC Profile
POST /contacts/{id}/kyc/verify

Set the KYC profile status of a Contact as Verified

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the contact

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/kyc/verify HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Phone
POST /contacts/{id}/phones
PUT /contacts/{id}/phones/{phone_id}
DELETE /contacts/{id}/phones/{phone_id}
Add Contact Phone
POST /contacts/{id}/phones

Add a new phone to an existing contact. A contact can have multiple phones

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
is_primary
boolean
number
string

697665675

country_code
string
Example:
GRC
phone_type
string
Enumeration:
LANDLINE
MOBILE
FAX

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the phone

Example:
9d1df8ce-cecd-d335-2b44-2644c9576e6f
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/phones HTTP/1.1 

Content-Type: application/json

{
    "is_primary": true,
    "number": "",
    "country_code": "GRC"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Update Contact Phone
PUT /contacts/{id}/phones/{phone_id}

Update the phone of an existing contact

Path variables

id
string GUID required

The contact identifer that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
phone_id
string GUID required

The phone identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
is_primary
boolean
number
string

The contact’s phone number

country_code
string
Example:
GRC

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the phone

Example:
9d1df8ce-cecd-d335-2b44-2644c9576e6f
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Remove Contact Phone
DELETE /contacts/{id}/phones/{phone_id}

Removes a contact phone. A single phone can be removed at a time

Path variables

id
string GUID required

The contact identifier whose phone will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
phone_id
string GUID required

The phone identifier that will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/phones/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 
Loyalty Identifier
POST /contacts/{id}/loyalty_identifiers
DELETE /contacts/{id}/loyalty_identifiers/{loyalty_id}
GET /contacts/{id}/loyalty_identifiers
Add Loyalty Identifier
POST /contacts/{id}/loyalty_identifiers

Add a new loyalty identifier to an existing contact. A contact can have multiple loyalty identifier

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
identifier
string required

The loyalty identifier

Example:
123234345624356213

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the loyalty identifier (CIM)

Example:
891d84dd-4b3b-84b3-ba87-aa63fed3b88a
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/loyalty_identifiers HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "identifier": "123234345624356213"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "891d84dd-4b3b-84b3-ba87-aa63fed3b88a"
}
Remove Loyalty Identifier
DELETE /contacts/{id}/loyalty_identifiers/{loyalty_id}

Removes a contact loyalty identifier. A single loyalty identifier can be removed at a time

Path variables

id
string GUID required

The contact identifier whose phone will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
loyalty_id
string GUID required

The loylaty identifier (CIM based) that will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/loyalty_identifiers/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List Loyalty Identifiers
GET /contacts/{id}/loyalty_identifiers

Retrieve the loyalty identifiers for a specific contact

Path variables

id
string GUID required

The contact identifier that loyalty identiers will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
id
string GUID

The unique identifier of the loyalty identifier (CIM)

Example:
7dd8120f-4c47-839c-dee1-fbc945b3c3f9
identifier
string

The loyalty identifier of the customer

Example:
2367234512365
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/loyalty_identifiers HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "d8f5ee58-6949-0bd6-6218-d10d9426a04c",
        "identifier": "1234567892345"
    },
    {
        "id": "d8f5ee58-6949-0bd6-6218-d10d9426a04Q",
        "identifier": "1234567892343"
    }
]
Applications Usage
GET /contacts/{id}/applications
DELETE /contacts/{id}/applications/{app_id}
List Applications Usage
GET /contacts/{id}/applications

List of applications that are used by a specific contact

Path variables

id
string GUID required

The contact identifier whose applications usage will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The application usage identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
first_usage_date
integer epoch

The date on which the first uage was recorded

Example:
1598598647
platform
string

The platform on which the application was downloaded

Enumeration:
ANDROID
IOS
application
Object

The payment method that is related with the account

id
string GUID

The application identiier

Example:
af9c61d3-7685-e31f-3387-27c42858e868
name
string

The application name

Example:
Best Coffee App
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/applications HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "first_usage_date": 1598598647,
            "platform": "IOS",
            "application": {
                "id": "af9c61d3-7685-e31f-3387-27c42858e868",
                "name": "Best Coffee App"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Remove Applications Usage
DELETE /contacts/{id}/applications/{app_id}

Remove an application from a contact

Path variables

id
string GUID required

The contact identifier whose applications usage will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
app_id
string GUID required

The application usage record identifier that will be removed

Example:
57561166-6aa5-3ce5-2269-c38febe7e888

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/applications/57561166-6aa5-3ce5-2269-c38febe7e888 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
PUT /contacts/{id}/consents
POST /contacts/{id}/anonymize
PUT /contacts/{id}/consents

Updates the Consent state of the Contact

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
consent_state
string

The consent state to be updated

Enumeration:
PENDING
ACCEPTED
REJECTED
WITHDRAWN

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the contact

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/consents HTTP/1.1 

Content-Type: application/json

{
    "consent_state": "REJECTED"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Anonymize Contact
POST /contacts/{id}/anonymize

Anonymizes a Contact

Path variables

id
string GUID required

The contact identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the contact

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /contacts/CAD1E31269B76D7A65ACCE45B2E68DFD/anonymize HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Customer Events
Purchase Customer Events
POST /purchases
POST /purchases/{id}/cancel
GET /purchases
GET /purchases/{id}
GET /purchases/{id}/rewards
Create Purchase
POST /purchases

Create a new purchase customer event in posted life cycle state

Notes

Product SKUs and Product Families will be created automatically if they are submitted in a purchase and do not exist in CRM.COM

The supported reduction method should be provided, by specyfing such value on the API’s “reduction_method” attribute

Request headers

api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e
authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

Request body

Object
id
string GUID nullable

The purchase customer event Identifier

Max length: 32
Example:
CEEE83D6E0804A30966F684B0269AD91
contact_id
string GUID required nullable

The contact identifier that the purchase is created for (customer identification can be made either using contact_ud or cim)

Max length: 32
Example:
79adca27-e50d-40d2-b025-e7d4710a1053
cim
string required nullable

The value for a single contact identification medium representing the customer that the purchase is created for (customer identification can be made either using contact_ud or cim)

Example:
4A30966F684B0269AD91
contact_token
string nullable

The token that will identify the contact

Example:
123456
reference_number
string nullable

The purchase reference number

Example:
RF000001
payment_medium_identifier
string nullable

The unique identifier of the payment medium used in the purchase e.g. the first 8 digits of a credit card

Example:
42424242
performed_on
integer epoch nullable

The date that the customer event was performed

Example:
1572423477
reduction_method
string required

Defines the reduction method that will be applied on spend

Enumeration:
FRONT_END
BACK_END
products
Array required nullable

The purchased products. Applicable when net/tax/total amounts are not provided

Object
product_sku
string required nullable

The purchased product sku (semi-optional with product family)

Example:
FREDESPR001
product_name
string nullable

The purchased product name

Example:
Freddo Espresso
product_family
string required nullable

The purchase product family (semi-optional with product sku)

Example:
Chocolates
net_amount
number required

The purchased product net amount

Example:
14.15
tax_amount
number required

The purchased product vat amount

Example:
1.04
total_amount
number required

The purchased product total amount (net and vat amount)

Example:
15.19
quantity
integer nullable

The purchased product quantity

Default:
1
Example:
2
spend_request
Object nullable

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

amount
number required nullable

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

Example:
2.12
merchant_tap
Object nullable

The merchant transactio acquiring point that the purchase was submitted from (id or code must be specified)

id
string GUID required nullable

The transaction acquiring point identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
code
string required nullable

The transaction acquiring point code

Example:
TAP001
outlet_tap
Object nullable

The venue transactio acquiring point that the purchase was submitted from (id or code must be specified)

id
string GUID required nullable

The transaction acquiring point identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
code
string required nullable

The transaction acquiring point code

Example:
TAP002
discount_amount
number nullable

The discount of the purchase

Example:
14.56
net_amount
number required nullable

The purchase net amount. Applicable when products (sku/family) are not provided

Example:
121.1
tax_amount
number required nullable

The purchase tax amount. Applicable when products (sku/family) are not provided

Example:
10.1
total_amount
number required nullable

The purchase total amount (net + tax - discount). Applicable when products (sku/family) are not provided

Example:
131.2
classification
Object nullable

The purchase classification

id
string GUID required nullable

The customer event classification identifier

Example:
c8d83493-3f50-40df-adb0-762ec5f41863
name
string required nullable

The customer event classification name

Example:
Delivery Purchase
pass
Object nullable

Details about the pass

code
string required

The pass code

Example:
1231231231231231
otp
string nullable

The pass one time password (if applicable)

Example:
2345

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The purchase identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reference_number
string

The purchase reference number (applicable only for Front-End Reduction)

Example:
RF123
total_award
number

The total award amount (applicable only for Front-End Reduction)

Example:
1.4
total_spend
number

The sum of all spends (instant discount, auto spends, spends on request). Applicable only for Front End Reduction

Example:
2.21
instant_discount
number

The spend related to instant discount. Applicable only for Front End Reduction

Example:
0.21
auto_spend
number

The spend related to auto spend requests. Applicable only for Front End Reduction

Example:
1.51
spend_on_request
number

The actual spend related to requested spend requests. Applicable only for Front End Reduction

Example:
0.49
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
Example 2
POST /purchases HTTP/1.1 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91",
    "cim": "4A30966F684B0269AD91",
    "reference_number": "RF000001",
    "payment_medium_identifier": "42424242",
    "performed_on": 1572423477,
    "discount_amount": 1.56,
    "reduction_method": "BACK_END",
    "products": [
        {
            "product_sku": "FREDESPR001",
            "net_amount": 14.15,
            "tax_amount": 1.04,
            "total_amount": 15.19,
            "quantity": 2
        }
    ],
    "spend_request": {
        "amount": 2.12
    },
    "merchant_tap": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "code": "EK123456"
    },
    "outlet_tap": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "code": "CD123456"
    }
}
{
    "contact_id": "79adca27-e50d-40d2-b025-e7d4710a1053",
    "reference_number": "1234567890",
    "payment_medium_identifier": "42424242",
    "reduction_method": "FRONT_END",
    "products": [
        {
            "product_sku": "FREDESPR001",
            "product_name": "Freddo Espresso",
            "product_family": "Chocolates",
            "net_amount": 1200,
            "tax_amount": 0.00,
            "total_amount": 1200,
            "quantity": 2
        }
    ],
  
    "merchant_tap": {
        "code": "TAP001"
    },
    "outlet_tap": {
        "code": "TAP002"
    }
}
Cancel Purchase
POST /purchases/{id}/cancel

Cancel an existing customer’s purchase and as a result any related awards/spends will be reversed

Path variables

id
string required

The purchase identifier that will be canceled

Example:
CEEE83D6E0804A30966F684B0269AD91

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The customer event identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /purchases/CEEE83D6E0804A30966F684B0269AD91/cancel HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91"
}
Search Purchases
GET /purchases

Search for purchase customer events

Request parameters

contact_id
string GUID optional

The contact identifier who performed the purchase

Example:
CEEE83D6E0804A30966F684B0269AD91
contact_code
string optional

The contact code who performed the purchase

Example:
ABC1234
reference_number
string optional

The purchase’s reference number

Example:
REF1234
from_date
integer epoch optional

The date from which the purchase was performed.If not specified, then the last 10 purchases will be returned

to_date
integer epoch optional

The date until which the purchase was performed

life_cycle_state
string optional

The life cycle state of the customer event

Enumeration:
POSTED
CANCELLED
organisation_id
string GUID optional

The organisation that the purchase customer event was performed

Example:
CEEE83D6E0804A30966F684B0269AD91
tap_id
string GUID optional

The transaction acquiring point that captured the customer event

Example:
CEEE83D6E0804A30966F684B0269AD91
from_total_amount
number optional

Filters customer events that have greater or equal total amount as specified

Example:
1.12
to_total_amount
number optional

Filters customer events that have less or equal total amount as specified

Example:
1234.21
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The purchase identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
reference_number
string

The purchase’s reference number

Example:
REF1234
contact
Object

Contact details

id
string GUID

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The contact full name

Example:
John Doe
code
string

The contact code

Example:
CO1234
account
Object

Account details

id
string GUID

The account identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The account name

Example:
ACR1234 John Doe
number
string

The account number

Example:
ACR1234
life_cycle_state
string

The purchase’s life cycle state

Enumeration:
POSTED
CANCELLED
reduction_method
string

The reduction method that was applied on the related spend

Enumeration:
FRONT_END
BACK_END
classification
Object

The purchase event’s classification details

id
string GUID

The classification identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The classification name

Example:
Delivery
total_net_amount
number

The purchase’s total net amount of all products’ net amount

Example:
1.51
total_tax_amount
number

The purchase’s total tax amount of all products’ tax amount

Example:
0.49
discount_amount
number

The purchase’s discount amount

Example:
1
total_amount
number

The purchase’s total amount after discount

Example:
1
organisation
Object

The organisation details at which the purchase was performed

id
string GUID

The organisation identifier at which the purchase was performed

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The organisation name at which the purchase was performed

Example:
Bravo Coffee
performed_on
integer epoch

The date on which the purchase was performed

Example:
1576486645
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/purchases HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJmYmNmZjFmNS0zNDE2LTRkZWMtYTk3NC05YjA4MjBhMWQxNmIiLCJmdWxsX25hbWUiOiJHaW9yZ29zIFNha2thcyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJjdXJyZW50X29yZ2FuaXNhdGlvbl9pZCI6IjViZjNmOTkyLTE4ZGQtNGYzYi05ZTc0LTAyYWRkNGU1ZmJkNSIsInByaW1hcnlfb3JnYW5pc2F0aW9uX2lkIjoiNWJmM2Y5OTItMThkZC00ZjNiLTllNzQtMDJhZGQ0ZTVmYmQ1IiwiY3VycmVudF9vcmdhbmlzYXRpb25fbmFtZSI6IlN0YWdpbmciLCJpc3MiOiJodHRwczovL3d3dy5jcm0uY29tIiwiZ3JvdXBzIjpbIlZJRVdfT1JHQU5JU0FUSU9OUyIsIk1BTkFHRV9PUkdBTklTQVRJT05fR1JPVVBTIiwiTUFOQUdFX09SR0FOSVNBVElPTlMiLCJBTExPV19UT19NQVNRVUVSQURFIiwiTUFOQUdFX1VTRVJTIiwiVklFV19VU0VSUk9MRVMiLCJNQU5BR0VfVVNFUlJPTEVTIiwiTUFOQUdFX0FQSUtFWVMiLCJERUxFVEVfUk9MTF9BUElLRVlTIiwiU0VUX1VQX0lOVEVHUkFUSU9OUyIsIlZJRVdfQ09OVEFDVFMiLCJNQU5BR0VfQ09OVEFDVFMiLCJNQU5BR0VfQUNDT1VOVFMiLCJTRVRfVVBfQ09OVEFDVFMiLCJTRVRfVVBfRklOQU5DSUFMUyIsIlZJRVdfRklOQU5DSUFMX1RSQU5TQUNUSU9OUyIsIk1BTkFHRV9GSU5BTkNJQUxfVFJBTlNBQ1RJT05TIiwiU0VUX1VQX0NVU1RPTUVSX0VWRU5UUyIsIlZJRVdfQ1VTVE9NRVJfRVZFTlRTIiwiTUFOQUdFX0NVU1RPTUVSX0VWRU5UUyIsIk1BTkFHRV9XQUxMRVRTIiwiVklFV19XQUxMRVRfVFJBTlNBQ1RJT05TIiwiTUFOQUdFX1dBTExFVF9UUkFOU0FDVElPTlMiLCJTRVRfVVBfUFJPRFVDVFMiLCJWSUVXX1JFV0FSRF9TQ0hFTUVTIiwiTUFOQUdFX1JFV0FSRF9TQ0hFTUVTIiwiVklFV19SRVdBUkRfT0ZGRVJTIiwiTUFOQUdFX1JFV0FSRF9PRkZFUlMiLCJTRVRfVVBfUkVXQVJEUyIsIk1BTkFHRV9QTEFURk9STSJdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJnX3Nha2thc0Bjcm0uY29tIiwicHJpbWFyeV9vcmdhbmlzYXRpb25fbmFtZSI6IlN0YWdpbmciLCJ0eXBlIjoiYWNjZXNzIiwiZW1haWwiOiJnX3Nha2thc0Bjcm0uY29tIiwiaWF0IjoxNTkxMTc5NjM1LCJhdXRoX3RpbWUiOjE1OTExNzk2MzUsImV4cCI6MTU5MTE4NjgzNSwianRpIjoiYjRlZDk1MmUtNTI4Ny00ZWVmLWE4N2YtN2FhYTIwYmI0OGM5In0.iydf6Yi-H6v9P44Jb8htXayfbsXQxtHMOKquVqChpDM3IrVBolLS6mZ3dPCu7aoMejRK_OgIrriABC54Eh2yX7bgOiClZYhAQbdu3BAnykhiywEgrULD3RXkwS90gtOq-Uu8lE8b9Bm1lBcOr3HRwzlS8pweSh7nGR93i7XzxOwgRmfHMa17IC9t3GNKxVjyanG8gPTpvJI9f1nMvAad-y-rG4T90DiVJQ_uDCKmCJ0eCwgH_v4jQvcRnufW9F_7wI8VbYiIzYMuQC8f0DGZFif57FKl6_HQIYOH22JB6M9bQrJoEGDKWLqjfDEVerLiyyQf05zYvLTHvI_P6Gcn-Q

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "reference_number": "REF1234",
            "contact": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "John Doe",
                "code": "CO1234"
            },
            "account": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "ACR1234 John Doe",
                "number": "ACR1234"
            },
            "life_cycle_state": "POSTED",
            "reduction_method": "BACK_END",
            "classification": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Delivery"
            },
            "total_net_amount": 1.51,
            "total_tax_amount": 0.49,
            "discount_amount": 1,
            "total_amount": 1,
            "organisation": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "Bravo Coffee"
            },
            "performed_on": 1576486645
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Purchase
GET /purchases/{id}

Get details for a single purchase customer event

Path variables

id
string GUID required

The purchase customer event identifier that will be retrieved

Example:
CEEE83D6E0804A30966F684B0269AD91

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The purchase identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
reference_number
string

The purchase reference number

Example:
REF001
life_cycle_state
string

The purchase’s life cycle state

Enumeration:
POSTED
CANCELLED
reduction_method
string

The reduction method that was applied on the related spend

Enumeration:
FRONT_END
BACK_END
payment_medium_identifer
string

The unique identifier of the payment medium used in the purchase e.g. the first 8 digits of a credit card

Example:
424242
performed_on
integer epoch

The date on which the purchase was performed

Example:
1576486645
total_net_amount
number

The purchase’s total net amount of all product lines’ net amount

Example:
1.59
total_tax_amount
number

The purchase’s total tax amount of all product lines’ tax amount

Example:
0.41
discount_amount
number

The purchase’s discount amount

Example:
0.5
total_amount
number

The purchase’s total amount after discount

Example:
1.5
requested_spend_amount
number

The amount in real currency that was requested to be spend via the customer event

contact
Object

Contact details

id
string

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The contact full name

Example:
John Doe
code
string

The contact code

Example:
CO1234
account
Object

Account details

id
string GUID

The account identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The account name

Example:
ACR1234 John Doe
number
string

The account number

Example:
ACR1234
organisation
Object

The organisation from which the purchase was posted

id
string GUID

The organisation identifier at which the purchase was performed

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The organisation name at which the purchase was performed

Example:
Bravo Coffee
tap
Object

The transaction acquiring point that captured the purchase

id
string GUID

The transaction acquiring point identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The transaction acquiring point name

Example:
ePOS
code
string

The transaction acquiring point code

Example:
TAP00012
rewards
Object

Information (dynamic) about the award/spend amounts

total_award_amount
number

The amount in real currency that was spent via the customer event

Example:
121.99
total_spend_amount
number

The total amount (automatic + instant+ spend on request) in real currency that was spent via the customer event

Example:
12.22
total_automatic_spend_amount
number

The total amount in real currency that was spent automatically via the customer event

Example:
2.22
total_instant_discount_amount
number

The total amount in real currency that was spent instantly via the customer event

Example:
4.49
total_spend_request_amount
number

The total amount in real currency that was actually spent on request via the customer event (may differ than the requested_spend_amount)

Example:
4.51
ad_hoc_return
Object

Details of ad hoc return of goods

amount
number

The amount that the customer was debited due to ad hoc return of goods

Example:
12.34
ad_hoc_return_date
integer epoch

The date that ad hoc retun of goods was applied

Example:
1589987160
reference_number
string

The ad hoc return reference number

Example:
AHR001
return_amount
number

The amount that was returned

Example:
200.99
currency
string

The currency that the ad hoc return was made

Example:
EUR
products
Array

Information about the purchase’s product line items

Object
product_sku
Object

Information about the product sku

id
string GUID

The product identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
sku
string

The product sku

Example:
SKU00012
name
string

The product name

Example:
Cappuccino
description
string

The product description

Example:
Cappuccino Coffee
product_family
Object

Information about the product family

id
string GUID

The product family identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The product family

Example:
Chocolates
quantity
integer

The quantity of the line item

Example:
1
net_amount
number

The net amount of the line item

Example:
1.08
tax_amount
number

The tax amount of the line item

Example:
0.51
total_amount
number

The total amount (net + tax) of the line item

Example:
1.59
classification
Object

Details about the customer event classification

id
string GUID

The customer event classification identifier

Example:
c8d83493-3f50-40df-adb0-762ec5f41863
name
string

The customer event classification name

Example:
Delivery Purchase
pass
Object

Details about the customer event pass

id
string GUID

The pass identifier

Example:
83cbad41-86ee-4aa5-bc5a-6483094dceca
code
string

The pass code

Example:
132465798
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/purchases/CEEE83D6E0804A30966F684B0269AD91 HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91",
    "reference_number": "REF001",
    "life_cycle_state": "CANCELLED",
    "reduction_method": "BACK_END",
    "payment_medium_identifer": "424242",
    "performed_on": 1576486645,
    "total_net_amount": 1.59,
    "total_tax_amount": 0.41,
    "discount_amount": 0.5,
    "total_amount": 1.5,
    "requested_spend_amount": 1,
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Doe",
        "code": "CO1234"
    },
    "account": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "name": "ACR1234 John Doe",
        "number": "ACR1234"
    },
    "organisation": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "name": "Bravo Coffee"
    },
    "tap": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "name": "ePOS",
        "code": "TAP00012"
    },
    "rewards": {
        "total_award_amount": 121.99,
        "total_spend_amount": 12.22,
        "total_automatic_spend_amount": 2.22,
        "total_instant_discount_amount": 4.49,
        "total_spend_request_amount": 4.51
    },
    "products": [
        {
            "product_sku": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "sku": "SKU00012",
                "name": "Cappuccino",
                "description": "Cappuccino Coffee"
            }
            "quantity": 1,
            "net_amount": 1.08,
            "tax_amount": 0.51,
            "total_amount": 1.59
        },
        {
            "product_family": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "Chocolates"
            },
            "quantity": 1,
            "net_amount": 1.08,
            "tax_amount": 0.51,
            "total_amount": 1.59
        }
    ]
}
List Purchase Rewards Breakdown
GET /purchases/{id}/rewards

Get reward details (awards/spends) for a specific purchase customer event

Path variables

id
string GUID required

The purchase identifier whose rewards details will be retrieved

Example:
CEEE83D6E0804A30966F684B0269AD91

Request parameters

type
string optional

The reward type

Enumeration:
AWARD
SPEND

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array

Details about the reward (award/spend) breakdown

Object
type
string

The reward type

Enumeration:
AWARD
SPEND
reward_offer
Object

Details about the reward offer that triggered the award/spend (spend is related to an offer when is instantly spend)

id
string GUID

The reward offer identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The reward offer name

Example:
1% cashback on all products
spend_method
string

The reward spend method

Enumeration:
SPEND_ON_REQUEST
AUTOMATIC_SPEND_REQUEST
INSTANT_DISCOUNT
amount
number

The award/spend amount

Example:
9.99
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/purchases/CEEE83D6E0804A30966F684B0269AD91/rewards HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "type": "AWARD",
            "reward_offer": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "1% cashback on all products"
            },
            "spend_method": "INSTANT_DISCOUNT",
            "amount": 9.99
        }
    ]
}
Referral Customer Events
POST /referrals/{id}/cancel
GET /referrals
GET /referrals/{id}
Cancel Referral
POST /referrals/{id}/cancel

Cancel an existing customer’s referral and as a result any related awards will be reversed

Path variables

id
string required

The referral identifier that will be canceled

Example:
CEEE83D6E0804A30966F684B0269AD91

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The customer event identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /referrals/CEEE83D6E0804A30966F684B0269AD91/cancel HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91"
}
Search Referrals
GET /referrals

Search for referral customer events

Request parameters

referred_contact_id
string GUID optional

The referred contact identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
referred_by_contact_id
string GUID optional

The referred by contact identifier

reference_number
string optional

The referral’s reference number

Example:
REF1234
from_date
integer epoch optional

The date from which the referral was performed

to_date
integer epoch optional

The date until which the referral was performed

life_cycle_state
string optional

The life cycle state of the customer event

Enumeration:
POSTED
CANCELLED
organisation_id
string GUID optional

The organisation that the referral customer event was performed

Example:
CEEE83D6E0804A30966F684B0269AD91
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The referral identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
reference_number
string

The referral reference number

Example:
REF1234
referred_contact
Object

Details about the referred contact

id
string GUID

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The contact full name

Example:
John Doe
code
string

The contact code

Example:
CO1234
referred_account
Object

Details about the referred contact’s account

id
string GUID

The account identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The account name

Example:
ACR1234 John Doe
number
string

The account number

Example:
ACR1234
life_cycle_state
string

The referral’s life cycle state

Enumeration:
POSTED
CANCELLED
classification
Object

The referral event’s classification details

id
string GUID

The classification identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The classification name

Example:
Delivery
organisation
Object

The organisation details at which the referral was performed

id
string GUID

The organisation identifier at which the referral was performed

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The organisation name at which the referral was performed

Example:
Bravo Coffee
performed_on
integer epoch

The date on which the referral was performed

Example:
1576486645
referred_by_contact
Object

Details about the referred by contact

id
string GUID

The contact identifier

Example:
7db94d8b-4cbc-a7cc-9dc8-48ef68f9bf36
name
string

The contact name

Example:
Jane Doe
code
string

The contact code

Example:
JD987
referred_by_account
Object

Details about the referred by contact’s account

id
string GUID

The account identifier

Example:
9a0eab8b-d592-3039-9705-be3708d4f8cf
name
string

The account name

Example:
AR456 Jane Doe
number
string

The account number

Example:
AR456
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/referrals HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "reference_number": "REF1234",
            "referred_contact": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "John Doe",
                "code": "CO1234"
            },
            "referred_account": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "ACR1234 John Doe",
                "number": "ACR1234"
            },
            "life_cycle_state": "CANCELLED",
            "classification": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Delivery"
            },
            "organisation": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "Bravo Coffee"
            },
            "performed_on": 1576486645,
            "referred_by_contact": {
                "id": "7db94d8b-4cbc-a7cc-9dc8-48ef68f9bf36",
                "name": "Jane Doe",
                "code": "JD987"
            },
            "referred_by_account": {
                "id": "9a0eab8b-d592-3039-9705-be3708d4f8cf",
                "name": "AR456 Jane Doe",
                "number": "AR456"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Referral
GET /referrals/{id}

Get details for a single referral customer event

Path variables

id
string GUID required

The referral customer event identifier that will be retrieved

Example:
CEEE83D6E0804A30966F684B0269AD91

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The referral identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
reference_number
string

The referral reference number

Example:
REF001
life_cycle_state
string

The referral’s life cycle state

Enumeration:
POSTED
CANCELLED
performed_on
integer epoch

The date on which the referral was made

Example:
1576486645
referred_contact
Object

Details about the referred contact

id
string

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The contact full name

Example:
John Doe
code
string

The contact code

Example:
CO1234
referred_account
Object

Details about the referred contact’s account

id
string GUID

The account identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The account name

Example:
ACR1234 John Doe
number
string

The account number

Example:
ACR1234
organisation
Object

The organisation from which the purchase was posted

id
string GUID

The organisation identifier at which the purchase was performed

Example:
CEEE83D6E0804A30966F684B0269AD91
name
string

The organisation name at which the purchase was performed

Example:
Bravo Coffee
rewards
Object

Information (dynamic) about the award/spend amounts

total_award_amount
number

The amount in real currency that was spent via the customer event

Example:
121.99
classification
Object

Details about the customer event classification

id
string GUID

The customer event classification identifier

Example:
c8d83493-3f50-40df-adb0-762ec5f41863
name
string

The customer event classification name

Example:
Delivery Purchase
referred_by_contact
Object

Details about the referred by contact

id
string GUID

The contact identifier

Example:
b47cc2a3-6e00-b826-6bb5-48849e222e2a
name
string

The contact name

Example:
Jane Doe
code
string

The contact code

Example:
45679
referred_by_account
Object

Details about the referred by contact’s account

id
string GUID

The account identifier

Example:
0a1c62c3-75cc-7b65-d7c8-9ce59f7ad6cc
name
string

The account name

Example:
AR567 Jane Doe
number
string

The account number

Example:
AR567
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/referrals/CEEE83D6E0804A30966F684B0269AD91 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91",
    "reference_number": "REF001",
    "life_cycle_state": "CANCELLED",
    "performed_on": 1576486645,
    "referred_contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Doe",
        "code": "CO1234"
    },
    "referred_account": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "name": "ACR1234 John Doe",
        "number": "ACR1234"
    },
    "organisation": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "name": "Bravo Coffee"
    },
    "rewards": {
        "total_award_amount": 121.99
    },
    "classification": {
        "id": "c8d83493-3f50-40df-adb0-762ec5f41863",
        "name": "Delivery Purchase"
    },
    "referred_by_contact": {
        "id": "b47cc2a3-6e00-b826-6bb5-48849e222e2a",
        "name": "Jane Doe",
        "code": "45679"
    },
    "referred_by_account": {
        "id": "0a1c62c3-75cc-7b65-d7c8-9ce59f7ad6cc",
        "name": "AR567 Jane Doe",
        "number": "AR567"
    }
}
Estimates
POST /estimates/invoicing
POST /estimates/order_fulfillment
POST /estimates/orders
GET /estimates/routing_rules
GET /estimates/subscriptions
Invoicing
POST /estimates/invoicing

Estimates how a product will be charged in invoices, quotations, billing without generating any invoices etc. Pricing estimation includes the price, all applicable promotions as well as the taxes to be applied.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
contact_id
string nullable
account_id
string nullable
supply_method
string
Enumeration:
ON_SITE
DELIVERY
PICK_UP
fulfilled_by
string

The unique idetifier of the organisation from which the customer purchases prducts

line_items
Array required
Min items: 1
Object
product_id
string required

The unique identifier of a product

bundle_product_id
string
quantity
integer required
Default:
1
Example:
1
price
number

The unit price of the product. If specified, then the pricing strategy is not applied.

Example:
9.99
discount_value
number
discount_option
string

Required if a discount value is specified.

Enumeration:
AMOUNT
PERCENTAGE
tax_model
string

Required if a price is specified as input

Enumeration:
TAX_INCLUSIVE
TAX_EXCLUSIVE

Responses

200 OK

The request has succeeded

Body
Object
issued_date
integer
Example:
123456789
due_date
integer
Example:
123456789
currency_code
string
Example:
EUR
total_net_amount
number
total_discount_amount
number
total_tax_amount
number
Example:
0.99
total_amount
number
Example:
9.99
taxes_breakdown
Array
Object
tax_amount
number
Example:
0.99
tax_rate
Object
id
string
name
string
tax_code
string
Example:
VAT
percentage
number
line_items
Array
Object
id
string
Example:
7CD9C84FA60F9FE407140E20F707726A
sku
string
name
string
tax_model
string
Example:
TAX_INCLUSIVE
pricing_model
string
Example:
TIERED
currency
string
Example:
EUR
quantity
integer
Example:
1
unit_price
number
Example:
9.99
net_amount
number
Example:
9.99
discount_amount
number
Example:
0.1
discount_percentage
number
Example:
5
tax_amount
number
Example:
0.99
sub_total
number
Example:
9.99
applied_promotions
Array
Object
discount_value
number
Example:
0.1
discount_type
string
Example:
AMOUNT
discount_amount
number
Example:
0.1
promotion
Object
id
string
name
string
applied_taxes
Array
Object
tax_amount
number
Example:
0.99
tax_exempt_reason
string
Example:
CONTACT
tax_rate
Object
id
string
name
string
tax_code
string
Example:
VAT
percentage
number
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/estimates/invoicing HTTP/1.1 

Content-Type: application/json

{
    "contact_id": "",
    "account_id": "",
    "supply_method": "DELIVERY",
    "fulfilled_by": "",
    "line_items": [
        {
            "product_id": "",
            "bundle_product_id": "",
            "quantity": 1,
            "price": 9.99,
            "discount_value": 1,
            "discount_option": "AMOUNT",
            "tax_model": "TAX_EXCLUSIVE"
        }
    ]
}
Order Fulfillment
POST /estimates/order_fulfillment

Preview order fulfillment information

Notes

The following APIs should be called in order to make an order

  1. Order Fulfillment
  2. Orders
  3. Make an Order

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

application/json
Object
supply_method
string required

Preview order based on the supply method

Enumeration:
DELIVERY
PICK_UP
is_open
boolean

Preview order only for open venues

Example:
true
postal_code
string

Preview order based on the postal code

Example:
2415
lat_lot
string

Preview order based on the geo-location (lat/long)

Example:
35.157204,33.314151
address_id
string GUID

Preview order based on the customer address

Example:
28441e3e-767a-b6cc-9a59-6d7705de6428
requested_organisation_id
string GUID

Preview order based on a specific organisation as requested by the customer

Example:
4456e728-019c-86e4-3e4f-bb7920e2ef75
requested_delivery_at
Object

Preview order based on the date and time at which the customer requests the ordered items to be delivered/picked-uo (Applicable only for ordering ahead/scheduling an order)

time
integer required

The order ahead time

Example:
30
time_unit
string required

The order ahead time unit

Example:
MINUTES
date
integer epoch required

The order ahead date

Example:
12312323123

Responses

200 200

The request has succeeded

Body
application/json
Array
Object
fulfilled_by
Object

Details about the organisation (business/merchant/venues) that will fulfill the order

id
string GUID

The organisation identifier

Example:
3FD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation name

Example:
Best Burger Egkomi
phone
string

The organisation phone number

Example:
+6934222321
address
Object

The organisation address

address_line_1
string

The address line 1

Example:
Ilia Papakyriakou 21
address_line_2
string

The address line 2

Example:
7 Stars Tower
state_province_county
string

The address state/province/county

Example:
Egkomi
town_city
string

The address town/city

Example:
Nicosia
postal_code
string

The address postal code

Example:
2415
lat
string

The latitude of the location

Example:
35.157115
lon
string

The longitude of the location

Example:
33.313719
googleplaceid
string

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
parent_organisation
Object

Details about the parent organisation (business/merchant) of the fulfilled by. Not applicable if the fulfilled by organisation is of type business or merchant

id
string GUID

The organisation identifier

Example:
b1607c37-e750-2324-ac49-6591a86f54b8
name
string

The organisation name

Example:
Best Burger
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/estimates/order_fulfillment HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "supply_method": "DELIVERY",
    "is_open": true,
    "postal_code": "2415",
    "lat_lot": "35.157204,33.314151",
    "address_id": "28441e3e-767a-b6cc-9a59-6d7705de6428",
    "requested_organisation_id": "4456e728-019c-86e4-3e4f-bb7920e2ef75",
    "requested_delivery_at": {
        "time": 30,
        "time_unit": "MINUTES",
        "date": 12312323123
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "fulfilled_by": {
            "id": "3FD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Best Burger Egkomi",
            "phone": "+6934222321",
            "address": {
                "address_line_1": "Ilia Papakyriakou 21",
                "address_line_2": "7 Stars Tower",
                "state_province_county": "Egkomi",
                "town_city": "Nicosia",
                "postal_code": "2415",
                "lat": "35.157115",
                "lon": "33.313719",
                "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
            },
            "creatives": [
                {
                    "id": "CA123456789AQWSXZAQWS1236547896541",
                    "usage_type": "ATTACHMENT",
                    "width": 2159,
                    "height": 3075,
                    "format": "jpg",
                    "url": "https://assets.crm.com/image/logo.jpg",
                    "public_id": "crm-com/image",
                    "media": [
                        {
                            "width": 200,
                            "height": 300,
                            "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                        }
                    ]
                }
            ],
            "parent_organisation": {
                "id": "b1607c37-e750-2324-ac49-6591a86f54b8",
                "name": "Best Burger",
                "creatives": [
                    {
                        "id": "CA123456789AQWSXZAQWS1236547896541",
                        "usage_type": "PROFILEIMAGE",
                        "width": 2159,
                        "height": 3075,
                        "format": "jpg",
                        "url": "https://assets.crm.com/image/logo.jpg",
                        "public_id": "crm-com/image",
                        "media": [
                            {
                                "width": 200,
                                "height": 300,
                                "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                            }
                        ]
                    }
                ]
            }
        }
    }
]
Orders
POST /estimates/orders

Preview order information before making an order including fulfillment and invoice estimations

Notes

The following APIs should be called in order to make an order

  1. Order Fulfillment
  2. Orders
  3. Make an Order

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

application/json
Object
account_id
string GUID required
Example:
1bd3e4d3-5981-209b-787d-352dcd5389a3
supply_method
string required

The supply method for the order

Example:
DELIVERY
fulfilled_by
string required
requested_delivery_at
Object
time
integer
Example:
30
time_unit
string
Example:
MINUTES
date
integer
Example:
12312323123
address_id
string GUID

Required for Delivery orders

Example:
84bfd840-b520-5bde-8f0a-b36937a2fce7
notes
string
line_items
Array
Object
id
string GUID
Example:
7f45ad8a-b164-2a67-eb93-8651c0f1b101
quantity
integer
Example:
1
price
number
Example:
2.99
tax_model
string
Example:
TAX_INCLUSIVE
notes
string
components
Array
Object
id
string GUID
Example:
6e111025-002b-48d7-a675-6d9e48070b8f
quantity
integer
Example:
1
price
number
Example:
0.5
tax_model
string
Example:
TAX_INCLUSIVE

Responses

200 200

The request has succeeded

Body
application/json
Object
id
string

The uniue identifier of the order’s estimation. To be used to make a new order

order_estimate
Object
fulfilled_by
Object
id
string GUID
Example:
3FD1E31269B76D7A65ACCE45B2E68DFD
name
string
Example:
Bro Burgers
estimated_delivery
Object
time_to_deliver
integer
uot
string
Example:
minutes
delivered_at
integer
Example:
12345565
invoice_estimate
Object
issued_date
integer
Example:
123456789
due_date
integer
Example:
123456789
currency
string
Example:
EUR
total_net_amount
integer
Example:
9
total_discount_amount
integer
Example:
1
total_tax_amount
number
Example:
0.99
total_amount
number
Example:
9.99
taxes_breakdown
Array
Object
tax_amount
number
Example:
0.99
tax_rate
Object
id
string GUID
name
string
tax_code
string
Example:
VAT
percentage
integer
Example:
19
line_items
Array
Object
id
string GUID
Example:
7CD9C84FA60F9FE407140E20F707726A
sku
string
name
string
tax_model
string
Example:
TAX_INCLUSIVE
rate_model
string
Example:
TIERED
quantity
integer
Example:
1
unit_price
number
Example:
9.99
net_amount
number
Example:
9.99
discount_amount
number
Example:
0.1
tax_amount
number
Example:
0.99
sub_total
number
Example:
9.99
applied_promotions
Array
Object
discount_value
number
Example:
0.1
discount_type
string
Example:
AMOUNT
discount_amount
number
Example:
0.1
promotion
Object
id
string GUID
Example:
0b551184-aa37-43af-646f-a40d9da017a8
name
string
applied_taxes
Array
Object
tax_amount
number
Example:
0.99
tax_exempt_reason
string
Example:
CONTACT
tax_rate
Object
id
string GUID
Example:
0b551184-aa37-43af-646f-a40d9da017a8
name
string
tax_code
string
Example:
VAT
percentage
integer
Example:
19
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/estimates/orders HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "account_id": "1bd3e4d3-5981-209b-787d-352dcd5389a3",
    "supply_method": "DELIVERY",
    "fulfilled_by": "",
    "requested_delivery_at": {
        "time": 30,
        "time_unit": "MINUTES",
        "date": 12312323123
    },
    "address_id": "84bfd840-b520-5bde-8f0a-b36937a2fce7",
    "notes": "",
    "line_items": [
        {
            "id": "7f45ad8a-b164-2a67-eb93-8651c0f1b101",
            "quantity": 1,
            "price": 2.99,
            "tax_model": "TAX_INCLUSIVE",
            "notes": "",
            "components": [
                {
                    "id": "6e111025-002b-48d7-a675-6d9e48070b8f",
                    "quantity": 1,
                    "price": 0.5,
                    "tax_model": "TAX_INCLUSIVE"
                }
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "",
    "order_estimate": {
        "fulfilled_by": {
            "id": "3FD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Bro Burgers"
        },
        "estimated_delivery": {
            "time_to_deliver": 1,
            "uot": "minutes",
            "delivered_at": 12345565
        }
    },
    "invoice_estimate": {
        "issued_date": 123456789,
        "due_date": 123456789,
        "currency": "EUR",
        "total_net_amount": 9,
        "total_discount_amount": 1,
        "total_tax_amount": 0.99,
        "total_amount": 9.99,
        "taxes_breakdown": [
            {
                "tax_amount": 0.99,
                "tax_rate": {
                    "id": "",
                    "name": "",
                    "tax_code": "VAT",
                    "percentage": 19
                }
            }
        ],
        "line_items": [
            {
                "id": "7CD9C84FA60F9FE407140E20F707726A",
                "sku": "",
                "name": "",
                "tax_model": "TAX_INCLUSIVE",
                "rate_model": "TIERED",
                "quantity": 1,
                "unit_price": 9.99,
                "net_amount": 9.99,
                "discount_amount": 0.1,
                "tax_amount": 0.99,
                "sub_total": 9.99,
                "applied_promotions": [
                    {
                        "discount_value": 0.1,
                        "discount_type": "AMOUNT",
                        "discount_amount": 0.1,
                        "promotion": {
                            "id": "0b551184-aa37-43af-646f-a40d9da017a8",
                            "name": ""
                        }
                    }
                ],
                "applied_taxes": [
                    {
                        "tax_amount": 0.99,
                        "tax_exempt_reason": "CONTACT",
                        "tax_rate": {
                            "id": "0b551184-aa37-43af-646f-a40d9da017a8",
                            "name": "",
                            "tax_code": "VAT",
                            "percentage": 19
                        }
                    }
                ]
            }
        ]
    }
}
Routing Rules
GET /estimates/routing_rules

Returns the applicable routing rule that matches the parameters provided

Request parameters

payment_method_type
string required
Enumeration:
CARD
PAYPAL
currency
string optional

The currency related to routing rule

Example:
EUR
country
string optional

The country related to the routing rule

Example:
CY

Responses

200 OK
Body
Object
id
string GUID

The GUID of the routing rule

Example:
F8F8E9DA009A4B70BCEEB113B183456D
connector
string

The routing rule’s payment gateway

Enumeration:
STRIPE
JCC
BRAINTREE
PAYPAL
payment_method_type
string
Enumeration:
CARD
PAYPAL
currencies
string

The currency code applicable for this rule

countries
Array

The country code applicable for this rule

Unique items: YES
string
Example:
GR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/estimates/routing_rules HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "F8F8E9DA009A4B70BCEEB113B183456D",
    "connector": "STRIPE",
    "payment_method_type": "PAYPAL",
    "currencies": "",
    "countries": [
        "GR"
    ]
}
Subscriptions
GET /estimates/subscriptions

Returns an estimation of a change perofrmed on a subscription service, without making the change. The estimation is based on existing services owned by thwe customer plus any requested changes.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string required
Enumeration:
NEW
CANCEL
REGRET
PAUSE
CHANGE_TERMS
UPGRADE
DOWNGRADE
SWITCH
AMEND_BUNDLE
account_id
string nullable

Required when purchasing new services through an Order

subscription_id
string nullable

Required when changing the service(s) of a subscription

scheduled_date
integer

If specified, then the estimation assumes the action will be performed on the specified date. If not specified, then the currnct date is used by default

Example:
12345678
number_of_days
integer

Applicable and mandatory only when pausing a service

Example:
3
periods_to_estimate
integer

If specifed, then the estimation returns invoicing information for the next X billing cycles, otherwise the upcoming billing ccle’s information is returned only.

Example:
3
new_services
Array

Applicable and mandatory only when purchasing new services through an Order

Object
product_id
string required

The unique identifier of the purchased service product (termed or one-time)

components
Array

Applicabe only when purchasig flexible bundle termed services from the product catalogue

Object
product_id
string required
quantity
integer
Default:
1
Example:
1
terminated_services
Array of string

Applicable and mandatory when Cancelling or Regretting a service

Min items: 1
Unique items: YES
service_changes
Array

Appicable and mandatory when Upgrading, DOwngrading or Switching an existing termed subscription service

Min items: 1
Object
from_service_id
string required

The unique identifier of the existing subscription service

to_service_product_id
string required

The unique dentifier of the service product to which the service is changed with

service_term_changes
Array

Applicable and mandatory only when Chanign the term of an existing service.

Object
service_id
string

The unique identifier of the existing subscription service

renew
boolean
Example:
true

Responses

200 OK
Body
Object
subscription_estimate
Object
action_allowed
boolean

Defines whether the requested change is allowed or not

Example:
true
allowed_execution_on
integer

Returns the date on which the change can be performed. Applicable only if business rules restrict the immediate execution of an change

Example:
12345678
subscription
Object

The subscription related to the service

id
string
code
string
terms
Object
billing_period
Object
duration
integer
Example:
1
uot
string
Example:
MONTHS
billing_day
Object
day_of_month
integer
Example:
5
day_of_week
string
Example:
MONDAY
service_pause
Object

Informs the start and end date of the paused period. Applicable only when pausing services

starts_on
integer
Example:
12345678
ends_on
integer
Example:
12345678
affected_sevices
Array

A ilst of services affected by the change. It includes the services for which the chane was requested plus any other services which might be affected (e.g. cancelling a service migth cause the automatic cancellation of dependent services)

Object
id
string

The unique identifer of the subscription service

life_cycle_state
string

The state of the service prior the change

Example:
EFFECTIVE
new_life_cycle_state
string

The state of the service after the change

Example:
SWAPPED
rated_up_to
integer

The date until which the service will be rated

Example:
12345678
product
Object

Teh service’s product

id
string
sku
string
name
string
billing
Array

Billing estimation for the requested change

Object
period
Object

The period’s duration included in billing preview/etiamtion

from_date
integer
Example:
12345678
to_date
integer
Example:
12345678
totals
Object

The total estimated amounts for the specified period

total_amount
number
Example:
9.99
tax_amount
number
Example:
1.99
net_amount
number
Example:
1.99
discount_amount
number
Example:
1.99
service_invoicing
Array

Invoice estimation for the affected services (i.e.how the affected services will be debited during the period)

Object
price
number
Example:
2.99
total_amount
number
Example:
9.99
tax_amount
number
Example:
1.99
net_amount
number
Example:
1.99
discount_amount
number
Example:
1.99
from_date
integer
Example:
12345678
to_date
integer
Example:
12345678
currency
string
Example:
EUR
product
Object
id
string
sku
string
name
string
bundle_product
Object
id
string
sku
string
name
string
service_crediting
Array

Credit estimation for the affected services (i.e.how the affected services will be credited during the period)

Object
price
number
Example:
2.99
total_amount
number
Example:
9.99
tax_amount
number
Example:
1.99
net_amount
number
Example:
1.99
discount_amount
number
Example:
1.99
from_date
integer
Example:
12345678
to_date
integer
Example:
12345678
currency
string
Example:
EUR
product
Object
id
string
sku
string
name
string
bundle_product
Object
id
string
sku
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Financial Transactions
Invoices
POST /invoices
PUT /invoices/{id}
POST /invoices/{id}/actions
GET /invoices
GET /invoices/{id}
Create Invoice
POST /invoices

Create a new Invoice financial transaction

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
account_id
string GUID

The account on which the financial transaction will be posted against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
type_id
string GUID

The unique identifier of the financial transaction id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reference_number
string

The reference number of the financial transaction to be created

Example:
123456
due_date
integer epoch

The due date of the financial transaction. The default value is provided based on settings but the user can provide a different one based on configuration.

Example:
1583846865
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
notes
string

Any notes related to the financial transaction

financial_transaction_lines
Array
Object
product_id
string GUID required

The product’s unique identifier to be included in the financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
quantity
integer

The quantity of the product. Defaults to 1

Example:
2
unit_price
number

The price per unit of the product

Example:
10
discount
Object
discount_amount
number

The discount amount of the line

Example:
20
discount_percentage
number

The discount percentage of the line

Example:
20
sub_total
number

The sub total of the financial transaction line

Example:
200
devices
Array

The IDs of the devices to be sold in case of a stockable/traceable product

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
life_cycle_state
string

A financial transcation can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/invoices HTTP/1.1 

Content-Type: application/json

{
    "account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "reference_number": "123456",
    "due_date": 1583846865,
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "notes": "",
    "financial_transaction_lines": [
        {
            "product_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "quantity": 2,
            "unit_price": 10,
            "discount": {
                "discount_amount": 20,
                "discount_percentage": 20
            },
            "sub_total": 200,
            "devices": [
                "CAD1E31269B76D7A65ACCE45B2E68DFD"
            ]
        }
    ],
    "life_cycle_state": "POSTED"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Invoice
PUT /invoices/{id}

Update a Draft Invoice financial transaction

Path variables

id
string required

The id of the Invoice to be updated

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
type_id
string GUID

The unique identifier of the financial transaction id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
due_date
integer epoch

The due date of the financial transaction. The default value is provided based on settings but the user can provide a different one based on configuration.

Example:
1583846865
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
notes
string

Any notes related to the financial transaction

financial_transaction_lines
Array
Object
line_id
string GUID

The unique identifier of an existing line to be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_id
string GUID

The unique identifier of the product to be provided on new lines

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
unit_price
number

The price per unit of the product

Example:
10
quantity
number

The quantity of the product

Example:
2
discount
Object
discount_amount
number

The discount amount of the line

Example:
20
discount_percentage
string

The discount percentage of the line

Example:
20
sub_total
number

The sub total of the financial transaction line

Example:
200
devices
Array

The IDs of the devices to be sold in case of a stockable/traceable product

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
life_cycle_state
string

A financial transcation can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/invoices/{id} HTTP/1.1 

Content-Type: application/json

{
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "due_date": 1583846865,
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "notes": "",
    "financial_transaction_lines": [
        {
            "line_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "product_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "unit_price": 10,
            "quantity": 2,
            "discount": {
                "discount_amount": 20,
                "discount_percentage": "20"
            },
            "sub_total": 200,
            "devices": [
                "CAD1E31269B76D7A65ACCE45B2E68DFD"
            ]
        }
    ],
    "life_cycle_state": "DRAFT"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Perform Invoice Actions
POST /invoices/{id}/actions

Perform actions on an existing Invoice

Path variables

id
string GUID required

The unique identification of the invoice that the actions will be performed against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string

The action to be performed on the Invoice

Enumeration:
POST
REJECT
notes
string

The invoice notes available to provide any information on the performed action

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the invoice

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/invoices/CAD1E31269B76D7A65ACCE45B2E68DFD/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "REJECT",
    "notes": ""
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
List Invoices
GET /invoices

List all the available Invoices

Request parameters

contact_id
string GUID optional

The unique ID of the contact whose Invoices belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
account_id
string GUID optional

The unique ID of the account whose Invoices belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
is_unsettled
boolean optional

If set to true, then only the unsettled Invoices will be retreived

Example:
true
life_cycle_state
string optional

The life cycle state of the Invoices to be retrieved

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
search_value
string optional

The value of the search across number and reference number

Example:
123456
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
number
string

The financial transaction number

Example:
INV0001
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object
id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Invoice
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
account
Object
id
string GUID

The unique identifier of the account that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number of the account that owns the Financial Transaction

Example:
AC123456
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
due_date
integer epoch

The due date of the financial transaction

Example:
1583846865
total_net_amount
number 150

The total net amount of the financial transaction

total_discount_amount
number

The total discount amount of the financial tranasction

Example:
1
total_tax_amount
number

Total tax amount

Example:
2.99
total_amount
number 100

The total amount of the financial transaction

overdue_amount
number

The unpaid amount that passed the financial transaction’s due date

Example:
10
unsettled_amount
number 10

The unpaid amount of the financial transaction

currency_code
string

The invoice’s currency code

Example:
EUR
financial_transaction_lines
Array
Object
id
string GUID

The unique ID of the financial transaction line

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product
Object

The invoiced product

id
string GUID

The product’s unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
sku
string

The product’s SKU

Example:
abc-12345
name
string

The product’s name

Example:
Decoder
quantity
integer

The quantity of the product

Example:
2
unit_price
number

The price per unit of the product

Example:
10
net_amount
number

The net amount

Example:
10
discount
Object
discount_amount
number

The discount amount of the line

Example:
20
discount_percentage
number

The discount percentage of the line

Example:
10
tax_amount
number

Total taxed amount for the product

Example:
5
sub_total
number

The sub total of the financial transaction line

Example:
200
applied_taxes
Array

A set of applied tax rates

Object
tax_rate
Object

The applied tax rate

id
string GUID

The identifier of the tax rate

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the tax rate

Example:
Standard VAT
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
OTHER
SALES_TAX
percentage
number

The tax rate % that was applied

tax_amount
number

The ax amount applied because of the tax rate

Example:
0.2
tax_exempt_reason
string
Enumeration:
CONTACT
PRODUCT
devices
Array

The devices that were sold through this invoice

Object
id
string GUID

The ID of the device

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
serial_number
string

The serial number of the device

Example:
STB123456
taxes_breakdown
Array

A list of taxes that were applied across all lines.

Object
tax_rate
Object
id
string GUID

The unique ID of the tax rate

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the tax rate

Example:
Domestic
tax_code
string

The code of the tax rate

Example:
VAT
percentage
number

The applied tax rate’s percentage that was valid on the date on wich the rate was applied

Example:
20
tax_amount
number

The applied tax amount because of this tax rate

Example:
7.29
notes
string

Any notes of the financial transaction

Example:
December Invoice
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The total number of records overall

Example:
100
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/invoices HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "number": "INV0001",
            "reference_number": "123456",
            "type": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Invoice"
            },
            "contact": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "John Johnson",
                "code": "C123"
            },
            "account": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "number": "AC123456"
            },
            "life_cycle_state": "DRAFT",
            "issued_date": 1583846865,
            "posted_date": 1583846865,
            "due_date": 1583846865,
            "total_net_amount": 1,
            "total_discount_amount": 1,
            "total_tax_amount": 2.99,
            "total_amount": 1,
            "overdue_amount": 10,
            "unsettled_amount": 1,
            "currency_code": "EUR",
            "financial_transaction_lines": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "product": {
                        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                        "sku": "abc-12345",
                        "name": "Decoder"
                    },
                    "quantity": 2,
                    "unit_price": 10,
                    "net_amount": 10,
                    "discount": {
                        "discount_amount": 20,
                        "discount_percentage": 10
                    },
                    "tax_amount": 5,
                    "sub_total": 200,
                    "applied_taxes": [
                        {
                            "tax_rate": {
                                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                                "name": "Standard VAT",
                                "tax_code": "OTHER",
                                "percentage": 1
                            },
                            "tax_amount": 0.2,
                            "tax_exempt_reason": "PRODUCT"
                        }
                    ],
                    "devices": [
                        {
                            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                            "serial_number": "STB123456"
                        }
                    ]
                }
            ],
            "taxes_breakdown": [
                {
                    "tax_rate": {
                        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                        "name": "Domestic",
                        "tax_code": "VAT",
                        "percentage": 20
                    },
                    "tax_amount": 7.29
                }
            ],
            "notes": "December Invoice"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 100
    }
}
Get Invoice
GET /invoices/{id}

Get an Invoice

Path variables

id
string required

The id of the Invoice to be retrieved

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
number
string

The financial transaction number

Example:
INV0001
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object
id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Invoice
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
account
Object
id
string GUID

The unique identifier of the account that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number of the account that owns the Financial Transaction

Example:
AC123456
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
due_date
integer epoch

The due date of the financial transaction

Example:
1583846865
total_net_amount
number

The total net amount of the financial transaction

Example:
150
total_discount_amount
number

The total discount amount of the financial tranasction

Example:
50
total_tax_amount
number

Total tax amount

Example:
2.99
total_amount
number

The total amount of the financial transaction

Example:
100
overdue_amount
number

The unpaid amount that passed the financial transaction’s due date

Example:
0
unsettled_amount
number

The unpaid amount of the financial transaction

Example:
100
currency_code
string

The invoice’s currency code

Example:
EUR
financial_transaction_lines
Array
Object
id
string GUID

The unique ID of the financial transaction line

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product
Object

The invoiced product

id
string

The product’s unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
sku
string

The product’s SKU

Example:
abc-12345
name
string

The product’s name

Example:
Decoder
quantity
integer

The quantity of the product

Example:
2
unit_price
number

The price per unit of the product

Example:
10
net_amount
number

The net amount

discount
Object
discount_amount
number

The discount amount of the line

Example:
20
discount_percentage
number

The discount percentage of the line

Example:
20
tax_amount
number

Total taxed amount for the product

sub_total
number

The sub total of the financial transaction line

Example:
200
applied_taxes
Array

A set of applied tax rates

Object
tax_rate
Object

The applied tax rate

id
string

The identifier of the tax rate

name
string

The name of the tax rate

Example:
Standard VAT
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
OTHER
SALES_TAX
percentage
number

The applied tax rate’s percentage that was valid on the date on which the rate was applied

Example:
20
tax_amount
number

The ax amount applied because of the tax rate

Example:
0.2
tax_exempt_reason
string
Enumeration:
CONTACT
PRODUCT
devices
Array

The devices that were sold through this invoice

Object
id
string GUID

The ID of the device

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
serial_number
string

The serial number of the device

Example:
STB123456
taxes_breakdown
Array

A list of taxes that were applied across all lines.

Object
tax_rate
Object
id
string
name
string
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
OTHER
SALES_TAX
percentage
number

The applied tax rate’s percentage that was valid on the date on which the rate was applied

tax_amount
number

The applied tax amount because of this tax rate

Example:
7.29
notes
string

Any notes of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/invoices/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "number": "INV0001",
    "reference_number": "123456",
    "type": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Invoice"
    },
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Johnson",
        "code": "C123"
    },
    "account": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "number": "AC123456"
    },
    "life_cycle_state": "POSTED",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "due_date": 1583846865,
    "total_net_amount": 150,
    "total_discount_amount": 50,
    "total_tax_amount": 2.99,
    "total_amount": 100,
    "overdue_amount": 1,
    "unsettled_amount": 100,
    "currency_code": "EUR",
    "financial_transaction_lines": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "product": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "sku": "abc-12345",
                "name": "Decoder"
            },
            "quantity": 2,
            "unit_price": 10,
            "net_amount": 1,
            "discount": {
                "discount_amount": 20,
                "discount_percentage": 20
            },
            "tax_amount": 1,
            "sub_total": 200,
            "applied_taxes": [
                {
                    "tax_rate": {
                        "id": "",
                        "name": "Standard VAT",
                        "tax_code": "OTHER",
                        "percentage": 20
                    },
                    "tax_amount": 0.2,
                    "tax_exempt_reason": "CONTACT"
                }
            ],
            "devices": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "serial_number": "STB123456"
                }
            ]
        }
    ],
    "taxes_breakdown": [
        {
            "tax_rate": {
                "id": "",
                "name": "",
                "tax_code": "VAT",
                "percentage": 1
            },
            "tax_amount": 7.29
        }
    ],
    "notes": ""
}
Payments
POST /payments
PUT /payments/{id}
POST /payments/{id}/actions
GET /payments
GET /payments/{id}
Create Payment
POST /payments

Create a new Payment financial transaction

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
contact_id
string GUID

The contact on which the financial transaction will be posted against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
type_id
string GUID

The unique identifier of the financial transaction type id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reference_number
string

The reference number of the financial transaction to be created

Example:
123456
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
amount
number

The amount of the payment

Example:
200
notes
string

Any notes related to the financial transaction

life_cycle_state
string

A financial transcation can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED
payment_method
string required

Indicates the method of collecting money

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
ACCOUNT
payment_method_id
string

The contact’s actual preferred payment method. Required and mandatory only for online payments (Card, Wallet, PayPal and Account). Defaults to the primary payment method, if any.

financial_transactions_payable
Array

An array of unique IDs of Invoices to be paid. Invoices or External transactions are mandatory

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
external_transactions_payable
Array

An array of reference numbers of external debits to be paid. Invoices or External transactions are mandatory

string
Example:
INV0123456

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/payments HTTP/1.1 

Content-Type: application/json

{
    "contact_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "reference_number": "123456",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "amount": 200,
    "notes": "",
    "life_cycle_state": "POSTED", 
    "payment_method": "ACCOUNT",
    "payment_method_id": "",
    "financial_transactions_payable": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "external_transactions_payable": [
        "INV0123456"
    ]
}
Update Payment
PUT /payments/{id}

Update a Draft Payment financial transaction

Path variables

id
string required

The id of the Payment to be updated

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
type_id
string GUID

The unique identifier of the financial transaction id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
amount
number

The amount of the payment

Example:
200
notes
string

Any notes related to the financial transaction

life_cycle_state
string

A financial transcation can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED
payment_method
string

The method through which money will be collected

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
ACCOUNT
payment_method_id
string

The contact’s actual preferred payment method. Applicable only for online payments (Card, Wallet, PayPal, Account).

financial_transactions_payable
Array

An array of unique IDs of Invoices to be paid. Invoices or External transactions are mandatory

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
external_transactions_payable
Array

An array of reference numbers of external debits to be paid. Invoices or External transactions are mandatory

string
Example:
INV0123456

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/payments/{id} HTTP/1.1 

Content-Type: application/json

{
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "amount": 200,
    "notes": "",
    "life_cycle_state": "POSTED",
    "payment_method": "ACCOUNT",
    "payment_method_details_id": "",
    "financial_transactions_payable": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "external_transactions_payable": [
        "INV0123456"
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Perform Payment Actions
POST /payments/{id}/actions

Perform actions on an existing Payment

Path variables

id
string GUID required

The unique identification of the payment that the actions will be performed against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string

The action to be performed on the Invoice

Enumeration:
POST
CANCEL
REJECT
payment_cancellation_type_id
string GUID

The id of the cancellation financial transaction type to be created. Applicable only if the action is CANCEL

Example:
4AD9C84FA60F9FE407140E20F707726A
notes
string

The payment notes available to provide any information on the performed action

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the payment

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/payments/CAD1E31269B76D7A65ACCE45B2E68DFD/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "CANCEL",
    "payment_cancellation_type_id": "4AD9C84FA60F9FE407140E20F707726A",
    "notes": ""
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
List Payments
GET /payments

List all available Payments

Request parameters

contact_id
string GUID optional

The unique ID of the contact whose Payments belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
account_id
string GUID optional

The unique ID of the account whose Payments belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
life_cycle_state
string optional

The life cycle state of the Payments to be retrieved

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
search_value
string optional

The value of the search across number and reference number

Example:
123456
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object
id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Payment
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
currency_code
string

The payment’s currency

Example:
EUR
amount
number

The amount of the financial transaction

Example:
150.5
payment_method
string

The method used for collecting the money

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
ACCOUNT
payment_method_details
Object

The contact’s actual preferred payment method. Applicable only for online payments (Card, Wallet, PayPal, Account).

id
string GUID

The contact’s payment method identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The payment method’s name

Example:
VISA
identifier
string

An identifier that briefly describes the contact’s payment method (The last 4 digits for cards, the email for Paypal accounts or the wallet number

Example:
******* 1212
financial_transactions_payable
Array

The information of the financial transactions to be paid by the Payment

Object
id
string GUID

The unique ID of the Financial Transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The number of the Financial Transaction

Example:
INV123456
reference_number
string

The reference number of the Financial Transaction

Example:
123456
posted_date
integer epoch

The posted date of the Financial Transaction

Example:
1583846865
due_date
integer epoch

The due date of the Financial Transaction

Example:
1583846865
total_amount
number

The total amount of the financial transaction

Example:
100.5
external_transactions_payable
Array

An array of reference numbers of external debits to be paid.

string
Example:
INV0123456
notes
string

Any notes of the financial transaction

cancelled_by
Object
id
string GUID

The unique ID of the Payment Cancellation Financial Transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reference_number
string

The financial transaction’s reference number

Example:
123456
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The total number of records overall

Example:
100
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/payments HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "reference_number": "123456",
            "type": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Payment"
            },
            "contact": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "John Johnson",
                "code": "C123"
            },
            "life_cycle_state": "REJECTED",
            "issued_date": 1583846865,
            "posted_date": 1583846865,
            "currency_code": "EUR",
            "amount": 150.5,
            "payment_method": "DIRECT_DEBIT",
            "payment_method_details": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "VISA",
                "identifier": "******* 1212"
            },
            "financial_transactions_payable": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "number": "INV123456",
                    "reference_number": "123456",
                    "posted_date": 1583846865,
                    "due_date": 1583846865,
                    "total_amount": 100.5
                }
            ],
            "external_transactions_payable": [
                "INV0123456"
            ],
            "notes": "",
            "cancelled_by": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "reference_number": "123456"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 100
    }
}
Get Payment
GET /payments/{id}

Get a Payment

Path variables

id
string required

The id of the financial transaction to be retrieved

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object
id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Payment
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
currency_code
string

The payment’s currency

amount
number

The amount of the financial transaction

Example:
150
payment_method
string

The method used for collecting the money

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
ACCOUNT
Example:
CARD
payment_method_details
Object

The contact’s actual preferred payment method. Applicable only for online payments (Card, Wallet, PayPal, Account).

id
string

The contact’s payment method identifier

name
string

The payment method’s name

identifier
string

An identifier that briefly describes the contact’s payment method (The last 4 digits for cards, the email for Paypal accounts or the wallet number

Example:
******* 1212
financial_transactions_payable
Array

The information of the financial transactions to be paid by the Payment

Object
id
string GUID

The unique ID of the Financial Transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The number of the Financial Transaction

Example:
INV123456
reference_number
string

The reference number of the Financial Transaction

Example:
123456
posted_date
integer epoch

The posted date of the Financial Transaction

Example:
1583846865
due_date
integer epoch

The due date of the Financial Transaction

Example:
1583846865
total_amount
number

The total amount of the financial transaction

Example:
100.5
external_transactions_payable
Array

An array of reference numbers of external debits to be paid.

string
Example:
INV0123456
notes
string

Any notes of the financial transaction

cancelled_by
Object
id
string GUID

The unique ID of the Payment Cancellation Financial Transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reference_number
string

The financial transaction’s reference number

Example:
123456
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/payments/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "reference_number": "123456",
    "type": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Payment"
    },
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Johnson",
        "code": "C123"
    },
    "life_cycle_state": "PENDING_VERIFICATION",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "currency_code": "",
    "amount": 150,
    "payment_method": "CARD",
    "payment_method_details": {
        "id": "",
        "name": "",
        "identifier": "******* 1212"
    },
    "financial_transactions_payable": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "number": "INV123456",
            "reference_number": "123456",
            "posted_date": 1583846865,
            "due_date": 1583846865,
            "total_amount": 100.5
        }
    ],
    "external_transactions_payable": [
        "INV0123456"
    ],
    "notes": "",
    "cancelled_by": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "reference_number": "123456"
    }
}
Credit Notes
POST /credit_notes
PUT /credit_notes/{id}
POST /credit_notes/{id}/actions
GET /credit_notes
GET /credit_notes/{id}
Create Credit Note
POST /credit_notes

Create a new Credit Note financial transaction

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
account_id
string GUID

The account on which the financial transaction will be posted against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
type_id
string GUID

The unique identifier of the financial transaction id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reference_number
string

The reference number of the financial transaction to be created

Example:
123456
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
notes
string

Any notes related to the financial transaction

life_cycle_state
string

A financial transcation can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED
financial_transaction_lines
Array
Object
product_id
string GUID

The product’s unique identifier to be included in the financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
quantity
integer

The quantity of the product

Example:
2
unit_price
number

The price per unit of the product

Example:
10
discount
Object
discount_amount
number

The discount amount of the line

Example:
20
discount_percentage
number

The discount percentage of the line

Example:
20
sub_total
number

The sub total of the financial transaction line

Example:
200
devices
Array

The IDs of the devices to be returned back to the business in case of a stockable/traceable product

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
financial_transactions_credited
Array

The Invoice financial transactions to be credited by this Credit Note

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/credit_notes HTTP/1.1 

Content-Type: application/json

{
    "account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "reference_number": "123456",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "notes": "",
    "life_cycle_state": "DRAFT",
    "financial_transaction_lines": [
        {
            "product_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "quantity": 2,
            "unit_price": 10,
            "discount": {
                "discount_amount": 20,
                "discount_percentage": 20
            },
            "sub_total": 200,
            "devices": [
                "CAD1E31269B76D7A65ACCE45B2E68DFD"
            ]
        }
    ],
    "financial_transactions_credited": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Update Credit Note
PUT /credit_notes/{id}

Update a Draft Credit Note financial transaction

Path variables

id
string required

The id of the Credit Note to be updated

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
type_id
string GUID

The unique identifier of the financial transaction id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
notes
string

Any notes related to the financial transaction

life_cycle_state
string

A financial transcation can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED
financial_transaction_lines
Array
Object
line_id
string GUID

The unique identifier of an existing line to be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_id
string GUID

The unique identifier of the product to be provided on new lines

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
unit_price
number

The price per unit of the product

Example:
10
quantity
number

The quantity of the product

Example:
2
discount
Object
discount_amount
number

The discount amount of the line

Example:
20
discount_percentage
string

The discount percentage of the line

Example:
20
sub_total
number

The sub total of the financial transaction line

Example:
200
devices
Array

The IDs of the devices to be returned back to the business in case of a stockable/traceable product

string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
financial_transactions_credited
Array

The Invoice financial transactions to be credited by this Credit Note

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/credit_notes/{id} HTTP/1.1 

Content-Type: application/json

{
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "notes": "",
    "life_cycle_state": "DRAFT",
    "financial_transaction_lines": [
        {
            "line_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "product_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "unit_price": 10,
            "quantity": 2,
            "discount": {
                "discount_amount": 20,
                "discount_percentage": "20"
            },
            "sub_total": 200,
            "devices": [
                "CAD1E31269B76D7A65ACCE45B2E68DFD"
            ]
        }
    ],
    "financial_transactions_credited": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Perform Credit Note Actions
POST /credit_notes/{id}/actions

Perform actions on an existing Credit Note

Path variables

id
string GUID required

The unique identification of the credit note that the actions will be performed against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string

The action to be performed on the Credit Note

Enumeration:
POST
REJECT
notes
string

The credit note notes available to provide any information on the performed action

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the credit note

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/credit_notes/CAD1E31269B76D7A65ACCE45B2E68DFD/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "REJECT"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
List Credit Notes
GET /credit_notes

List all the available Credit Notes

Request parameters

contact_id
string GUID optional

The unique ID of the contact whose Credit Notes belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
account_id
string GUID optional

The unique ID of the account whose Credit Notes belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
life_cycle_state
string optional

The life cycle state of the Credit Notes to be retrieved

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
search_value
string optional

The value of the search across number and reference number

Example:
123456
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
number
string

The financial transaction number

Example:
CR0001
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object

The financial transaction type unique identifier

id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Credit Note
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
account
Object
id
string GUID

The unique identifier of the account that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number of the account that owns the Financial Transaction

Example:
AC123456
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
total_net_amount
number

The total net amount of the financial transaction

Example:
150.5
total_discount_amount
number

The total discount amount of the financial tranasction

Example:
50.5
total_tax_amount
number

The total applied tax amount

Example:
1.5
total_amount
number

The total amount of the financial transaction

Example:
100.5
currency_code
string

The credit note’s currency code

Example:
EUR
financial_transaction_lines
Array
Object
id
string GUID

The unique ID of the financial transaction line

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_id
Object

The credited product

id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
sku
string
Example:
PROD0123
name
string
Example:
COFFEE
quantity
integer

The quantity of the product

Example:
2
unit_price
integer

The price per unit of the product

Example:
10
net_amount
number

The net amount of the line

Example:
20.5
discount
Object
discount_amount
number

The discount amount of the line

Example:
20.5
discount_percentage
number

The discount percentage of the line

Example:
20.5
tax_amount
number

Total taxed amount for this product

Example:
1.1
sub_total
number

The sub total of the financial transaction line

Example:
200.5
applied_taxes
Array
Object
tax_rate
Object
id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string
Example:
DOMESTIC
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
OTHER
SALES_TAX
percentage
number

The applied tax rate’s percentage that was valid on the date on which the rate was applied

Example:
20
tax_amount
number

The applied tax amount because of the tax rate

Example:
1.5
tax_exempt_reason
string
Enumeration:
CONTACT
PRODUCT
devices
Array

The devices that were returned through this invoice

Object
id
string GUID

The ID of the device

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
serial_number
string

The serial number of the device

Example:
STB123456
taxes_breakdown
Array
Object
tax_rate
Object
id
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
name
string
Example:
DOMESTIC TAX
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
OTHER
SALES_TAX
percentage
number

The applied tax rate’s percentage that was valid on the date on which the rate was applied

Example:
20
tax_amount
number
Example:
1.5
financial_transactions_credited
Array

The financial transactions that are credited by the Credit Note

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
notes
string

Any notes of the financial transaction

paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/credit_notes HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "number": "CR0001",
            "reference_number": "123456",
            "type": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Credit Note"
            },
            "contact": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "John Johnson",
                "code": "C123"
            },
            "account": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "number": "AC123456"
            },
            "life_cycle_state": "DRAFT",
            "issued_date": 1583846865,
            "posted_date": 1583846865,
            "total_net_amount": 150.5,
            "total_discount_amount": 50.5,
            "total_tax_amount": 1.5,
            "total_amount": 100.5,
            "currency_code": "EUR",
            "financial_transaction_lines": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "product_id": {
                        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                        "sku": "PROD0123",
                        "name": "COFFEE"
                    },
                    "quantity": 2,
                    "unit_price": 10,
                    "net_amount": 20.5,
                    "discount": {
                        "discount_amount": 20.5,
                        "discount_percentage": 20.5
                    },
                    "tax_amount": 1.1,
                    "sub_total": 200.5,
                    "applied_taxes": [
                        {
                            "tax_rate": {
                                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                                "name": "DOMESTIC",
                                "tax_code": "TAX_EXEMPT",
                                "percentage": 20
                            },
                            "tax_amount": 1.5,
                            "tax_exempt_reason": "PRODUCT"
                        }
                    ],
                    "devices": [
                        {
                            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                            "serial_number": "STB123456"
                        }
                    ]
                }
            ],
            "taxes_breakdown": [
                {
                    "tax_rate": {
                        "id": "4AD9C84FA60F9FE407140E20F707726A",
                        "name": "DOMESTIC TAX",
                        "tax_code": "TAX_EXEMPT",
                        "percentage": 20
                    },
                    "tax_amount": 1.5
                }
            ],
            "financial_transactions_credited": [
                "CAD1E31269B76D7A65ACCE45B2E68DFD"
            ],
            "notes": ""
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Credit Note
GET /credit_notes/{id}

Get a Credit Note

Path variables

id
string required

The id of the Credit Note to be retrieved

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
number
string

The financial transaction number

Example:
CR0001
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object

The financial transaction type unique identifier

id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Credit Note
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
account
Object
id
string GUID

The unique identifier of the account that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number of the account that owns the Financial Transaction

Example:
AC123456
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
total_net_amount
number

The total net amount of the financial transaction

Example:
150.5
total_discount_amount
number

The total discount amount of the financial tranasction

Example:
50.5
total_tax_amount
number

The total applied tax amount

Example:
1.5
total_amount
number

The total amount of the financial transaction

Example:
100.5
currency_code
string

The credit note’s currency code

Example:
EUR
financial_transaction_lines
Array
Object
id
string GUID

The unique ID of the financial transaction line

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
product_id
Object

The credited product

id
string

The product’s identifier

sku
string

The product’s SKU

name
string

The product’s name

quantity
integer

The quantity of the product

Example:
2
unit_price
number

The price per unit of the product

Example:
10
net_amount
number
Example:
20.5
discount
Object
discount_amount
number

The discount amount of the line

Example:
20.5
discount_percentage
number

The discount percentage of the line

Example:
20.5
tax_amount
string

Total taxed amount for this product

sub_total
number

The sub total of the financial transaction line

Example:
200.5
applied_taxes
Array
Object
tax_rate
Object
id
string
name
string
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
OTHER
SALES_TAX
percentage
number

The applied tax rate’s percentage that was valid on the date on which the rate was applied

tax_amount
number

The applied tax amount because of the tax rate

Example:
1.5
tax_exempt_reason
string
Enumeration:
CONTACT
PRODUCT
devices
Array

The devices that were returned through this invoice

Object
id
string GUID

The ID of the device

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
serial_number
string

The serial number of the device

Example:
STB123456
taxes_breakdown
Array
Object
tax_rate
Object
id
string
name
string
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
OTHER
SALES_TAX
percentage
number

The applied tax rate’s percentage that was valid on the date on which the rate was applied

Example:
20
tax_amount
number
Example:
1.5
financial_transactions_credited
Array

The financial transactions that are credited by the Credit Note

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
notes
string

Any notes of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/credit_notes/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "number": "CR0001",
    "reference_number": "123456",
    "type": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Credit Note"
    },
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Johnson",
        "code": "C123"
    },
    "account": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "number": "AC123456"
    },
    "life_cycle_state": "POSTED",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "total_net_amount": 150.5,
    "total_discount_amount": 50.5,
    "total_tax_amount": 1.5,
    "total_amount": 100.5,
    "currency_code": "EUR",
    "financial_transaction_lines": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "product_id": {
                "id": "",
                "sku": "",
                "name": ""
            },
            "quantity": 2,
            "unit_price": 10,
            "net_amount": 20.5,
            "discount": {
                "discount_amount": 20.5,
                "discount_percentage": 20.5
            },
            "tax_amount": "",
            "sub_total": 200.5,
            "applied_taxes": [
                {
                    "tax_rate": {
                        "id": "",
                        "name": "",
                        "tax_code": "VAT",
                        "percentage": 1
                    },
                    "tax_amount": 1.5,
                    "tax_exempt_reason": "PRODUCT"
                }
            ],
            "devices": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "serial_number": "STB123456"
                }
            ]
        }
    ],
    "taxes_breakdown": [
        {
            "tax_rate": {
                "id": "",
                "name": "",
                "tax_code": "TAX_EXEMPT",
                "percentage": 20
            },
            "tax_amount": 1.5
        }
    ],
    "financial_transactions_credited": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "notes": ""
}
Refunds
POST /refunds
PUT /refunds/{id}
POST /refunds/{id}/actions
GET /refunds
GET /refunds/{id}
Create Refund
POST /refunds

Create a new Refund financial transaction

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
account_id
string GUID

The account on which the financial transaction will be posted against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
type_id
string GUID

The unique identifier of the financial transaction id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
reference_number
string

The reference number of the financial transaction to be created

Example:
123456
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
amount
number

The amount of the payment

Example:
200
notes
string

Any notes related to the financial transaction

life_cycle_state
string

A financial transaction can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED
refund_method
string required

Indicates the method of refunding the account

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
refund_method_id
string

The contact’s actual preferred payment method. Required and mandatory only for online payments (Card, Wallet, PayPal). Defaults to the primary payment method, if any.

issue_reason
string

The reason why the refunds was created

Example:
Refund money

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/refunds HTTP/1.1 

Content-Type: application/json

{
    "account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "reference_number": "123456",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "amount": 200,
    "notes": "",
    "life_cycle_state": "DRAFT", 
    "refund_method": "CARD",
    "refund_method_id": "",
    "issue_reason": "Refund money"
}
Update Refund
PUT /refunds/{id}

Update a Draft Refund financial transaction

Path variables

id
string required

The id of the Refund to be updated

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
type_id
string GUID

The unique identifier of the financial transaction id

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
issued_date
integer epoch

The issued date of the financial transaction. Defaults to current date.

Example:
1583846865
posted_date
integer epoch

The posted date of the financial transaction. Defaults to current date

Example:
1583846865
amount
number

The amount of the payment

Example:
200
notes
string

Any notes related to the financial transaction

life_cycle_state
string

A financial transcation can be created either as DRAFT or POSTED.

Enumeration:
DRAFT
POSTED
refund_method
string required

Indicates the method of refunding the account

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
refund_method_id
string

The contact’s actual preferred payment method. Required and mandatory only for online payments (Card, Wallet, PayPal). Defaults to the primary payment method, if any.

issue_reason
string

The reason why the refund was created

Example:
Refund Money

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/refunds/{id} HTTP/1.1 

Content-Type: application/json

{
    "type_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "issued_date": 1583846865,
    "posted_date": 1583846865,  
    "amount": 200,
    "notes": "",
    "life_cycle_state": "DRAFT",
    "refund_method": "CARD",
    "refund_method_id": "",
    "issue_reason": "Refund Money"
}
Perform Refund Actions
POST /refunds/{id}/actions

Perform actions on an existing Refund

Path variables

id
string GUID required

The unique identification of the refund that the actions will be performed against to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string

The action to be performed on the Refund

Enumeration:
POST
REJECT
notes
string

The refund available to provide any information on the performed action

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the refund

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/refunds/CAD1E31269B76D7A65ACCE45B2E68DFD/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "REJECT"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
List Refunds
GET /refunds

List all the available Refunds

Request parameters

contact_id
string GUID optional

The unique ID of the contact whose Refunds belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
account_id
string GUID optional

The unique ID of the account whose Refunds belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
life_cycle_state
string optional

The life cycle state of the Refunds to be retrieved

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
search_value
string optional

The value of the search across number and reference number

Example:
1234
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
number
string

The financial transaction number

Example:
INV0001
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object
id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Refund
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
account
Object
id
string GUID

The unique identifier of the account that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number of the account that owns the Financial Transaction

Example:
AC123456
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
amount
number

The amount of the financial transaction

Example:
150.5
currency_code
string

The refund transaction’s currency

Example:
EUR
refund_method
string

Indicates the method of refunding the account

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
refund_method_details
Object
id
string GUID

The contact’s payment method unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string WALLET

The contact’s payment method name

identifier
string

An identifier that briefly describes the contact’s payment method (The last 4 digits for cards, the email for Paypal accounts or the wallet number

Example:
****** 1212
issue_reason
string

The reason why the refund was created

Example:
Refund Money
notes
string

Any notes of the financial transaction

paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The total number of records overall

Example:
100
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/refunds HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "number": "INV0001",
            "reference_number": "123456",
            "type": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Refund"
            },
            "contact": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "John Johnson",
                "code": "C123"
            },
            "account": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "number": "AC123456"
            },
            "life_cycle_state": "POSTED",
            "issued_date": 1583846865,
            "posted_date": 1583846865,
            "amount": 150.5,
            "currency": "EUR",
            "refund_method": "DIRECT_DEBIT",
            "refund_method_details": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "",
                "identifier": "****** 1212"
            },
            "issue_reason": "Refund Money",
            "notes": ""
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 100
    }
}
Get Refund
GET /refunds/{id}

Get a Refund

Path variables

id
string required

The id of the financial transaction to be retrieved

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
number
string

The financial transaction number

Example:
INV0001
reference_number
string

The financial transaction’s reference number

Example:
123456
type
Object
id
string GUID

The financial transaction type unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The financial transaction type name

Example:
Refund
contact
Object
id
string GUID

The unique identifier of the contact that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the Financial Transaction

Example:
John Johnson
code
string

The unique code of the contact that owns the Financial Transaction

Example:
C123
account
Object
id
string GUID

The unique identifier of the account that owns the Financial transaction

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number of the account that owns the Financial Transaction

Example:
AC123456
life_cycle_state
string

The life cycle state of the Financial Transaction

Enumeration:
DRAFT
POSTED
REJECTED
PENDING_VERIFICATION
issued_date
integer epoch

The date that the financial transaction was issued

Example:
1583846865
posted_date
integer epoch

The date that the financial transaction was posted

Example:
1583846865
amount
number

The amount of the financial transaction

Example:
150.5
currency_code
string

The refund transaction’s currency

Example:
EUR
refund_method
string

Indicates the method of refunding the account

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
WALLET
PAYPAL
Example:
CARD
refund_method_details
Object
id
string

The contact’s payment method unique identifier

name
string

The contact’s payment method name

identifier
string

An identifier that briefly describes the contact’s payment method (The last 4 digits for cards, the email for Paypal accounts or the wallet number

Example:
****** 1212
issue_reason
string

The reason why the refund was created

Example:
Refund Money
notes
string

Any notes of the financial transaction

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/refunds/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "number": "INV0001",
    "reference_number": "123456",
    "type": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Refund"
    },
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Johnson",
        "code": "C123"
    },
    "account": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "number": "AC123456"
    },
    "life_cycle_state": "DRAFT",
    "issued_date": 1583846865,
    "posted_date": 1583846865,
    "amount": 150.5,
    "currency": "EUR",
    "refund_method": "CARD",
    "refund_method_details": {
        "id": "",
        "name": "",
        "identifier": "****** 1212"
    },
    "issue_reason": "Refund Money",
    "notes": ""
}
Insights
GET /insights
GET /insights/{id}
POST /insights
DELETE /insights/{id}/
PUT /insights/{id}
POST /insights/{id}/events
POST /insights/{id}/filters
POST /insights/{id}/breakdowns
GET /insights/{id}/results
GET /insights/{id}/results
List Insights
GET /insights

Returns a list of Segments

Responses

200 OK
Body
Object
content
Array
Object
id
string

The insights unique identifier

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The insight’s name

Example:
Marketing customers
descripion
string

The insights’s description

Example:
List customers owning an account
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/segments HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "Marketing customers",
            "descripion": "List customers owning an account",
            "size": 95,
            "imported_from": "MIXPANEL",
            "resfresh_frequency": 4
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Insight
GET /insights/{id}

Get all data for a single insight

Path variables

id
string required

Responses

200 OK
Body
Object
id
string
name
string
events
Array
Object
id
string
name
string
Example:
Purchases
event_name
string
Example:
SPEND
totals
Object
is_frequency
boolean
property_name
string
Example:
amount
criteria
Array
Object
name
string
Example:
A
property
Object
property
string
Example:
venue.name
operator
string
Example:
IS
value_list
Array
Example:
["Costa Coffee Nicosia"]
string
Example:
Costa Coffee Nicosia
filters
Array
Object
id
string
Example:
guid
name
string
type
string
Example:
CONTACT
property_name
string
operator
string
Example:
NOT_EQUAL
min_value
string
max_value
string
value_list
Array of string
breakdowns
Array
Object
id
string
name
string

simple naming A, B, C used for ordering

type
string
Example:
CONTACT
property_name
string
Example:
city
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Create Insight
POST /insights

Create a new segment either based on a set of criteria or by adding contacts individually

Request body

Object
name
string
Example:
Marketing customers
description
string
Example:
A list of customers that own an account

Responses

201 Created
Body
Object
id
string

The newlly created segment’s unique identifier

Example:
ADD1E31269B76D7A65ACCE45B2E68DFD
200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1

Group A and Group B

POST https://devapi.crm.com/backoffice/v1/segments HTTP/1.1 

Content-Type: application/json

{
    "name": "Marketing customers",
    "description": "A list of customers that own an accoun"
}
Delete Insights
DELETE /insights/{id}/

Path variables

id
string required
Update Insights
PUT /insights/{id}

Updates the basic information of a segment

Path variables

id
string required

The segment’s unique identifier

Request body

Object
name
string
description
string

The insight’s description

Example:
List of contacts owning a non-terminated account
refresh_frequency
integer

Responses

200 OK
Body
Object
id
string

The unique identifer of the updated segment

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/segments/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "List of contacts owning a non-terminated account",
    "refresh_frequency": 1
}
Add Insight Events
POST /insights/{id}/events

Adds a set of conditions in a segment

Path variables

id
string required

Request body

Object
events
Array
Object
name
string required
Example:
Purchases
event_name
string
Enumeration:
PURCHASE
AWARD
SPEND
totals
Object
is_frequency
boolean

if the measurement is Freqency or Total of property

property_name
string

Name of the property to sum for a total or count frequency

criteria
Array
Object
name
string
Example:
A
property
Object
property
string
Example:
venue.name
operator
string

List of selection operators

Enumeration:
IS
IS_NOT
CONTAINS
DOES_NOT_CONTAIN
value_list
Array of string

List of values if the operator is contains or single item if matching

Example 1
POST https://sandbox.crm.com/backoffice/v1/insights/{id}/events HTTP/1.1 

Content-Type: application/json

{
    "events": [
        {
            "name": "Purchases",
            "event_name": "SPEND",
            "totals": {
                "is_frequency": false,
                "property_name": "amount"
            },
            "criteria": [
                {
                    "name": "A",
                    "property": {
                        "property": "venue.name",
                        "operator": "IS",
                        "value_list": [
                            "Costa Coffee Nicosia"
                        ]
                    }
                }
            ]
        }
    ]
}
Add Insight Filters
POST /insights/{id}/filters

Path variables

id
string required

Request body

Object
filters
Array
Object
name
string
type
string
Enumeration:
EVENT
CONTACT
property_name
string
operator
string

Use Operator

Enumeration:
IS
IS_NOT
BETWEEN
MORE_THAN
LESS_THAN
CONTAINS
DOES_NOT_CONTAIN
EQUAL
NOT_EQUAL
min_value
string
max_value
string
value_list
Array of string
Example:
Venue1,Venue2

Responses

201 Created
Example 1
POST https://sandbox.crm.com/backoffice/v1/insights/{id}/filters HTTP/1.1 

Content-Type: application/json

{
    "filters": [
        {
            "name": "",
            "type": "EVENT",
            "property_name": "",
            "operator": "IS_NOT",
            "min_value": "",
            "max_value": "",
            "value_list": [
                ""
            ]
        }
    ]
}

HTTP/1.1 201 Created 
Add Breakdowns
POST /insights/{id}/breakdowns

Path variables

id
string required

Request body

Object
breakdowns
Array
Object
name
string
type
string
Enumeration:
EVENT
CONTACT
property_name
string

name of the property to create the breakdown

Responses

201 Created
Example 1
POST https://sandbox.crm.com/backoffice/v1/insights/{id}/breakdowns HTTP/1.1 

Content-Type: application/json

{
    "breakdowns": [
        {
            "name": "",
            "type": "CONTACT",
            "property_name": ""
        }
    ]
}

HTTP/1.1 201 Created 
Get Results for an Insight
GET /insights/{id}/results

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
breakdown
Object
id
string

Temporary GUID to link child levels

Example:
guid123
parent_id
string

ID of previous level

level
integer

Level of breakdown level 0 = EVENTS

property_name
string

name of the property withing the group

Example:
venue.name
property_value
string
Example:
Costa Coffee Larnaca
count
integer

Number of points can be used for Frequency

amount
number

decimal amounts for the level

Example:
12.8
Example 1
Example 2
GET https://stagingapi.crm.com/backoffice/v1/insights/{id}/results HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "breakdown": {
                "id": "guid123",
                "parent_id": "",
                "level": 1,
                "property_name": "venue.name",
                "property_value": "Costa Coffee Larnaca",
                "count": 1,
                "amount": 12.8
            }
        }
    ]
}
GET https://stagingapi.crm.com/backoffice/v1/insights/{id}/results HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
  "content": [
    {
      "breakdown": {
        "id": "guid122",
        "parent_id": null,
        "level": 0,
        "property_name": "event",
        "property_value": "purchase",
        "count": 15,
        "amount": 36.8
      }
    },
    {
      "breakdown": {
        "id": "guid123",
        "parent_id": "guid122",
        "level": 1,
        "property_name": "venue.name",
        "property_value": "Costa Coffee Larnaca",
        "count": 1,
        "amount": 24.00
      }
    },
    {
      "breakdown": {
        "id": "guid124",
        "parent_id": "guid122",
        "level": 1,
        "property_name": "venue.name",
        "property_value": "Costa Coffee Nicosia",
        "count": 1,
        "amount": 12.80
      }
    } ,
    {
      "breakdown": {
        "id": "guid125",
        "parent_id": "guid123",
        "level": 2,
        "property_name": "product.family",
        "property_value": "COFFEE",
        "count": 3,
        "amount": 12.80
      }
    },
    {
      "breakdown": {
        "id": "guid126",
        "parent_id": "guid123",
        "level": 2,
        "property_name": "product.family",
        "property_value": "SANDWICH",
        "count": 2,
        "amount": 11.30
      }
    },
    {
      "breakdown": {
        "id": "guid127",
        "parent_id": "guid124",
        "level": 2,
        "property_name": "product.family",
        "property_value": "COFFEE",
        "count": 3,
        "amount": 12.80
      }
    },
    {
      "breakdown": {
        "id": "guid128",
        "parent_id": "guid125",
        "level": 3,
        "property_name": "product.sku",
        "property_value": "ABC1299",
        "count": 4,
        "amount": 12.80
      }
    },
    {
      "breakdown": {
        "id": "guid129",
        "parent_id": "guid126",
        "level": 3,
        "property_name": "product.sku",
        "property_value": "ABC1499",
        "count": 4,
        "amount": 11.30
      }
    },
    {
      "breakdown": {
        "id": "guid129",
        "parent_id": "guid127",
        "level": 3,
        "property_name": "product.sku",
        "property_value": "ABC1299",
        "count": 4,
        "amount": 12.80
      }
    }
  ]
}
Get Results - Breakdown
GET /insights/{id}/results

Path variables

id
string required

Request parameters

period
string optional

Enum for thhe period

Enumeration:
TODAY
WEEKLY
30DAYS

Responses

200 OK
Body
Object
content
Array
Object
breakdown
Object
id
string

Temporary GUID to link child levels

Example:
guid123
parent_id
string

ID of previous level

level
integer

Level of breakdown level 0 = EVENTS

property_name
string

name of the property withing the group

Example:
venue.name
data
Object

Data points for a given break-down

property_value
string
count
integer
amount
number
Get Distinct Values for an Insight property
GET /distincts

Get a list of distinct values for a contact or event property

Request parameters

collection
string optional

Contact or Event collectioons

Example:
CONTACT, EVENT
property_name
string optional

city

Responses

200 OK
Body
Array
Object
property_value
string

Value of the property

Example:
London
Example 1
GET https://sandbox.crm.com/backoffice/v1/distincts HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "property_value": "London"
    }
]
Integrations
POST /integrations/
PUT /integrations/{id}
DELETE /integrations/{id}
GET /integrations/
GET /integrations/{id}
Create Integration
POST /integrations/

Creates a new Integration point between CRM.COM and a 3rd party tool

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

A name for the new integration

Example:
Basic marketing tool
connector
string required

The 3rd party tool to integrate with

Enumeration:
MIXPANEL
MAILCHIMP
STRIPE
GOOGLE_PLACES
Example:
MAILCHIMP
endpoint
string required

The implementation’s endpoint

description
string

A description for the integration point

Example:
Utilise marketing tool
enabled
boolean

Defines if integration is enabled or not. Defaults to True

Example:
true
parameters
Array required

A set of parameters requird for successfully integrating with the 3rd party tool. At least one is required.

Object
key
string

The name of the parameter

Example:
API_key
value
string

The value of the parameter

Example:
abc-123-dfe-22111
label
string

The parameter’s label

Example:
API Key
type
string
Enumeration:
STRING
NUMBER
INTEGER

Responses

200 OK
Body
Object
id
string GUID

The integration identifier

Example:
F8F8E9DA009A4B70BCEEB113B183456D
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/integrations/ HTTP/1.1 

Content-Type: application/json

{
    "name": "Basic marketing tool",
    "connector": "MAILCHIMP",
    "endpoint": "",
    "description": "Utilise marketing tool",
    "enabled": "true",
    "parameters": [
        {
            "key": "API_key",
            "value": "abc-123-dfe-22111",
            "label": "API Key",
            "type": "STRING"
        }
    ]
}
Update Integration
PUT /integrations/{id}

Creates a new Integration point between CRM.COM and a 3rd party tool

Path variables

id
string GUID required

The integration identifier

Example:
87A08449A8784063814398C104452B27

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

A name for the new integration

Example:
Basic marketing tool
endpoint
string required

The implementation’s endpoint

description
string

A description for the integration point

Example:
Utilise marketing tool
enabled
boolean

Defines if integration is enabled or not.

Example:
true
parameters
Array
Object
key
string
value
string
label
string
type
string
Enumeration:
STRING
INTEGER
NUMBER

Responses

200 OK
Body
Object
id
string GUID

The integration identifier

Example:
87A08449A8784063814398C104452B27
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/integrations/87A08449A8784063814398C104452B27 HTTP/1.1 

Content-Type: application/json

{
    "name": "Basic marketing tool",
    "endpoint": "",
    "description": "Utilise marketing tool",
    "enabled": "true",
    "parameters": [
        {
            "key": "",
            "value": "",
            "label": "",
            "type": "NUMBER"
        }
    ]
}
Delete Integration
DELETE /integrations/{id}

Removes an existing Integration point between CRM.COM and a 3rd party tool

Path variables

id
string required

The integration’s GUID

Example:
87A08449A8784063814398C104452B27

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 OK
Body
Object
id
string

The GUID of the updated integration

Example:
87A08449A8784063814398C104452B27
Example 1
DELETE /integrations/87A08449A8784063814398C104452B27 HTTP/1.1 

Content-Type: application/json

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "87A08449A8784063814398C104452B27"
}
List Integrations
GET /integrations/

Retireves a list of configured integration points between CRM.COM and 3rd party tools (enabled or not)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string GUID

The integration’s uniqe identifier

Example:
F8F8E9DA009A4B70BCEEB113B183456D
name
string

The integration’s name

Example:
Marketing tool
description
string

The integration’s description

Example:
Default marketing tool used for forwarding email campaigns
connector
string

The 3rd party tool

Enumeration:
MIXPANEL
MAILCHIMP
Example:
MAILCHIMP
enabled
boolean

Indicates if integration is enabled or not

Example:
true
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /integrations/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "F8F8E9DA009A4B70BCEEB113B183456D",
    "name": "Marketing tool",
    "description": "Default marketing tool used for forwarding email campaigns",
    "connector": "MAILCHIMP",
    "enabled": "true"
}
Get Integration
GET /integrations/{id}

Retrieves a list of configured integration points between CRM.COM and 3rd party tools (enabled or not)

Path variables

id
string required

The integration’s GUID

Example:
87A08449A8784063814398C104452B27

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string GUID

The integration’s uniqe identifier

Example:
F8F8E9DA009A4B70BCEEB113B183456D
name
string

The integration’s name

Example:
Marketing tool
description
string

The integration’s description

Example:
Default marketing tool used for forwarding email campaigns
connector
string

The 3rd party tool

Enumeration:
MIXPANEL
MAILCHIMP
Example:
MAILCHIMP
enabled
boolean

Idnicates if integration is enabled or not

Example:
true
parameters
Array

A list of parameters required for the integration

Object
key
string

The name of the parameter

Example:
API_Key
value
string

The value of the parameter

Example:
123458449A8784063814398C104452B27
label
string

The parameter’s label

Example:
API key
type
string
Enumeration:
STRING
NUMBER
INTEGER
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /integrations/87A08449A8784063814398C104452B27 HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "F8F8E9DA009A4B70BCEEB113B183456D",
    "name": "Marketing tool",
    "description": "Default marketing tool used for forwarding email campaigns",
    "connector": "MAILCHIMP",
    "enabled": "true",
    "parameters": [
        {
            "key": "API_Key",
            "value": "123458449A8784063814398C104452B27",
            "label": "API key"
        }
    ]
}
Mixpanel
GET /cohorts
POST /cohorts/{id}/user_profiles
List Cohorts
GET /cohorts

Returns a list of Cohorts configured in Mixpanel. Any Cohort will then be avialable to be imported in CRM.COM as a segment

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
Example:
Great buyers
description
string
Example:
Customers with moe then £500 purchases during the last month
count
integer
Example:
159
created_date
integer
Example:
332222331111
Example 1
GET https://stagingapi.crm.com/backoffice/v1/cohorts HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content":[
        {    
            "id": "", 
            "name": "Great buyers",
            "description": "Customers with moe then £500 purchases during the last month",
            "count": 159,
            "created_date": 332222331111
        }
    ]
}
Import User Profiles
POST /cohorts/{id}/user_profiles

Creates a new segment within CRM.COM that includes all user profiles of a Mixpanel cohort. A single segment can be created per Web API call.

Path variables

id
string required

The unique identifier of the Mixpanel Cohort whose user profiles will be included in the segment

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string

The unique identifier of the newlly created segment

Example:
87A08449A8784063814398C104452B27
Example 1
POST https://stagingapi.crm.com/backoffice/v1/cohorts/{id}/user_profiles HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "87A08449A8784063814398C104452B27"
}
Mailchimp
POST /lists
Create List
POST /lists

Create a new segment in Mailchimp based on a CRM.COM segment

Request body

Object
id
string GUID required

The segment’s identifier

Example:
87A08449A8784063814398C104452B27

Responses

200 OK

Created

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /lists HTTP/1.1 

Content-Type: application/json

{
    "id": "87A08449A8784063814398C104452B27"
}

HTTP/1.1 201 Created 
Routing Rules
GET /routing_rules
PUT /routing_rules
Get Routing Rules
GET /routing_rules

Returns a list of the configured routing rules

Request parameters

payment_method_type
string optional
Enumeration:
CARD
PAYPAL
currency
string optional

The currency related to routing rule

country
string optional
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Responses

200 OK
Body
Object
content
Array
Object
id
string GUID

The routing rule identifier

Example:
F8F8E9DA009A4B70BCEEB113B183456D
connector
string

The routing rule’s payment gateway

Enumeration:
STRIPE
JCC
BRAINTREE
PAYPAL
payment_method_type
string
Enumeration:
CARD
PAYPAL
currency
string

The currency code applicable for this rule

countries
Array

The country code applicable for this rule

Unique items: YES
string
Example:
GR
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/routing_rules HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "F8F8E9DA009A4B70BCEEB113B183456D",
            "connector": "JCC",
            "payment_method_type": "PAYPAL",
            "currency": "",
            "countries": [ 
                "GR"
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Update Routing Rules
PUT /routing_rules

Updates the existing routing rules

Request body

Object
content
Array
Object
id
string
Example:
F8F8E9DA009A4B70BCEEB113B183456D
connector
string
Example:
JCC
payment_method_type
string
Example:
PAYPAL
currency
string
countries
Array
Example:
["GR"]
string
Example:
GR

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/routing_rules HTTP/1.1 

Content-Type: application/json

{
    "content": [
        {
            "id": "F8F8E9DA009A4B70BCEEB113B183456D",
            "connector": "JCC",
            "payment_method_type": "PAYPAL",
            "currency": "",
            "countries": [
                "GR"
            ]
        }
    ]
}

HTTP/1.1 200 OK 
Address Registry
GET /addresses
Address Lookup
GET /addresses

Returns a list of addresses based on the external address registry systems that CRM.COM integrates with

Request parameters

integration
string optional

The address registry that lookup will be performed

Enumeration:
GOOGLE
address
string required

The address that lookup will be performed against

Example:
The address that lookup will be performed against

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array

Information about the retrieved address lookups

Object
address
string

The full address as returned by the address registry

Example:
Elia Papakyriakou, Egkomi, 2415, Nicosia, Cyprus
address_line_1
string

The address information

Example:
Elia Papakyriakou 21
address_line_2
string

Additional address information about the address

Example:
7 Tower Stars
state_province_county
string

The state/province/county of the address

Example:
Egkomi
town_city
string

The town/city of the address

Example:
Nicosia
postal_code
string

The postal code of the address

Example:
2415
country_code
string

The country code of the address

Example:
CY
lan
number

The latitude of the address

Example:
12.98
lon
number

The longitude of the address

Example:
22.98
googlePlaceId
string

The Google textual identifier that uniquely identifies a location

Example:
ad23rwef2323f23f2f
types
Array

The Google types that will be retrieved

string
Examples:
BakeryAccounting
Example 1
GET https://sandbox.crm.com/backoffice/v1/addresses?address=The address that lookup will be performed against HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "address": "Elia Papakyriakou, Egkomi, 2415, Nicosia, Cyprus",
            "address_line_1": "Elia Papakyriakou 21",
            "address_line_2": "7 Tower Stars",
            "state_province_county": "Egkomi",
            "town_city": "Nicosia",
            "postal_code": "2415",
            "country_code": "CY",
            "lan": 12.98,
            "lon": 22.98,
            "googlePlaceId": "ad23rwef2323f23f2f",
            "types": [
                "Accounting"
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "address": "Elia Papakyriakou, Egkomi, 2415, Nicosia, Cyprus",
            "address_line_1": "Elia Papakyriakou 21",
            "address_line_2": "7 Tower Stars",
            "state_province_county": "Egkomi",
            "town_city": "Nicosia",
            "postal_code": "2415",
            "country_code": "CY",
            "lan": 12.98,
            "lon": 22.98,
            "googlePlaceId": "ad23rwef2323f23f2f",
            "types": [
                "Accounting"
            ]
        }
    ]
}
Media

Storing and managing of multiple creative assets for many entities

POST /media_group
POST /media/upload/signature
Create new Media Group
POST /media_group

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Upload Signature
POST /media/upload/signature

Create an Uploiad Signature

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
media_group_id
string

Media Group to associate the Media Item with once uploaded

Example:
e66896ba-db0a-41e2-8093-9aca2ae02f29
usage_type
string

The media usage type

Example:
THUMBNAIL
folder
string

The related Cloudinary folder

Example:
offers/hero
tracking_key
string

Key to track Upload

Example:
e66896

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/media/upload/signature HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "media_group_id": "e66896ba-db0a-41e2-8093-9aca2ae02f29",
    "usage_type": "THUMBNAIL",
    "folder": "offers/hero",
    "tracking_key": "e668"
}
Orders
POST /orders
PUT /orders/{id}
DELETE /orders/{id}
GET /orders/
GET /orders/{id}
PUT /orders/{id}/actions
Make an Order
POST /orders

Creates a new Order for a contact based on an order’s estimation

Notes

The following APIs should be called in order to make an order

  1. Order Fulfillment
  2. Orders
  3. Make an Order

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
estimation_id
string GUID
Example:
37b56acf-665c-1112-93fc-163b3639bcbe
payments
Array
Object
payment_method_type
string
Example:
CASH
paid_on
string
Example:
ON_ORDER
payment_method_id
string GUID
Example:
5d6c838c-ef87-703c-a587-844c94b61f71
amount
number
payment_token
string

Responses

200 200

OK

Body
Object
id
string GUID

The unique identifier of the new order

Example:
f3076649-5350-4215-9278-ba95452a72f7
number
string
estimated_delivery_time
Object
time_to_deliver
integer
Example:
20
uot
string
Example:
MINUTES
delivery_at
integer epoch

The actual delivery time

Example:
1599224678
fulfilled_by
Object
id
string GUID

The organisation identifier

Example:
f3076649-5350-4215-9278-ba95452a72f7
name
string

The name of the organisation

Example:
Bro Burgers
phone
string

The organisation’s phone number

Example:
+6934222321
address
Object

Information about the organisation’s location

id
string GUID

The location identifier

Example:
LOC123456234567345674567895678IK
name
string

The name of the location

Example:
Head Office
address_line_1
string

The address of the location

Example:
Elia Papakyriakou 21
address_line_2
string

Additional address information about the location

Example:
7 Tower Stars
state_province_county
string

The state/province/county of the location

Example:
Egkomi
town_city
string

The town/city of the location

Example:
Nicosia
postal_code
string

The postal code of the location

Example:
2415
country_code
string

The country code of the location

Example:
CY
care_of
string

The care of information of the location

lat
number

The latitude of the location

Example:
35.157115
lon
number

The longitude of the location

Example:
33.313719
googleplaceid
string

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/orders HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "estimation_id": "37b56acf-665c-1112-93fc-163b3639bcbe",
    "payments": [
        {
            "payment_method_type": "CASH",
            "paid_on": "ON_ORDER",
            "payment_method_id": "5d6c838c-ef87-703c-a587-844c94b61f71",
            "amount": 1,
            "payment_token": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "f3076649-5350-4215-9278-ba95452a72f7",
    "number": "",
    "estimated_delivery_time": {
        "time_to_deliver": 20,
        "uot": "MINUTES",
        "delivery_at": 1599224678
    },
    "fulfilled_by": {
        "id": "f3076649-5350-4215-9278-ba95452a72f7",
        "name": "Bro Burgers",
        "phone": "+6934222321",
        "address": {
            "id": "LOC123456234567345674567895678IK",
            "name": "Head Office",
            "address_line_1": "Elia Papakyriakou 21",
            "address_line_2": "7 Tower Stars",
            "state_province_county": "Egkomi",
            "town_city": "Nicosia",
            "postal_code": "2415",
            "country_code": "CY",
            "care_of": "",
            "lat": 35.157115,
            "lon": 33.313719,
            "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
        }
    }
}
Update Order
PUT /orders/{id}

Updates an existing (single) Order

Path variables

id
string GUID required

The order identifier that will be updated

Example:
f3076649-5350-4215-9278-ba95452a72f7

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
contact_id
string GUID
Example:
f3076649-5350-4215-9278-ba95452a72f7
account_id
string GUID
Example:
f3076649-5350-4215-9278-ba95452a7211
supply_method
string
Example:
DELIVERY
address
Object
use_primary
boolean
Example:
true
address_id
string
notes
string
fulfilled_by
string
category_id
string GUID
Example:
f3076649-5350-4215-9278-ba95452a72f7
order_items
Array
Object
product_id
string GUID
Example:
f3076649-5350-4215-9278-ba95452a72f7
quantity
integer
Example:
1
notes
string
components
Array
Object
product_id
string GUID
Example:
f3076649-5350-4215-9278-ba95452a72f7
quantity
integer
Example:
2
variant_attributes
Array
Object
key
string GUID
Example:
f3076649-5350-4215-9278-ba95452a72f7
value
string
Example:
Small
milestones
Array
Object
payment_method_type
string
Example:
CASH
paid_on
string
Example:
ON_COMPLETE
payment_method_id
string GUID
Example:
f3076649-5350-4215-9278-ba95452a72f7
requested_delivery
Object
time
integer
Example:
1
time_unit
string
Example:
HOURS
date
integer
Example:
1
custom_fields
Array
Object
key
string

The custom field’s unique key

Example:
back_office
value
string

The custom field’s value

Example:
0001-12345
Examples

Responses

200 OK
Body
Object
id
string GUID

The order identifier

Example:
f3076649-5350-4215-9278-ba95452a72f7
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://sandbox.crm.com/backoffice/v1/orders/f3076649-5350-4215-9278-ba95452a72f7 HTTP/1.1 

Content-Type: application/json

{
    "contact_id": "f3076649-5350-4215-9278-ba95452a72f7",
    "account_id": "f3076649-5350-4215-9278-ba95452a7211",
    "supply_method": "DELIVERY",
    "address": {
        "use_primary": true,
        "address_id": ""
    },
    "notes": "",
    "fulfilled_by": "",
    "category_id": "f3076649-5350-4215-9278-ba95452a72f7",
    "order_items": [
        {
            "product_id": "f3076649-5350-4215-9278-ba95452a72f7",
            "quantity": 1,
            "notes": "",
            "components": [
                {
                    "product_id": "f3076649-5350-4215-9278-ba95452a72f7",
                    "quantity": 2
                }
            ],
            "variant_attributes": [
                {
                    "key": "f3076649-5350-4215-9278-ba95452a72f7",
                    "value": "Small"
                }
            ]
        }
    ],
    "milestones": [
        {
            "payment_method_type": "CASH",
            "paid_on": "ON_COMPLETE",
            "payment_method_id": "f3076649-5350-4215-9278-ba95452a72f7"
        }
    ],
    "requested_delivery": {
        "time": 1,
        "time_unit": "HOURS",
        "date": 1
    },
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ]
}
Delete Order
DELETE /orders/{id}

Deletes an Order. A single order is deleted per Web API call

Path variables

id
string GUID required

The order identifier that will be deleted

Example:
f3076649-5350-4215-9278-ba95452a72f7

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Examples

Responses

200 OK
200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/orders/{id} HTTP/1.1 

Content-Type: application/json

HTTP/1.1 200 OK 
List Orders
GET /orders/

Returns a list of Orders

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
life_cycle_state
array of string optional
Collection format: csv
Unique items: YES
Examples:
NEW
PENDING
IN_PROGRESS
COMPLETED
CANCELLED
ON_HOLD
contact_id
string optional
is_favorite
string optional
from_date
integer epoch optional
to_date
integer epoch optional
fulfilled_by
string optional

The organisation that will fulfill the Order

assignee_organisation_id
string optional

The organisation assignee of an Order

assignee_user_id
string optional

The user assignee of an Order

search_value
string optional

Search for orders based on their number and contact name

include_order_items
boolean optional
Default:
false
include_address
boolean optional
Default:
false

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
number
string
life_cycle_state
string
Enumeration:
BEW
IN_PROGRESS
COMPLETED
CANCELLED
ON_HOLD
notes
string
number_of_milestones
integer
Example:
1
supply_method
string
Example:
DELIVERY
total_cost
number
Example:
5.99
currency
string
Example:
EUR
contact
Object
id
string
code
string
name
string
address
Object
address_line_1
string
address_line_2
string
state_province_county
string
town_city
string
postal_code
string
country
string
Example:
GR
category
Object
id
string
name
string
cancellation_reason
Object
id
string
name
string
fulfilled_by
Object
id
string
name
string
assignee
Object
user
Object
id
string
username
string
organisation
Object
id
string
name
string
order_items
Array
Object
id
string
notes
string
life_cycle_state
string
Example:
PENDING_DELIVERY
quantity
integer
Example:
1
product
Object
id
string
sku
string
name
string
quantity
integer
Example:
2
price
number
Example:
1.7
cost
number
Example:
3.4
components
Array
Object
id
string
sku
string
name
string
quantity
integer
Example:
1
price
number
Example:
0.5
variant_attributes
Array
Object
key
string
Example:
size
name
string
Example:
Size
value
string
Example:
Grande
key_dates
Object
submitted_on
integer
Example:
1
completed_on
integer
Example:
1
cancelled_on
integer
Example:
1
estimated_fulfillement_in
integer
Example:
30
estimated_fulfillment_UOT
string
Example:
MINUTES
estimated_fulfillement
integer
Example:
1
expires_on
integer
Example:
1
requested_date
integer
started_on
integer
number_of_items
integer

The number of items incldued in the Order

pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/orders/ HTTP/1.1 
Get Order
GET /orders/{id}

Retrieves detailed information of an Order. A single Order is retrieved per Web API call

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
number
string
Example:
ORDER1234
life_cycle_state
string
Enumeration:
NEW
IN_PROGRESS
COMPLETED
CANCELLED
ON_HOLD
notes
string
Example:
Lorem Ipsum
number_of_milestones
integer
Example:
1
supply_method
string
Example:
DELIVERY
total_cost
number
Example:
5.99
currency
string
Example:
EUR
is_favorite
boolean
Example:
true
number_of_items
integer
Example:
6
contact
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
code
string
Example:
1234
name
string
Example:
John Doe
address
Object
address_line_1
string
Example:
Elia Papakyriakou
address_line_2
string
Example:
7 Tower Stars
state_province_county
string
Example:
Egkomi
town_city
string
Example:
Nicosia
postal_code
string
Example:
2000
country
string
Example:
CY
lat
string

The latitide of the address

Example:
523654.098795
lon
string

The longtitude of the address

Example:
880932.981221
googleplaceid
string

The Google textual identifier that uniquely identifies a location

Example:
ad23rewf4472vnm90001
category
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
name
string
Example:
Seasonal
cancellation_reason
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
name
string
Example:
Placed by mistake
fulfilled_by
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
name
string
Example:
CRM Nicosia
assignee
Object
user
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
username
string
Example:
j_doe@crm.com
organisation
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
name
string
Example:
CRM Nicosia
order_items
Array
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
notes
string
Example:
Lorem Ipsum
life_cycle_state
string
Example:
PENDING_DELIVERY
quantity
integer
Example:
1
cost
integer
Example:
1
product
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
sku
string
Example:
SKU1234
name
string
Example:
Iced Latte
quantity
integer
Example:
2
price
number
Example:
1.7
cost
number
Example:
3.4
components
Array
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
sku
string
Example:
B1234
name
string
Example:
Brown Sugar
quantity
integer
Example:
1
price
number
Example:
0.5
variant_attributes
Array
Object
key
string
Example:
size
name
string
Example:
Size
value
string
Example:
Grande
key_dates
Object
submitted_on
integer
Example:
1592809457
completed_on
integer
Example:
1592809457
cancelled_on
integer
Example:
1592809457
estimated_fulfillment_in
integer
Example:
30
estimated_fulfillment_UOT
string
Example:
MINUTES
estimated_fulfillment
integer
Example:
1592809457
expires_on
integer
Example:
1592809457
started_on
string
requested_date
string
milestones
Array
Object
payment_method
string
Example:
CARD
paid_on
string
Example:
ON_COMPLETE
posted_on
integer
Example:
1234567
payment_method_details
Object
brand
string
Example:
VISA
last4
integer
Example:
1234
funding_type
string
Example:
Credit
invoice
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
number
string
Example:
INV1234
payment
Object
id
string
Example:
1866a75f-953e-4109-86b4-1cab53fbaaa8
number
string
Example:
PAY1234
custom_fields
Array
Object
key
string

The custom field’s unique key

Example:
back_office
value
string

The custom field’s value

Example:
0001-12345
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/orders/{id} HTTP/1.1 
Perform Order Actions
PUT /orders/{id}/actions

Create a new Order for an existing customer. A sginel order is created per Web API call

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string
Enumeration:
START_PROGRESS
PAUSE
RESUME
COMPLETE
CANCEL
REPEAT

Same order, for the same customer, same supply method, delivery address

MARK_FAVORITE
PRINT_ORDER

Print an order for preparation of order at a venue.

cancellation_reason_id
string

Applicable only on cancelling the order

is_favorite
boolean
Examples

Responses

200 OK
200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/orders/{id}/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "START_PROGRESS",
    "cancellation_reason_id": "",
    "is_favorite": true
}
Organisations
POST /organisations/register
POST /organisations/{id}/network
PUT /organisations/{id}
DELETE /organisations/{id}
GET /organisations/{id}/network
GET /organisations/{id}
POST /organisations/{id}/switch
GET /organisations/{id}/activity_feed
Register Organisation
POST /organisations/register

Creates a business semantic parent as the primary business.

Request headers

api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

application/json
Object
name
string required

The name of the organisation

Example:
Delicious Food Group
description
string nullable

A brief description of the organisation

Example:
Lorem Ipsum
vat_number
string nullable

The VAT number of the organisation

Example:
VAT123456789
org_type
string required

The type of the organisation

Enumeration:
OPERATOR
SERVICE_OWNER
BUSINESS
MERCHANT
VENUE
is_business
boolean required

Defines whether the organisation is the primary business of the business network

Example:
true
organisation_id
string GUID required

The parent organisation identifier that this organisation belongs to

Example:
4bd55b60-2c2a-d588-7a94-0890ced7e0ba
test_mode
boolean nullable

Determines whether the organisation record will be used for test purposes

Example:
false
is_sandbox_on
boolean nullable

Determines whether the sandbox mode is enabled or not

Example:
true
owner
Object required

Information about the owner (admin user) of the organisation

first_name
string required

The user’s first name

Example:
John
last_name
string required

The user’s last name

Example:
Doe
identity
Object nullable

Information about the owner’s identity

provider
string required

The provider of the identity

Enumeration:
EMAIL
PHONE
GOOGLE
FACEBOOK
identity_challenge
string required

The identity’s challenge

Example:
jd@crm.com
identity_value
string nullable

The identity’s value (e.g. password)

Example:
12345
contact_info
Array required

Information about the owner’s contact information

Object
name
string nullable

The name of the contact information

type
string required

The type of the contact information

Enumeration:
PHONE
EMAIL
EXTENSION
value
string required

The contact information value

Example:
4499885544
country_code
string nullable

The country code of the related contact info of type phone

Example:
CYP
location
Array

Information about the organisation’s location

Object

Information about the organisation’s location

name
string nullable

The name of the location

Example:
Head Office
address_line_1
string required

The address of the location

Example:
Elia Papakyriakou 21
address_line_2
string nullable

Additional address information about the location

Example:
7 Tower Stars
state_province_county
string nullable

The state/province/county of the location

Example:
Egkomi
town_city
string required

The town/city of the location

Example:
Nicosia
postal_code
string required

The postal code of the location

Example:
2415
country_code
string required

The country code of the location

Example:
CY
care_of
string nullable

The care of information of the location

lat
number nullable

The latitude of the location

Example:
35.157115
lon
number nullable

The longitude of the location

Example:
33.313719
googleplaceid
string nullable

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
currency_code
string nullable

The organisation’s base currency (applicable for service owner/business/subsidiary)

Default:
EUR
Example:
EUR

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisations/register HTTP/1.1 

Content-Type: application/json
api_key: 8c54d563-b991-4b76-8a83-557c08166f95

{
    "name": "Delicious Food Group",
    "description": "Lorem Ipsum",
    "vat_number": "VAT123456789",
    "org_type": "BUSINESS",
    "is_business": "true",
    "organisation_id": "11",
    "test_mode": "false",
    "is_sandbox_on": "true",
    "owner": {
        "first_name": "John",
        "last_name": "Doe",
        "contact_info": [
            {
                "name": "",
                "type": "EMAIL",
                "value": "4499885544"
            }
        ]
    },
    "location": [
        {
            "name": "Head Office",
            "address_line_1": "Elia Papakyriakou 21",
            "address_line_2": "7 Tower Stars",
            "state_province_county": "Egkomi",
            "town_city": "Nicosia",
            "postal_code": "2415",
            "country_code": "CY",
            "care_of": "",
            "lat": "35.157115",
            "lon": "33.313719",
            "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Expand Business Network
POST /organisations/{id}/network

Expand the business network with new organisations such as business and merchant

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

application/json
Object
org_type
string required

The type of the organisation

Enumeration:
OPERATOR
SERVICE_OWNER

Applicable on the level of a Cloud Operator

BUSINESS

Applicable on the level of a Service Owner

MERCHANT

Applicable on the level of a Business

VENUE

Applicable on the level of a Business or Merchant

name
string required

The name of the organisation

Example:
Delicious Food Group
description
string nullable

A brief description of the organisation

Example:
Lorem Ipsum
is_business
boolean required

Defines whether the organisation is the primary business of the network

Example:
true
is_sandbox_on
boolean nullable

Determines whether the sandbox mode is enabled or not

Example:
true
currency_code
string nullable

The organisation’s currency code (applicable for service owner/business/subsidiary)

Default:
EUR
Example:
EUR
industry_id
string GUID nullable

The organisation industry identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
industry_sectors
Array nullable

The organisation industry sectors

Unique items: YES
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
groups
Array nullable

The groups of the organisation (only Venues can be grouped)

Unique items: YES
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
owner
Object required

Information about the owner (admin user) of the organisation

first_name
string required

The user’s first name

Example:
John
last_name
string required

The user’s last name

Example:
Doe
identity
Object nullable

Information about the owner’s identity

provider
string required

The provider of the identity

Enumeration:
EMAIL
PHONE
GOOGLE
FACEBOOK
identity_challenge
string required

The identity’s challenge

Example:
jd@crm.com
identity_value
string nullable

The identity’s value (e.g. password)

Example:
12345
contact_info
Array required

Information about the owner’s contact information

Object
name
string nullable

The name of the contact information

type
string required

The type of the contact information

Enumeration:
PHONE
EMAIL
EXTENSION
value
string required

The contact information value

Example:
4499885544
country_code
string nullable

The country code of the related contact info of type phone

Example:
CYP
contact_info
Array nullable

Information about the organisation’s contact details

Unique items: YES
Object

Information about the owner (admin user) of the organisation

name
string nullable

The name of the contact information

Example:
Main Office
type
string required

The contact information type

Enumeration:
EMAIL
PHONE
value
string required

The contact information value

Example:
johndoe@deliciousfood.com
country_code
string nullable

The country code of the related contact detail of type phone

Example:
CYP
locations
Array nullable

Information about the organisation’s location

Unique items: YES
Object

Information about the organisation’s location

name
string nullable

The name of the location

Example:
Head Office
address_line_1
string required

The address of the location

Example:
Elia Papakyriakou 21
address_line_2
string nullable

Additional address information about the location

Example:
7 Tower Stars
state_province_county
string nullable

The state/province/county of the location

Example:
Egkomi
town_city
string required

The town/city of the location

Example:
Nicosia
postal_code
string required

The postal code of the location

Example:
2415
country_code
string required

The country code of the location

Example:
CY
care_of
string nullable

The care of information of the location

lat
number nullable

The latitude of the location

Example:
35.157115
lon
number nullable

The longitude of the location

Example:
33.313719
googleplaceid
string nullable

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
taps
Array nullable

Information about the organisation’s transaction acquiring points

Unique items: YES
Object

Information about the organisation’s external references

name
string required

The transaction acquiring point name

Example:
POS
code
string nullable

The transaction acquiring point code

Example:
02451
is_active
boolean nullable

Defines whether the transaction acquiring point is active or not

Default:
true
Example:
true
description
string

The transaction acquiring point description

Example:
pos system
business_activities
Array nullable

The organisation business activities

Unique items: YES
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
inherit_from_parent
boolean nullable

Defines whether the new organisation will have the same industry, industry sectors and business activities as its parent organisation

Example:
false
organisation_profile
Object

Details about the organisation profile

registration_number
string

The organisation’s registration number

Example:
1234
tax_reference_number
string

The organisation’s TAX reference number

Example:
TAX1234
vat_reference_number
string

The organisation’s VAT reference number

Example:
VAT1234
registration_country
string

The company’s registrationc country code

Example:
CYP
organisation_id
string GUID required

The parent organisation identifier that this organisation belongs to

Example:
e7251be4-89f2-8cea-7a4a-65b679cf6131
cloud_name
string required nullable

The name that the organisation will have on the cloud (applicable for Service Owner organisations; special characters not allowed)

Example:
crmdotcom
organisation_tags
Array nullable

The tags of the organisation

string
Example:
Accounting

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/network HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "org_type": "BUSINESS",
    "name": "Delicious Food Group",
    "description": "Lorem Ipsum",
    "vat_number": "VAT123456789",
    "is_account": "true",
    "is_sandbox_on": "true",
    "owner": {
        "first_name": "John",
        "last_name": "Doe",
        "identity": {
            "type": "EMAIL",
            "identity_challenge": "jd@crm.com",
            "identity_value": "12345"
        },
        "contact_info": [
            {
                "name": "",
                "type": "EMAIL",
                "value": "jd@crm.com"
            }
        ]
    },
    "contact_infos": [
        {
            "name": "Main Office",
            "type": "EMAIL",
            "value": "johndoe@deliciousfood.com"
        }
    ],
    "locations": [
        {
            "name": "Head Office",
            "address_line_1": "Elia Papakyriakou 21",
            "address_line_2": "7 Tower Stars",
            "state_province_county": "Egkomi",
            "town_city": "Nicosia",
            "postal_code": "2415",
            "country_code": "CY",
            "care_of": "",
            "lat": "35.157115",
            "lon": "33.313719",
            "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
        }
    ],
    "taps": [
        {
            "name": "POS",
            "code": "02451",
            "is_active": "true",
            "is_default": "true"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Organisation
PUT /organisations/{id}

Update a single organisation

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

It is possible to supply a partial body so that only supplied items will be updated.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

application/json
Object
name
string nullable

The name of the organisation

Example:
Delicious Food Group
description
string nullable

A brief description of the organisation

Example:
Lorem Ipsum
vat_number
string nullable

The VAT number of the organisation

Example:
VAT123456789
is_sandbox_on
boolean nullable

Determines whether the sandbox mode is enabled or not

Example:
true
contact_info
Array nullable

Information about the organisation’s contact details

Unique items: YES
Object
id
string GUID required nullable

The identifier of the organisation’s contact detail

Example:
CK1234567890123456789012345678
type
string required nullable

The type of the organisation’s contact detail

Enumeration:
EMAIL
PHONE
value
string required

The value of the organisation’s contact detail

Example:
info@crm.com
name
string nullable

The name of the organisation’s contact detail

Example:
Head Office
industry_id
string GUID nullable

The industry of the organisation

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
industry_sectors
Array nullable

The industry sectors of the organisation

Unique items: YES
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
business_activities
Array nullable

The business activities of the organisation

Unique items: YES
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
groups
Array nullable

The groups of the organisation (only Venues can be grouped)

Unique items: YES
string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
inherit_from_parent
boolean nullable

Defines whether the new organisation will have the same industry, industry sectors, business activities and reward tags as its parent organisation

Example:
false
organisation_profile
Object

Details about the organisation profile

registration_number
string

The organisation’s registration number

Example:
1234
tax_reference_number
string

The organisation’s TAX reference number

Example:
TAX1234
vat_reference_number
string

The organisation’s VAT reference number

Example:
VAT1234
registration_country
string

The company’s registrationc country code

Example:
CYP
cloud_name
string nullable

The name that the organisation will have on the cloud (applicable for Service Owner organisations; special characters not allowed)

Example:
crmdotcom
organisation_tags
Array nullable

The tags of the organisation

string
Example:
Accounting

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "name": "Delicious Food Group",
    "description": "Lorem Ipsum",
    "vat_number": "VAT123456789",
    "is_sandbox_on": "true",
    "contact_info": [
        {
            "id": "CK1234567890123456789012345678",
            "type": "PHONE",
            "value": "info@crm.com",
            "name": "Head Office"
        }
    ],
    "industry_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "industry_sectors": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "business_activities": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "groups": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "inherit_from_parent": "false"
}
Delete Organisation
DELETE /organisations/{id}

Removes an organisation

Path variables

id
string GUID required

The organisation identifier that will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 
List Organisations in Network
GET /organisations/{id}/network

Retrieve all organisations

Path variables

id
string required

Parent organisation whose child organisations will be retrieved

Request parameters

name
string optional

Filter based on the organisation’s name

Example:
Fantastic Dining
relationship
string optional

Filter based on the organisation’s relationship

Enumeration:
SERVICE_OWNER
BUSINESS
MERCHANT
VENUE
groups
array of string GUID optional

Filter based on the organisation’s group (only Venues can be grouped)

Collection format: csv
Unique items: YES
industries
array of string GUID optional

Filter based on the organisation’s industry

Collection format: csv
industry_sectors
array of string GUID optional

Filter based on the organisation’s industry sector

Collection format: csv
business_activities
array of string GUID optional

Filter based on the organisation’s business activity

Collection format: csv
areas
array of string optional

Filter based on the organisation’s area

Collection format: csv
countries
array of string optional

Filter based on the organisation’s country

Collection format: csv
child_count
array of string optional

Defines whether and which child organisations total number should be returned

Collection format: csv
Unique items: YES
creatives
array of string optional

List of Enums for Image Type

Collection format: csv
org_group
boolean optional

Defines whether the organisation group should be returned as part of the response

Example:
true
search_value
string optional

Defines the free text search parameter based on the provided type (e.g. name)

search_type
string optional

Defines the entitiy type that the search will be applied

Enumeration:
ORGANISATION
BUSINESS
MERCHANT
VENUE
VENUE_GROUP
BUSINESS_ACTIVITY
INDUSTRY
INDUSTRY_SECTOR
COUNTRY
AREA
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
users_count
boolean optional

Defines whether the total number that belong to such organisation should be retrieved (applicable for departments)

Example:
false

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array

Information about the business network of a business semantic parent organisation

Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisatio name

Example:
CRM.COM Cyprus
description
string

The organisation description

Example:
Lorem Ipsum
child_organisations
Array

Information about the child organisations

Unique items: YES
Object
relationship
string

Defines the relationship of the child organisation with the business semantic parent organisation

Enumeration:
SERVICE_OWNER
BUSINESS
MERCHANT
VENUE
count
integer

The total number of child organisations

Example:
21
groups
Array

Information about the organisation’s groups

Unique items: YES
Object
id
string GUID

The organisation group identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation group name

Example:
Seasonal
string
locations
Array

Information about the organisation’s location

Unique items: YES
Object

Information about the organisation’s location

id
string GUID

The location identifier

Example:
LOC123456234567345674567895678IK
name
string

The name of the location

Example:
Head Office
address_line_1
string

The address of the location

Example:
Elia Papakyriakou 21
address_line_2
string

Additional address information about the location

Example:
7 Tower Stars
state_province_county
string

The state/province/county of the location

Example:
Egkomi
town_city
string

The town/city of the location

Example:
Nicosia
postal_code
string

The postal code of the location

Example:
2415
country_code
string

The country code of the location

Example:
CY
care_of
string

The care of information of the location

lat
number

The latitude of the location

Example:
35.157115
lon
number

The longitude of the location

Example:
33.313719
googleplaceid
string

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
industry
Object

Information about the organisation’s industry

id
string GUID

The industry identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The industry name

Example:
Restaurant
industry_sectors
Array

Information about the organisaion’s industry sectors

Unique items: YES
Object
id
string GUID

The industry sector identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The industry sector name

Example:
Bar
business_activities
Array

Information about the organisaion’s business activities

Unique items: YES
Object
id
string GUID

The business activity identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The business activity name

Example:
Bar & Grill
users_count
integer

The total number of users for that organisation (applicable for departments)

Example:
24
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /organisations/{id}/network HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "CRM.COM Cyprus",
            "description": "Lorem Ipsum",
            "child_organisations": [
                {
                    "relationship": "MERCHANTS",
                    "count": 21
                }
            ],
            "locations": [
                {
                    "name": "Head Office",
                    "address_line_1": "Elia Papakyriakou 21",
                    "address_line_2": "7 Tower Stars",
                    "state_province_county": "Egkomi",
                    "town_city": "Nicosia",
                    "postal_code": "2415",
                    "country_code": "CY",
                    "care_of": "",
                    "lat": "35.157115",
                    "lon": "33.313719",
                    "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
                }
            ],
            "creatives": [
                {
                    "id": "CA123456789AQWSXZAQWS1236547896541",
                    "type": "PROFILEIMAGE",
                    "width": 2159,
                    "height": 3075,
                    "format": "jpg",
                    "url": "https://assets.crm.com/image/offer.jpg",
                    "public_id": "crm-com/image",
                    "media": [
                        {
                            "width": 200,
                            "height": 300,
                            "url": "https://asset.crm.com/image/offer/c_scale,w_200/offer.jpg"
                        }
                    ]
                }
            ],
            "industry": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Restaurant"
            },
            "industry_sectors": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "Bar"
                }
            ],
            "business_activities": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "Bar & Grill"
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Organisation
GET /organisations/{id}

Get details of a single Organisation

Path variables

id
string GUID required

The organisation identifier that will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation name

Example:
Delicious Bite
description
string

The organisation description

Example:
Lorem Ipsum
org_type
string

The organisation type

Enumeration:
OPERATOR
SERVICE_OWNER
BUSINESS
MERCHANT
VENUE
test_mode
boolean

Determines whether the organisation record will be used for test purposes

Example:
false
is_sandbox_on
boolean

Determines whether the sandbox mode is enabled or not

Example:
false
business_id
string

A unique identifier that identifies the primary business of the network. All child organisations of the primary business will have the same account_id as specified on their parent

Example:
11
is_business
boolean

Defines whether the organisation is the primary business of the business network

Example:
false
groups
Array

Information about the organisation’s groups

Unique items: YES
Object
id
string GUID

The organisation group identifier

Example:
OGD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation group name

Example:
Seasonal
contact_info
Array

Information about the organisation’s contact details

Unique items: YES
Object

Information about the owner (admin user) of the organisation

id
string GUId

The contact detail identifier

Example:
CON123456234567345674567895678IK
name
string

The contact detail name

Example:
Main Office
type
string

The contact detail type

Enumeration:
EMAIL
PHONE
value
string

The contact detail value

Example:
johndoe@deliciousfood.com
country_code
string

The country code related to the contact detail of type phone

Example:
CYP
locations
Array

Information about the organisation’s locations

Unique items: YES
Object

Information about the organisation’s location

id
string GUID

The location identifier

Example:
LOC123456234567345674567895678IK
name
string

The name of the location

Example:
Head Office
address_line_1
string

The address of the location

Example:
Elia Papakyriakou 21
address_line_2
string

Additional address information about the location

Example:
7 Tower Stars
state_province_county
string

The state/province/county of the location

Example:
Egkomi
town_city
string

The town/city of the location

Example:
Nicosia
postal_code
string

The postal code of the location

Example:
2415
country_code
string

The country code of the location

Example:
CY
care_of
string

The care of information of the location

lat
number

The latitude of the location

Example:
35.157115
lon
number

The longitude of the location

Example:
33.313719
googleplaceid
string

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
taps
Array

Information about the organisation’s transaction acquiring points (taps)

Unique items: YES
Object

Information about the organisation’s external references

id
string GUID

The transaction acquiring point identifier

Example:
TAP123456234567345674567895678IK
name
string

The transaction acquiring point name

Example:
ePOS
code
string

The transaction acquiring point code

Example:
EP12
is_active
boolean

Defines whether the transaction acquiring point is active or not

Example:
true
description
string

The transaction acquiring point description

Example:
electronic POS
industry
Object

Information about the organisation’s

id
string

The industry identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DRT
name
string

The industry name

Example:
Restaurant
industry_sectors
Array

Information about the organisation’s industry sectors

Unique items: YES
Object
id
string

The industry sector identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DWQ
name
string

The industry sector name

Example:
Bar
business_activities
Array

Information about the organisation’s business activities

Unique items: YES
Object
id
string

The bussiness activity identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DBU
name
string

The business activity name

Example:
Bar & Grill
inherit_from_parent
boolean

Defines whether the new organisation will have the same industry, industry sectors and business activities as its parent organisation

Example:
false
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
organisation_profile
Object

Details about the organisation profile

registration_number
string

The organisation’s registration number

Example:
1234
tax_reference_number
string

The organisation’s TAX reference number

Example:
TAX1234
vat_reference_number
string

The organisation’s VAT reference number

Example:
VAT1234
registration_country
string

The company’s registrationc country code

Example:
CYP
organisation_id
string GUID

The parent organisation identifier that this organisation belongs to

Example:
7e8e39de-2f80-d2fe-b1f9-25b0cf4b2fbf
cloud_name
string

The name that the organisation will have on the cloud (applicable for Service Owner organisations; special characters not allowed)

Example:
crmdotcom
organisation_tags
Array

The tags of the organisation

string
Example:
Accounting
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "name": "Delicious Bite",
    "description": "Lorem Ipsum",
    "org_type": "OPERATOR",
    "test_mode": "false",
    "is_sandbox_on": "false",
    "account_id": "11",
    "is_account": "false",
    "org_group": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Dining"
    },
    "contact_info": {
        "contact_info": [
            {
                "name": "Main Office",
                "type": "EMAIL",
                "value": "johndoe@deliciousfood.com"
            }
        ]
    },
    "locations": {
        "name": "Head Office",
        "address_line_1": "Elia Papakyriakou 21",
        "address_line_2": "7 Tower Stars",
        "state_province_county": "Egkomi",
        "town_city": "Nicosia",
        "postal_code": "2415",
        "country_code": "CY",
        "care_of": "",
        "lat": "35.157115",
        "lon": "33.313719",
        "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
    },
    "taps": [
        {
            "name": "POS Egkomis",
            "code": "P123",
            "is_active": "true"
        }
    ],
    "creatives": [
        {
            "id": "CA123456789AQWSXZAQWS1236547896541",
            "type": "ATTACHMENT",
            "width": 2159,
            "height": 3075,
            "format": "jpg",
            "url": "https://assets.crm.com/image/offer.jpg",
            "public_id": "crm-com/image",
            "media": [
                {
                    "width": 200,
                    "height": 300,
                    "url": "https://asset.crm.com/image/offer/c_scale,w_200/offer.jpg"
                }
            ]
        }
    ]
}
Switch Organisations
POST /organisations/{id}/switch

Switch the user to another organisation

Path variables

id
string GUID required

The organisation identifier that will be switched to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

As part of “masquerade” flow, the user will have the same role as the one from the initial organisation that such user signed in

As part of “changing organisations that an user belongs to” flow, the user will have a different role as assigned to him when he was invited to the organisation that was switched to

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/switch HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Get Organisation Activity Feed
GET /organisations/{id}/activity_feed

Get the activity feed of a single organisation

Path variables

id
string GUID required

The organisation identifier that the activity will be retrieved for

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

activity_type
string optional

The activity type

Enumeration:
INVOICE
PAYMENT
CREDIT_NOTE
REFUND
TOP_UP
created_date
integer epoch optional

The created date of the activity (no time)

Example:
1576486645
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
activity_feed
Array

Details about the activity feed

Object
id
string GUID

The activity (feed) identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The entity’s number

Example:
I10003
reference_number
string

The entity’s reference number

Example:
Ref12345678
code
string

The entity’s code

Example:
123456789ABE2364
state
string

The entity’s life cycle state

Example:
POSTED
created_date
integer epoch

The entity’s created date

Example:
1576486645
activity_type
string

The activity (feed) type

Example:
INVOICE
direction
string

The activity (feed) direction

Example:
OUTGOING
notes
string

The activity (feed) notes

Example:
This Invoice is created for November 2019
type
string

The entity’s type name

Example:
INVOICE
total_amount
integer

The entity’s total amount

Example:
200
currency
string

The entity’s currency

Example:
EUR
due_date
integer epoch

The entity’s due date in case of Invoices

Example:
1576486645
topup_entity
Object

The entity that the topup was performed for

id
string GUID

The top up identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The number or code of the topup entity

Example:
AC00123 John Johnson
type
string

The type of the topup entity

Example:
ACCOUNT
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/activity_feed HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "activity_feed": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "number": "I10003",
            "reference_number": "Ref12345678",
            "code": "123456789ABE2364",
            "state": "POSTED",
            "created_date": 1576486645,
            "activity_type": "INVOICE",
            "direction": "OUTGOING",
            "notes": "This Invoice is created for November 2019",
            "type": "INVOICE",
            "total_amount": 200,
            "currency": "EUR",
            "due_date": 1576486645,
            "topup_entity": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "number": "AC00123 John Johnson",
                "type": "ACCOUNT"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
API Keys
POST /organisations/{id}/apikeys
PUT /organisations/{id}/apikeys/{apikey_id}
DELETE /organisations/{id}/apikeys/{apikey_id}
GET /organisations/{id}/apikeys
GET /organisations/{id}/apikeys/{apikey_id}
POST /organisations/{id}/apikeys/{apikey_id}
Create API Key
POST /organisations/{id}/apikeys

Create an API Key for a specific organisation

Path variables

id
string GUID required

The organisation identifier where an API Key will be created

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

New API Keys are created as Active

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The api key name

Example:
Registration Portal
type
string required

Defines the type of the api key

Enumeration:
PUBLIC
SECRET

Responses

200 200

OK

Body
Object
id
string GUID

The api key identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
key
string

The non-encrypted secret key that will be used for subsuquent API authentication

Example:
123465789
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/apikeys HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Registration Portal",
    "environment": "TEST",
    "type": "SECRET"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "API1E31269B76D7A65ACCE45B2E68DFD",
    "key": "123465789"
}
Update API Key
PUT /organisations/{id}/apikeys/{apikey_id}

Update a single api key of a specific organisation

Path variables

id
string GUID required

The organisation identifier whose api key will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
apikey_id
string GUID required

The api key that will be updated

Example:
SEC1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The api key name

Example:
Registration Portal
is_active
boolean nullable

Defines whether the api key will be active or not

Example:
false

Responses

200 200

OK

Body
Object
id
string GUID

The api key identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/apikeys/SEC1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "name": "Registration Portal",
    "is_active": "false"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "API1E31269B76D7A65ACCE45B2E68DFD"
}
Delete API Key
DELETE /organisations/{id}/apikeys/{apikey_id}

Delete a single api key of a specific organisation

Path variables

id
string GUID required

The organisation whose api key will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
apikey_id
string GUID required

The api key that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/apikeys/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search API Keys
GET /organisations/{id}/apikeys

Retrieve all API Keys for a specific organisation

Path variables

id
string GUID required

The organisation identifier whose api keys will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

name
string optional

Filter based on the name

Example:
Registration Key
environment
string optional

Filter based on the environment

Enumeration:
TEST
LIVE
type
string optional

Filter based on the api key type

Enumeration:
PUBLIC
SECRET
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
is_default
boolean optional

Filters the default API Key

Example:
true

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information about the organisation’ api keys

Object
id
string GUID

The api key identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
name
string

The api key name

Example:
Registration Name
type
string

The api key type

Enumeration:
PUBLIC
SECRET
is_active
boolean

Defines whether the api (public or secret) key is active or not

Example:
true
public_key
string

The public api key’s value

Example:
API1E31269B76D
obfuscated
string

The secret api key obfuscated value

Example:
********MG12
encrypted
string

The secret api key encrypted value

Example:
qwertyasd123
active_end
integer epoch

Defines the date up until the secret api key will be active

Example:
1580292120
is_default
boolean

Defines if the api key is the default one (applicable only for public API keys)

Example:
false
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/apikeys HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "API1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Registration Name",
            "type": "PUBLIC",
            "is_active": "true",
            "public_key": "API1E31269B76D"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get API Key
GET /organisations/{id}/apikeys/{apikey_id}

Get details of a single API Key

Path variables

id
string GUID required

The organisation whose api keys will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
apikey_id
string GUID required

The api key identifier that will be retrieved

Example:
API1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information about the organisation’ api keys

Object
id
string GUID

The organisation’s api key identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
name
string

The api key name

Example:
Registration Key
type
string

The api key type

Enumeration:
PUBLIC
SECRET
is_active
boolean

Defines whether the api (public or secret) key is active or not

Example:
true
public_key
string

The public api key’s value

Example:
API1E31269B76D
obfuscated
string

The secret api key obfuscated value

Example:
********ML71
encrypted
string

The secret api key encrypted value

Example:
qwerty1234a8
active_end
integer

Defines the date up until the secret api key will be active

Example:
1580292120
is_default
boolean

Defines if the api key is the dwfault one (applicable only for public API keys)

Example:
false
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
Example 2

Retrieve details for a Public API Key

GET /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/apikeys/API1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "API1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Registration Key",
            "type": "PUBLIC",
            "is_active": "true",
            "public_key": "API1E31269B76D"
        }
    ]
}

Retrieve details for a Secret API Key

GET /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/apikeys/API1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "API1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Payment Gateway",
            "type": "SECRET",
            "is_active": "true",
            "obfuscated": "********ML71",
            "encrypted": "qwerty1234a8",
            "active_end": 1580292120
        }
    ]
}
Roll API Key
POST /organisations/{id}/apikeys/{apikey_id}

Roll a single api key of a specific organisation

Path variables

id
string GUID required

The organisation identifier whose api key will be rolled

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
apikey_id
string GUID required

The api key that will be rolled

Example:
API1E31269B76D7A65ACCE45B2E68DFD

Notes

Only secret keys can be rolled. The previous key will be revoked (and no longer can be used until expired), while a new one will be generated based on the GUID standard methods

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
expiry_date
integer epoch nullable

Defines up until when the api key will be valid (applicable only for secret api key)

Example:
1582034284

Responses

200 200

OK

Body
Object
id
string GUID

The organisation’s api key identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
key
string

The non-encrypted api key value that will be used for subsuquent API authentication

Example:
123456789
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/apikeys/API1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "API1E31269B76D7A65ACCE45B2E68DFD"
}
Business Activities
GET /organisations/business_activities
Search Business Activities
GET /organisations/business_activities

Search for organisation’s business activities

Request parameters

name
string optional

The business activity name

Example:
Bar & Grill

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array

Information about the business activities

Object
id
string GUID

The business activity identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The business activity name

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /organisations/businessactivities HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": ""
        }
    ]
}
Operation Details
PUT /organisations/{id}/operation_details
GET /organisations/{id}/operation_details
Set Operation Details
PUT /organisations/{id}/operation_details

Update an organisation’s opening hours

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

application/json
Object
opening_hours
Array nullable

Details about the organisation’s working hours

Object
day_of_week
string required

The day of the week that the organisation is open

Example:
SUNDAY
opens
string required

The time that the organisation opens

Example:
09:00
closes
string required

The time that the organisation closes

Example:
20:00
operation
string required

The opening hours for each organisation’s operation type

Enumeration:
DELIVERY
PICK_UP
ANY
short_term_operations
Array nullable

Details about the organisation’s availability to offer its services

Object
operation
string required

The organisation’s operation

Enumeration:
DELIVERY
PICK_UP
ANY
is_closed
boolean

Defines whether the organisation is temporary closed for offering its services

Example:
false

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/operation_details HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "opening_hours": [
        {
            "day_of_week": "MONDAY",
            "opens": "09:00",
            "closes": "20:00",
            "operation": "ANY"
        }
    ],
    "short_term_operations": [
        {
            "operation": "ANY",
            "is_closed": "false"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Get Operation Details
GET /organisations/{id}/operation_details

Update an organisation’s opening hours

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
opening_hours
Array

Details about the organisation’s working hours

Object
day_of_week
string

The day of the week that the organisation is open

Example:
MONDAY
opens
string

The time that the organisation opens

Example:
09:00
closes
string

The time that the organisation closes

Example:
20:00
operation
string

The opening hours for each organisation’s operation type

Enumeration:
DELIVERY
PICK_UP
ANY
short_term_operations
Array

Details about the organisation’s availability to offer its services

Object
operation
string

The organisation’s operation type

Enumeration:
DELIVERY
PICK_UP
is_closed
boolean

Defines whether the organisation is temporary closed for offering its services

Example:
false
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/operation_details HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "opening_hours": [
        {
            "day_of_week": "MONDAY",
            "opens": "09:00",
            "closes": "20:00",
            "operation": "PICK_UP"
        }
    ],
    "short_term_operations": [
        {
            "operation": "DELIVERY",
            "is_closed": "false"
        }
    ]
}
Organisation Groups
POST /organisationgroups
PUT /organisationgroups/{orggroup_id}
DELETE /organisationgroups/{orggroup_id}
GET /organisationgroups
GET /organisationgroups/{id}
Create Organisation Group
POST /organisationgroups

Create an organisation group

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The organisation group name

Example:
Seasonal
description
string nullable

The organisation group description

Example:
Lorem Ipsum

Responses

200 200

OK

Body
Object
id
string GUID

The organisation group identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisationgroups HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Seasonal",
    "description": "Lorem Ipsum"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Organisation Group
PUT /organisationgroups/{orggroup_id}

Update an existing organisation group

Path variables

orggroup_id
string GUID required

The organisation group identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The organisation group name

Example:
Seasonal
description
string nullable

The organisation group description

Example:
Lorem Ipsum

Responses

200 200

OK

Body
Object
id
string GUID

The organisation group identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /organisationgroups/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Seasonal",
    "description": "Lorem Ipsum"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete Organisation Group
DELETE /organisationgroups/{orggroup_id}

Delete an existing organisation group

Path variables

orggroup_id
string GUID required

The organisation group identifier that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /organisationgroups/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
List Organisation Groups
GET /organisationgroups

Retrieve all organisation groups

Request parameters

name
string optional

Filter based on the organisation group name

Example:
Nicosia Dinners

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information about the organisation groups

Object
id
string GUID

The organisation group identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation group name

Example:
Nicosia Dinners
description
string

The organisation group description

Example:
Lorem Ipsum
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /organisationgroups/ HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "API1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Nicosia Dinners",
            "description": "Lorem Ipsum"
        }
    ]
}
Get Organisation Group
GET /organisationgroups/{id}

Get details of a single organisation group

Path variables

id
string GUID required

The organisation group identifier whose secret key will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The organisation group identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation group name

Example:
Seasonal
description
string

The organisation group description

Example:
Lorem Ipsum
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /organisationgroups/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "API1E31269B76D7A65ACCE45B2E68DFD",
    "name": "Seasonal",
    "description": "true"
}
Organisation Locations
POST /organisations/{id}/locations
PUT /organisations/{id}/locations/{location_id}
DELETE /organisations/{id}/locations/{location_id}
Add Organisation Location
POST /organisations/{id}/locations

Add a new location for an existing Organisation

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The name of the location

Example:
Head Office
address_line_1
string required

The address of the location

Example:
Elia Papakyriakou 21
address_line_2
string nullable

Additional address information about the location

Example:
7 Tower Stars
state_province_county
string nullable

The state/province/county of the location

Example:
Egkomi
town_city
string required

The town/city of the location

Example:
Nicosia
postal_code
string required

The postal code of the location

Example:
2415
country_code
string required

The country of the location

Example:
CY
care_of
string nullable

The care of information of the location

lat
number nullable

The latitude of the location

Example:
33.313719
lon
number nullable

The longitude of the location

Example:
33.313719
googleplaceid
string nullable

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0

Responses

200 200

OK

Body
Object
id
string GUID

The organisation’s location identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/locations HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Head Office",
    "address_line_1": "Elia Papakyriakou 21",
    "address_line_2": "7 Tower Stars",
    "state_province_county": "Egkomi",
    "town_city": "Nicosia",
    "postal_code": "2415",
    "country_code": "CY",
    "care_of": "",
    "lat": "35.157115",
    "lon": "33.313719",
    "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Organisation Location
PUT /organisations/{id}/locations/{location_id}

Update a location for an existing Organisation

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
location_id
string GUID required

The organisation’s location that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The name of the location

Example:
Head Office
address_line_1
string nullable

The address of the location

Example:
Elia Papakyriakou 21
address_line_2
string nullable

Additional address information about the location

Example:
7 Tower Stars
state_province_county
string nullable

The state/province/county of the location

Example:
Egkomi
town_city
string nullable

The town/city of the location

Example:
Nicosia
postal_code
string nullable

The postal code of the location

Example:
2415
country_code
string nullable

The country of the location

Example:
CY
care_of
string nullable

The care of information of the location

lat
number nullable

The latitude of the location

Example:
35.157115
lon
number nullable

The longitude of the location

Example:
33.313719
googleplaceid
string nullable

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0

Responses

200 200

OK

Body
Object
id
string GUID

The organisation’s location identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/locationsCAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Head Office",
    "address_line_1": "Elia Papakyriakou 21",
    "address_line_2": "7 Tower Stars",
    "state_province_county": "Egkomi",
    "town_city": "Nicosia",
    "postal_code": "2415",
    "country_code": "CY",
    "care_of": "",
    "lat": "35.157115",
    "lon": "33.313719",
    "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete Organisation Location
DELETE /organisations/{id}/locations/{location_id}

Delete a location for an existing Organisation

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
location_id
string GUID required

The organisation’s location that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/locationsCAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Reward Commercial Terms
PUT /organisations/{id}/reward_commercial_terms
GET /organisations/{id}/reward_commercial_terms
Update Reward Commercial Terms
PUT /organisations/{id}/reward_commercial_terms

Update the reward commercial terms for a specific organisation

Path variables

id
string GUID required

The organisation identifier that reward commercial terms will be set

Example:
7cc1b26a-459f-4b47-a09f-6b121ae947da

Notes

Only users of Cloud Operator/Service Owner/Business/Subsidiary organisations can set a Reward Commercial Terms for a Merchant organisation Only Merchant Organisation can have a Reward Commercial Terms

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
state
string

Defines whether the organisation can contribute to the customers awards/spends

Enumeration:
BLOCKED
NOT_BLOCKED
reward_schemes
Array nullable

Defines the reward schemes that the organisation can contribute to the customers awards/spends

Unique items: YES
string GUID
Example:
7fdd1338-7064-4fe6-8f4f-0a02324d45c5
settlement_method
string nullable

Defines how the organisation will be settled

Enumeration:
ON_AWARD
ON_SPEND
Default:
ON_AWARD
management_fee
number nullable

Defines the management fee that the organisation contributes to the business on each award

Default:
0
Example:
99.99
default_contribution
number nullable

Defines the contribution fee that the organisation will cover on each award

Default:
100
Example:
99.99
explicit_contributions
Array nullable

Explicit contribution that will overwrite the default one

Object
type
string required

On which type the contribution will be applied

Enumeration:
REWARD_OFFER
id
string GUID required

The entity id on which the contribution will be applied

Example:
39081643-21b5-4782-a149-69a8bbc744be
contribution
number required

The explicitly defined contribution

Example:
49.99
credit_expired_awards
boolean

Defines whether expired (non spend) awards will be credited back

Example:
false
customer_selfservice_purchases
boolean

Defines whether customer self-service purchases will be supported

Default:
false
Example:
true

Responses

200 OK

Success

Body
Object
id
string GUID

The organisation identifier

Example:
7cc1b26a-459f-4b47-a09f-6b121ae947da
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/organisations/7cc1b26a-459f-4b47-a09f-6b121ae947da/reward_commercial_terms HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "is_blocked": "false",
    "reward_schemes": [
        "7fdd1338-7064-4fe6-8f4f-0a02324d45c5"
    ],
    "management_fee": 99.99,
    "default_contribution": 99.99,
    "credit_expired_awards": "true",
    "explicit_contributions": [
        {
            "type": "REWARD_OFFER",
            "id": "39081643-21b5-4782-a149-69a8bbc744be",
            "contribution": 49.99
        }
    ],
    "customer_selfservice_purchases": "true"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "7cc1b26a-459f-4b47-a09f-6b121ae947da"
}
Get Reward Commercial Terms
GET /organisations/{id}/reward_commercial_terms

Returns the reward commercial terms of an organisation

Path variables

id
string GUID required

The organisation identifier whose reward commercial terms will be retrieved

Example:
7cc1b26a-459f-4b47-a09f-6b121ae947da

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
state_details
Object

Details about the changes on the terms state

state
string

Defines whether the organisation can contribute to the customers awards/spends

Enumeration:
BLOCKED
NOT_BLOCKED
date
integer epoch

The date that the state has changed

Example:
1593607273
user
Object

The user that changed the state

id
string GUID

The user identifier

Example:
7454cc68-e855-4356-8984-377f8d77640a
name
string

The user name

Example:
John Doe
reward_schemes
Array

Defines the reward schemes that the organisation can contribute to the customers awards/spends

Example:
["7fdd1338-7064-4fe6-8f4f-0a02324d45c5"]
Object
id
string GUID

The reward scheme identifier

Example:
7fdd1338-7064-4fe6-8f4f-0a02324d45c5
name
string

The reward scheme name

Example:
CRM Loyalty
settlement_method
string

Defines how the organisation will be settled

Enumeration:
ON_AWARD
ON_SPEND
management_fee
number

Defines the management fee that the organisation contributes to the business on each award

Example:
99.99
default_contribution
number

Defines the contribution fee that the organisation will cover on each award

Example:
99.99
explicit_contributions
Array

Explicit contribution that will overwrite the default one

Object
type
string

On which entity type the contribution will be applied

Example:
REWARD_OFFER
id
string

The entity id that the contribution will be applied

Example:
39081643-21b5-4782-a149-69a8bbc744be
name
string

The entity name that the contribution will be applied

Example:
1% cashback on all products
contribution
number

The explicitly defined contribution

Example:
49.99
credit_expired_awards
boolean

Defines whether expired (non spend) awards will be credited back

Example:
false
customer_selfservice_purchases
boolean

Defines whether customer self-service purchases will be supported

Example:
true
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/organisations/7cc1b26a-459f-4b47-a09f-6b121ae947da/reward_commercial_terms HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "state_details": {
        "state": "NOT_BLOCKED",
        "date": 1593607273,
        "user": {
            "id": "7454cc68-e855-4356-8984-377f8d77640a",
            "name": "John Doe"
        }
    },
    "reward_schemes": [
        {
            "id": "7fdd1338-7064-4fe6-8f4f-0a02324d45c5",
            "name": "CRM Loyalty"
        }
    ],
    "settlement_method": "ON_AWARD",
    "management_fee": 99.99,
    "default_contribution": 99.99,
    "credit_expired_awards": "true",
    "explicit_contributions": [
        {
            "type": "REWARD_OFFER",
            "id": "39081643-21b5-4782-a149-69a8bbc744be",
            "name": "1% cashback on all products",
            "contribution": 49.99
        }
    ],
    "customer_selfservice_purchases": "true"
}
Transaction Acquiring Points
POST /organisations/{id}/taps
PUT /organisations/{id}/taps/{tap_id}
DELETE /organisations/{id}/taps/{tap_id}
GET /organisations/{id}/taps
GET /organisations/{id}/taps{tap_id}
Create Transaction Acquiring Point
POST /organisations/{id}/taps

Create a transaction acquiring point for an existing Organisation

Path variables

id
string GUID required

The organisation identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The transaction acquiring point name

Example:
POS01
code
string nullable

The transaction acquiring point code

Example:
123456789
is_active
boolean nullable

Determines whether the transaction acquiring point is active or not

Default:
true
Example:
true
description
string

The transaction acquiring point description

Example:
pos system
external_ip
string

External IP address of Device

Example:
82.102.93.164
external_port
string

Port of the External IP

Example:
9100
tap_type
string

Type of TAP

Enumeration:
GENERIC
POS
RECEIPT_PRINTER
CARD_TERMINAL

Responses

200 200

OK

Body
Object
id
string GUID

The organisation’s transaction acquiring point identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/taps HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "POS01",
    "value": "123456789",
    "is_active": "true"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Transaction Acquiring Point
PUT /organisations/{id}/taps/{tap_id}

Update a transaction acquiring point for an existing Organisation

Path variables

id
string GUID required

The organisation’s transaction acquiring point that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
tap_id
string GUID required

The transaction acquiring point that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
code
string nullable

The transaction acquiring point code

Example:
123456789
is_active
boolean nullable

Determines whether the transaction acquiring point is active or not

Example:
true
description
string

The transaction acquiring point description

Example:
pos system
external_ip
string

IP address of External Device

Example:
82.102.93.164
external_port
string

Port of the External IP

Example:
9100
tap_type
string

Type of TAP

Enumeration:
GENERIC
POS
RECEIPT_PRINTER
CARD_TERMINAL

Responses

200 200

OK

Body
Object
id
string GUID

The organisation’s transaction acquiring point identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/taps/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "value": "123456789",
    "is_active": "true"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete Transaction Acquiring Point
DELETE /organisations/{id}/taps/{tap_id}

Delete a transaction acquiring point for an existing organisation

Path variables

id
string GUID required

The organisation’s transaction acquiring point that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
tap_id
string GUID required

The transaction acquiring point that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/taps/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search Transaction Acquiring Points
GET /organisations/{id}/taps

Search transaction acquiring points for a specific organisation

Path variables

id
string GUID required

The organisation whose transaction acquiring point will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

search_value
string optional

The value of the search (case insensitive) across Name, Code

Example:
1234345356543423234234
name
string optional

The transaction acquiring point name

Example:
POS
code
string optional

The transaction acquiring point code

Example:
P01
is_active
boolean optional

Filters transaction acquiring points whether are active or not

Example:
true
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information about the transaction acquiring points of an organisation

Object
id
string GUID

The transaction acquiring point identifier

Example:
TAP1E31269B76D7A65ACCE45B2E68DFD
name
string

The transaction acquiring point name

Example:
POS
code
string

The transaction acquiring point code

Example:
P01
is_active
boolean

Defines whether the the transaction acquiring point is active or not

Example:
true
description
string

The transaction acquiring point description

Example:
pos system
external_ip
string

IP address of External Device

Example:
82.102.93.164
external_port
string

Port of the External IP

Example:
9100
tap_type
string

Type of TAP

Enumeration:
GENERIC
POS
RECEIPT_PRINTER
CARD_TERMINAL
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/taps HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "TAP1E31269B76D7A65ACCE45B2E68DFD",
            "name": "POS",
            "code": "P01",
            "is_active": "true",
            "description": "pos system"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Transaction Acquiring Point
GET /organisations/{id}/taps{tap_id}

Get details for a transaction acquiring point

Path variables

id
string GUID required

The organisation whose transaction acquiring point will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
tap_id
string GUID required

The transaction acquiring point that will be retrieved

Example:
TAP1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Object

Information about the transaction acquiring points of an organisation

id
string GUID

The transaction acquiring point identifier

Example:
TAP1E31269B76D7A65ACCE45B2E68DFD
name
string

The transaction acquiring point name

Example:
POS
code
string

The transaction acquiring point code

Example:
0012465
is_active
boolean

Defines whether the the transaction acquiring point is active or not

Example:
true
description
string

The transaction acquiring point description

Example:
pos system
external_ip
string

IP address of External Device

Example:
82.102.93.164
external_port
string

Port of the External IP

Example:
9100
tap_type
string

Type of TAP

Enumeration:
GENERIC
POS
RECEIPT_PRINTER
CARD_TERMINAL
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/tapsTAP1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": {
        "id": "TAP1E31269B76D7A65ACCE45B2E68DFD",
        "name": "POS",
        "code": "0012465",
        "is_active": "true",
        "description": "pos system"
    }
}
Organisation Payment Methods
POST /organisations/{id}/payment_methods
PUT /organisations/{id}/payment_methods/{payment_method_id}
DELETE /organisations/{id}/payment_methods/{payment_method_id}
GET /organisations/{id}/payment_methods
Add Payment Methods
POST /organisations/{id}/payment_methods

Add a new payment method for an organisation supports BANK, CREDIT / DEBIT cards, or Payment Gateways such as Paypal.

Path variables

id
string required

The organisation identifier or code that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
id
string

Unique identifier for the payment method, if not specified it will be auto generated

Example:
34234234-34343
payment_method_type
string required

The payment method’s type

Enumeration:
CARD
DIRECT_DEBIT
PAYPAL
WALLET
ACCOUNT
notes
string

Notes related to te payment method

Example:
some notes
is_primary
boolean

Marks the payment method as the organisation’s primary one

Example:
true
is_backup
boolean

Marks the payment method as the backup

Example:
false
bank_details
Object

The bank details.Required and applicable if the payment method is set to BANK

account_holder_name
string
Example:
John Doe
account_number
string

The bank account number. Either the bank account number or IBAN must be specified

Example:
001002001
iban
string

The IBAN code. Either the bank account number or IBAN must be specified

Example:
0143240434320434
sort_code
string
Example:
20-02-53
bank
string
Example:
Barclays
branch
string
Example:
Ascot
swift
string
Example:
12345678
card
Object

The card’s main information. Required and applicable if the payment method type is CARD

name
string

The card’s name

Example:
default card
brand
string

The card’s brand

Enumeration:
VISA
MASTERCARD
AMERICANEXPRESS
DINERSCLUB
DISCOVER
JCB
UNIONPAY
UNKOWN
card_number
string

Card number with obfsucated numbers.

Example:
492942******7004
first6
string

The first 6 digits of the card. Either the card number or the first 6 and last 4 digits must be specified

last4
string

The last 4 digits f the card. Either the card number or the first 6 and last 4 digits must be specified

fingerprint
string

Encrypted hashed version of the card for comparison only as a CIM

Example:
Xt5EWLLDS7FJjR1c
expiration_month
integer required
Example:
1
expiration_year
integer required
Example:
2020
card_holder_details
Object
card_holder_name
string required
Example:
Mrs M Smith
address_line_1
string
Example:
address_line_1
address_line_2
string
Example:
address_line_2
address_city
string
Example:
address_city
address_zip
string
Example:
address_zip
address_state
string
Example:
address_state
address_country
string
Example:
address_country
use_billing_address
boolean

If set to True, then the card holder’a address is automatically set using the account’s billing address

Example:
false
card_gateway_token
Array
Object
gateway
string

The payment gateway that tokenized the card

Example:
STRIPE,BRAINTREE,PAYEEZY,GENERIC
gateway_code
string

If using the Generic Gateway specify the implementation code given to you by CRM.COM

token
string required

The card token

Example:
123434556232134324
payment_gateway
Object

Use a payment gateway with an account such as PAYPAL. Required and applicable if payment method is set to PAYPAL

gateway
string required
Example:
PAYPAL
username
string required
Example:
bill@gmail.com

Responses

200 200

OK

Body
Object
id
string GUID

The payment method identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1

Add a Card payment method

POST https://stagingapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/payment_methods HTTP/1.1 

Content-Type: application/json

{
    "id": "34234234-34343",
    "payment_method_type": "CARD",
    "notes": "some notes",
    "is_primary": "true",
    "is_backup": "false",
    "bank_details": {
        "account_holder_name": "John Doe",
        "account_number": "001002001",
        "iban": "0143240434320434",
        "sort_code": "20-02-53",
        "bank": "Barclays",
        "branch": "Ascot",
        "swift": "12345678"
    },
    "card": {
        "name": "default card",
        "brand": "UNIONPAY",
        "card_number": "492942******7004",
        "first6": "",
        "last4": "",
        "fingerprint": "Xt5EWLLDS7FJjR1c",
        "expiration_month": 1,
        "expiration_year": 2020,
        "card_holder_details": {
            "card_holder_name": "Mrs M Smith",
            "address_line_1": "address_line_1",
            "address_line_2": "address_line_2",
            "address_city": "address_city",
            "address_zip": "address_zip",
            "address_state": "address_state",
            "address_country": "address_country",
            "use_billing_address": "false"
        },
        "card_gateway_token": [
            {
                "gateway": "STRIPE,BRAINTREE,PAYEEZY,GENERIC",
                "gateway_code": "",
                "token": "123434556232134324"
            }
        ]
    },
    "payment_gateway": {
        "gateway": "PAYPAL",
        "username": "bill@gmail.com"
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Payment Method
PUT /organisations/{id}/payment_methods/{payment_method_id}

Update an existing payment method for an organisation

Path variables

id
string required

The organisation identifier whose paymeny method will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
payment_method_id
string GUID required

The payment method identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
is_primary
boolean

Marks the payment method as the organisation’s primary one

Example:
true
is_backup
boolean

Marks the payment method as the backup

Example:
false
notes
string
Example:
some notes
bank_details
Object

The bank details.Required and applicable if the payment method is set to BANK

account_holder_name
string
Example:
John Doe
account_number
string

The bank account number. Either the bank account number or IBAN must be specified

Example:
001002001
iban
string

The IBAN code. Either the bank account number or IBAN must be specified

Example:
0143240434320434
sort_code
string
Example:
20-02-53
bank
string
Example:
Barclays
branch
string
Example:
Ascot
swift
string
Example:
12345678
card
Object

The card’s main information. Required and applicable if the payment method type is CARD

name
string

The card’s name

Example:
default card
brand
string

The card’s brand

Enumeration:
VISA
MASTERCARD
AMERICANEXPRESS
DINERSCLUB
DISCOVER
JCB
UNIONPAY
UNKOWN
card_number
string

Card number with obfsucated numbers.

Example:
492942******7004
first6
string

The first 6 digits of the card. Either the card number or the first 6 and last 4 digits must be specified

last4
string

The last 4 digits f the card. Either the card number or the first 6 and last 4 digits must be specified

fingerprint
string

Encrypted hashed version of the card for comparison only as a CIM

Example:
Xt5EWLLDS7FJjR1c
expiration_month
integer required
Example:
1
expiration_year
integer required
Example:
2020
card_holder_details
Object
card_holder_name
string required
Example:
Mrs M Smith
address_line_1
string
Example:
address_line_1
address_line_2
string
Example:
address_line_2
address_city
string
Example:
address_city
address_zip
string
Example:
address_zip
address_state
string
Example:
address_state
address_country
string
Example:
address_country
use_billing_address
boolean

If set to True, then the card holder’a address is automatically set using the account’s billing address

Example:
false
card_gateway_token
Array
Object
gateway
string

The payment gateway that tokenized the card

Example:
STRIPE,BRAINTREE,PAYEEZY,GENERIC
gateway_code
string

If using the Generic Gateway specify the implementation code given to you by CRM.COM

token
string required

The card token

Example:
123434556232134324
payment_gateway
Object

Use a payment gateway with an account such as PAYPAL. Required and applicable if payment method is set to PAYPAL

gateway
string required
Example:
PAYPAL
username
string required
Example:
bill@gmail.com

Responses

200 200

OK

Body
Object
id
string GUID

The payment method identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/payment_methods/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "is_primary": "true",
    "is_backup": "false",
    "notes": "some notes",
    "bank_details": {
        "account_holder_name": "John Doe",
        "account_number": "001002001",
        "iban": "0143240434320434",
        "sort_code": "20-02-53",
        "bank": "Barclays",
        "branch": "Ascot",
        "swift": "12345678"
    },
    "card": {
        "name": "default card",
        "brand": "JCB",
        "card_number": "492942******7004",
        "first6": "",
        "last4": "",
        "fingerprint": "Xt5EWLLDS7FJjR1c",
        "expiration_month": 1,
        "expiration_year": 2020,
        "card_holder_details": {
            "card_holder_name": "Mrs M Smith",
            "address_line_1": "address_line_1",
            "address_line_2": "address_line_2",
            "address_city": "address_city",
            "address_zip": "address_zip",
            "address_state": "address_state",
            "address_country": "address_country",
            "use_billing_address": "false"
        },
        "card_gateway_token": [
            {
                "gateway": "STRIPE,BRAINTREE,PAYEEZY,GENERIC",
                "gateway_code": "",
                "token": "123434556232134324"
            }
        ]
    },
    "payment_gateway": {
        "gateway": "PAYPAL",
        "username": "bill@gmail.com"
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Remove Payment Method
DELETE /organisations/{id}/payment_methods/{payment_method_id}

Remove a payment method from an organisation

Path variables

id
string GUID required

The organisation identifier whose payment method will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
payment_method_id
string GUID required

The payment method identifier that will be removed

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/payment_methods/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

HTTP/1.1 200 OK 
List Payment Methods
GET /organisations/{id}/payment_methods

List of Payment methods allocated to an organisation.

Path variables

id
string GUID required

The organisation identifier whose payment methods will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
type
string optional
Enumeration:
CARD
DIRECT_DEBIT
PAYPAL
ACCOUNT
WALLET

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The payment method identifier

Example:
f21abc565467897543bcdefa12
payment_method_type
string
Enumeration:
CARD
DIRECT_DEBIT
PAYPAL
WALLET
ACCOUNT
is_primary
boolean

Indicates which payment mehod is the organisation’s primary one

Example:
true
is_backup
boolean

Indicates which payment mehod is the organistaion’s backup one

Example:
false
notes
string

Notes related to the payment method

card
Object

The basic card information for Card payment methods

name
string
first6
string
last4
string
card_holder_details
Object
card_holder_name
string
address_line_1
string
address_line_2
string
address_city
string
address_zip
string
address_state
string
address_country
string
use_billing_address
boolean
gateway_token
Array
Object
gateway_identifier
string
gateway
string
Enumeration:
JCC
STRIPE
token
string
Example:
123654789654
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/payment_methods HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "f21abc565467897543bcdefa12",
    "payment_method_type": "ACCOUNT",
    "is_primary": "true",
    "is_backup": "false",
    "payment_gateway_token": "anemail@email.com",
    "notes": "",
    "card": {
        "brand": "UNKNOWN",
        "last4": "",
        "funding_type": "CREDIT",
        "classification": {
            "id": "",
            "name": "Gold, Platinum, Student"
        }
    },
    "accounts": [
        {
            "id": "",
            "number": "",
            "name": ""
        }
    ],
    "classification": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "God card"
    }
}
Organisation Tags
POST /organisation_tags
PUT /organisation_tags/{id}
DELETE /organisation_tags/{id}
GET /organisation_tags
GET /organisation_tags/{id}
Create Organisation Tag
POST /organisation_tags

Create a new organisation tag

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The tag name

Example:
Restaurant

Responses

200 200

OK

Body
Object
id
string GUID

The tag identifier

Example:
178d86ab-3245-5b39-d145-f44e0ef61188
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/organisation_tags HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Restaurant"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "178d86ab-3245-5b39-d145-f44e0ef61188"
}
Update Organisation Tag
PUT /organisation_tags/{id}

Update a specific organisation tag

Path variables

id
string GUID required

The organisation tag that will be updated

Example:
a3dedbef-89e1-5783-ad78-2f0c91086ca5

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The tag name

Example:
Restaurant

Responses

200 200

OK

Body
Object
id
string GUID

The tag identifier

Example:
178d86ab-3245-5b39-d145-f44e0ef61188
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/organisation_tags/a3dedbef-89e1-5783-ad78-2f0c91086ca5 HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Restaurant"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "178d86ab-3245-5b39-d145-f44e0ef61188"
}
Delete Organisation Tag
DELETE /organisation_tags/{id}

Delete a specific organisation tag

Path variables

id
string GUID required

The organisation tag that will be deleted

Example:
a3dedbef-89e1-5783-ad78-2f0c91086ca5

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/organisation_tags/a3dedbef-89e1-5783-ad78-2f0c91086ca5 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
Search Organisation Tags
GET /organisation_tags

Search through all organisation tags

Request parameters

name
string optional

The organisation tag name

Example:
Restaurantt
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
id
string GUID

The tag identifier

Example:
a3dedbef-89e1-5783-ad78-2f0c91086ca5
name
string

The tag name

Example:
Restaurant
owner
Object

Defines the organisation that owns the tag

id
string GUID

The organisation identifier

Example:
35f1b146-cb15-b5dd-763e-3f3be8b5a07e
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/organisation_tags HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "a3dedbef-89e1-5783-ad78-2f0c91086ca5",
            "name": "Restaurant"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Organisation Tag
GET /organisation_tags/{id}

Get details for a specific organisation tag

Path variables

id
string GUID required

The organisation tag to be retrieved

Example:
03e80aae-3613-078c-1aa4-3130de25140a

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The tag identifier

Example:
6ed98c88-ce30-b47d-0c75-dcfb8316c95a
name
string

The tag name

Example:
Restaurant
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/organisation_tags/03e80aae-3613-078c-1aa4-3130de25140a HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6ed98c88-ce30-b47d-0c75-dcfb8316c95a",
    "name": "Restaurant"
}
Financial Operations
POST /organisations/{id}/accounts
GET /organisations/{id}/accounts
POST /organisations/{id}/payment_methods
Organisation Account
POST /organisations/{id}/accounts

Path variables

id
string required

Request body

Object
name
string

Name of Account

Example:
USD Second Accont
currency_code
string
Example:
EUR
is_primary
string
Example:
false
billing_address_id
string
Example:
4AD9C84FA60F9FE407140E20F707726A
classification_id
string
Example:
4AD9C84FA60F9FE407140E20F707726A

Responses

201 Created
Body
Object
id
string

Guid of New Account

List Accounts
GET /organisations/{id}/accounts

Path variables

id
string required

Responses

200 OK
Body
Object
accounts
Array
Object
id
string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
is_primary
boolean
Example:
true
name
string
Example:
Default
number
string
Example:
AC123456
life_cycle _state
string
Example:
ACTIVE
currency_code
string
classification
Object
id
string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string
Example:
VIP
balance
integer
Example:
200
credit_limit
integer
Example:
100
overdue_amount
integer
Example:
50
billing_address_id
string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
wallet
Object
id
string
Example:
6A24D2B5E44F44B28451FE021FCAD51E
code
string
Example:
1234567898767543
balance
number
Example:
200.2
currency_code
string
Example:
EUR
life_cycle_state
string
Example:
CANCELLED
Payment Method
POST /organisations/{id}/payment_methods

Path variables

id
string required

Request body

Object
id
string
Example:
34234234-34343
payment_method_type
string
Example:
ACCOUNT
is_primary
string
Example:
true
is_backup
string
Example:
false
notes
string
Example:
Lorem Ipsum
bank_details
Object
account_holder_name
string
Example:
John Doe
account_number
string
Example:
001002001
sort_code
string
Example:
102491
iban
string
Example:
SE3550000000054910000003
bank
string
Example:
Barclays
branch
string
Example:
Ascot
swift
string
Example:
12345678
card
Object
name
string
Example:
Default Card
first6
string
Example:
42424242
last4
string
Example:
4242
card_holder_details
Object
card_holder_name
string
Example:
John Alias Doe
address_line_1
string
Example:
Elia Papakyriakou
address_line_2
string
Example:
Tower Stars
address_city
string
Example:
Nicosia
address_zip
string
Example:
2000
address_state
string
Example:
Egkomi
address_country
string
Example:
CY
use_billing_address
string
Example:
true
gateway_token
Array
Object
gateway_identifier
string
gateway
string
Example:
JCC
token
string
Example:
123654789654

Responses

201 Created
Passes
POST /pass_lots
GET /pass_lots
POST /pass_lots/{id}
PUT /passes
GET /passes
POST /passes
Create Pass Lot
POST /pass_lots

Create a pass lot for a single pass type

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
pass_type_id
string GUID

The ID of the pass type for which the LOT is created

Example:
4AD9C84FA60F9FE407140E20F707726A
printed
boolean

Defines whether the passes to be created as Printed

Example:
true
passes_number
integer

The number of passes to be created

Example:
3
value
number

The pass’s value. Applicable and mandatory if the value type of the pass type is set to VARIABLE and pass recipients will also be defined

recipient_information
Array

Defines the recipient information for each pass. Either recipients or segments can be provided

Object
name
string

The name of the recipient

Example:
John Johnson
medium_type
string

The medium by which the pass will be delivered

Enumeration:
EMAIL
SMS
POST
medium_value
string

The value of the address to be delivered to (email, phone or physical address)

Example:
test@crm.com
country_code
string

The country code of the phone (reqiured if the medium type is SMS)

Example:
CYP
segment_id
string GUID

Defines the segments of contacts to receive the pass. Either recipients or segments can be provided

Example:
4AD9C84FA60F9FE407140E20F707726A
segment_channel
string

Defines the channel by which the pass will be sent to the segments

Enumeration:
SMS
EMAIL

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the pass lot

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/pass_lots HTTP/1.1 

Content-Type: application/json

{
    "pass_type_id": "4AD9C84FA60F9FE407140E20F707726A",
    "printed": "true",
    "passes_number": 3,
    "value": 1,
    "recipient_information": [
        {
            "name": "John Johnson",
            "medium_type": "SMS",
            "medium_value": "test@crm.com",
            "country_code": "CYP"
        }
    ],
    "segment_id": "4AD9C84FA60F9FE407140E20F707726A",
    "segment_channel": "EMAIL"
}
List Pass Lots
GET /pass_lots

List all pass lots of a single pass type

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
from_date
integer epoch optional

The from date, to search for pass lots

Example:
1591796310
to_date
integer epoch optional

The to date, to search for pass lots

Example:
1591796310
pass_type_id
string GUID optional

The ID of the pass type that the LOTS belong to

Example:
4AD9C84FA60F9FE407140E20F707726A
pass_lot_id
string GUID optional

The ID of the pass LOT to be retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
pass_lot_id
string GUID

The ID of the pass lot

Example:
4AD9C84FA60F9FE407140E20F707726A
pass_type_id
string GUID

The ID of the pass type

Example:
4AD9C84FA60F9FE407140E20F707726A
printed
boolean

Defines whether the passes of this LOT are to be printed

Example:
true
passes_number
integer

Defines the number of passes that were created by this LOT

Example:
3
code
string

The code of the pass lot

Example:
1234569874563214
created_on
integer

The date and time that the pass lot was created

Example:
1595253575
created_by
string

The username of the user that created the lot

Example:
johnjohnson
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/pass_lots HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "pass_lot_id": "4AD9C84FA60F9FE407140E20F707726A",
            "pass_type_id": "4AD9C84FA60F9FE407140E20F707726A",
            "printed": true,
            "passes_number": 3,
            "code": "1234569874563214",
            "created_on": 1595253575,
            "created_by": "johnjohnson"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Export Lot Passes
POST /pass_lots/{id}

Export the generated passes of a LOT into a .csv file and send it to the logged in user.

Path variables

id
string GUID required

The ID of the Pass Lot to export its generated passes

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/pass_lots/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 
Update Passes
PUT /passes

Update the Life Cycle State and/or the expiration date of specific passes based on parameters

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
pass_lot_id
string GUID

The ID of the LOT whose passes will be updated. Either pass ID or LOT ID will be provided

Example:
4AD9C84FA60F9FE407140E20F707726A
pass_id
string GUID

The ID of the pass to be updated. Either pass ID or LOT ID will be provided

Example:
4AD9C84FA60F9FE407140E20F707726A
life_cycle_state
string

The life cycle state

Enumeration:
ACTIVATED
CANCELLED
expiration_date
integer

The new expiration date to be provided

Example:
1592919625

Responses

200 200

Successful Request

Body
Object
pass
Array

The IDs of the passes that were updated

string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/passes HTTP/1.1 

Content-Type: application/json

{
    "pass_lot_id": "4AD9C84FA60F9FE407140E20F707726A",
    "pass_id": "4AD9C84FA60F9FE407140E20F707726A",
    "life_cycle_state": "ACTIVATED",
    "expiration_date": 1592919625
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "pass": [
        "4AD9C84FA60F9FE407140E20F707726A"
    ]
}
List Passes
GET /passes

List a collection of passes based on parameters

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
expiration_date
integer epoch optional

The expiration date of the passes

Example:
1591796310
pass_type_id
string GUID optional

The ID of the pass type

Example:
4AD9C84FA60F9FE407140E20F707726A
pass_lot_id
string GUID optional

The ID of the pass LOT

Example:
4AD9C84FA60F9FE407140E20F707726A
life_cycle_state
string optional

The life cycle state of the passes

Enumeration:
DRAFT
ACTIVATED
CANCELLED
REDEEMED
printed
boolean optional

Whether the pass is printed or not

Example:
true
pass_id
string GUID optional

The ID of a single pass to get retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
pass_id
string GUID

The pass ID

Example:
4AD9C84FA60F9FE407140E20F707726A
code
string

The pass code

Example:
1231231231231231
pass_type
Object
id
string GUID

The pass type ID

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The pass type name

Example:
Xmas Gift Card
pass_lot_id
string GUID

The ID of the pass LOT that generated the pass

Example:
4AD9C84FA60F9FE407140E20F707726A
recipient
Object

The pass’ recipient (if applicable)

name
string

The recipient’s name

Example:
John Jonhson
medium_type
string

The medium that will deliver the voucher

Enumeration:
POST
SMS
EMAIL
medium_value
string

The address of the medium for delivering the pass (can be email, phone number or physical address)

Example:
test@crm.com
value
number

The pass value (if applicable)

Example:
100
currency
string

The currency of the pass

Example:
EUR
promotion_id
string GUID

The ID of the promotion that the pass will consume

Example:
4AD9C84FA60F9FE407140E20F707726A
reward_offer_id
string GUID

The ID of the reward offer that the pass will consume

Example:
4AD9C84FA60F9FE407140E20F707726A
expiration_date
integer epoch

The expiration date of the passes

Example:
1591796310
printed
boolean

Defines whether the pass will be printed

Example:
true
life_cycle_state
string

The pass’ life cycle state

Enumeration:
DRAFT
ACTIVATED
CANCELLED
REDEEMED
created_on
integer epoch
Example:
1591796310
created_by
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
updated_on
string epoch
Example:
1591796310
updated_by
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
validity
Object

The validity of the pass

type
string
Enumeration:
PERIOD
DATE
NEVER
period
integer

The validity period

Example:
1
uot
string

The UOT of the period

Enumeration:
DAY
MONTH
YEAR
to_date
integer epoch

The “valid until” date in case of DATE type

Example:
1591703675
usage
Object
allowed_usage
integer

The allowed times for the promotion pass to be used

Example:
2
used_times
integer

The actual times that the pass has been used

Example:
1
redemption_entity
Object
entity_type
string

The type of entity that the pass was redeemed against to

Enumeration:
WALLET
SUBSCRIPTION
ORDER
entity_id
string GUID

The ID of the entity that the pass was redeemed against to

Example:
4AD9C84FA60F9FE407140E20F707726A
pin
integer

The pass pin

Example:
1234
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/passes HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "pass_id": "4AD9C84FA60F9FE407140E20F707726A",
            "code": "1231231231231231",
            "pass_type": {
                "id": "4AD9C84FA60F9FE407140E20F707726A",
                "name": "Xmas Gift Card"
            },
            "pass_lot_id": "4AD9C84FA60F9FE407140E20F707726A",
            "recipient": {
                "name": "John Jonhson",
                "medium_type": "POST",
                "medium_value": "test@crm.com"
            },
            "value": 100,
            "currency": "EUR",
            "promotion_id": "4AD9C84FA60F9FE407140E20F707726A",
            "reward_offer_id": "4AD9C84FA60F9FE407140E20F707726A",
            "expiration_date": 1591796310,
            "printed": "true",
            "life_cycle_state": "REDEEMED",
            "created_on": 1591796310,
            "created_by": "4AD9C84FA60F9FE407140E20F707726A",
            "updated_on": "1591796310",
            "updated_by": "4AD9C84FA60F9FE407140E20F707726A",
            "validity": {
                "type": "PERIOD",
                "period": 1,
                "uot": "MONTH",
                "to_date": 1591703675
            },
            "usage": {
                "allowed_usage": 2,
                "used_times": 1
            },
            "redemption_entity": {
                "entity_type": "SUBSCRIPTION",
                "entity_id": "4AD9C84FA60F9FE407140E20F707726A"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Redeem Pass
POST /passes

Redeem a single pass against an entity

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
code
string

The pass code

Example:
1231231231231231
otp
string

The OTP (if applicable)

Example:
2345
redemption_entity
Object
entity_type
string

The type of entity that the pass was redeemed against to

Enumeration:
WALLET
SUBSCRIPTION
ORDER
entity_id
string GUID

The ID of the entity that the pass was redeemed against to

Example:
4AD9C84FA60F9FE407140E20F707726A
value
number

The value of the pass in case of VARIABLE value through the pass’ type

Example:
100
pin
integer

The pass pin

Example:
1234

Responses

200 200

Successful Request

Body
Object
id
string GUID

The ID of the pass that got redeemed

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/passes HTTP/1.1 

Content-Type: application/json

{
    "code": "1231231231231231",
    "otp": "2345",
    "redemption_entity": {
        "entity_type": "WALLET",
        "entity_id": "4AD9C84FA60F9FE407140E20F707726A"
    },
    "value": 100
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Product Catalog
POST /products/{id}/media_groups
Products
POST /products
PUT /products/{id}
DELETE /products/{id}
GET /products
GET /products/{id}
POST /synchronise_products
PUT /products/{id}/actions
Create Product
POST /products

Create a new product

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
sku
string
Example:
ABC-123
name
string
description
string
type_id
string
family_id
string
brand_id
string
category_id
string

to be deprecated and replaced with categories

categories
Array GUID

The supported categories for the product

string
Example:
12bb7786-e57a-2982-2ef9-185ee55b480b
is_stockable
boolean

Defines whether the product is a stockable product

Example:
true
is_traceable
boolean

Defines whether the product is a traceable product (applicable only in stockable products)

Example:
true
usage
string

The product’s usage (applicable only if product is stockable and traceable)

Enumeration:
PROVISIONABLE
BILLABLE
validity_setting
string
Enumeration:
ALWAYS_VALID
SPECIFIC_PERIOD
Default:
ALWAYS_VALID
validity_period
Object
from_date
integer
Example:
1
to_date
integer
Example:
1
upsells
Array of string
crosssells
Array of string
variant_attributes
Array
Object
key
string
Example:
size
value
string
Example:
Small
composition
Array
Object
classification
string
Example:
MODIFIER
item_type
string
Example:
PRODUCT
item_id
string
mandatory
boolean
Example:
true
minimum_quantity
integer
Example:
1
maximum_quantity
integer
Example:
3
price_inclusive
boolean
Example:
true
pricing
Object
rate_model
string
Example:
TIERED
price
number
Example:
9.99
currency
string
Example:
EUR
tax_model
string
Example:
TAX_INCLUSIVE
tiers
Array
Object
lower_tier
integer
Example:
1
upper_tier
integer
Example:
5
price
number
Example:
8.99

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The product identifier

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/products HTTP/1.1 

Content-Type: application/json

{
    "sku": "ABC-123",
    "name": "",
    "description": "",
    "type_id": "",
    "family_id": "",
    "brand_id": "",
    "category_id": "",
    "is_stockable": "true",
    "is_traceable": "true",
    "usage": "BILLABLE",
    "validity_setting": "ALWAYS_VALID",
    "validity_period": {
        "from_date": 1,
        "to_date": 1
    },
    "upsells": [
        ""
    ],
    "crosssells": [
        ""
    ],
    "variant_attributes": [
        {
            "key": "size",
            "value": "Small"
        }
    ],
    "composition": [
        {
            "classification": "MODIFIER",
            "item_type": "PRODUCT",
            "item_id": "",
            "mandatory": true,
            "minimum_quantity": 1,
            "maximum_quantity": 3,
            "price_inclusive": true
        }
    ],
    "pricing": {
        "rate_model": "TIERED",
        "price": 9.99,
        "currency": "EUR",
        "tax_model": "TAX_INCLUSIVE",
        "tiers": [
            {
                "lower_tier": 1,
                "upper_tier": 5,
                "price": 8.99
            }
        ]
    }
}
Update Product
PUT /products/{id}

Updates an existing product

Path variables

id
string GUID required

The product identifier that will be updated

Example:
22386309-7a21-8097-e107-6e9aec401840

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string
family_id
string
brand_id
string
category_id
string

to be replaced with categories

categories
Array GUID

The supported categories for the product

string
Example:
3302f723-01af-ecb7-b913-c3e649e35397
is_stockable
boolean

Defines whether the product is a stockable product

Example:
true
is_traceable
string

Defines whether the product is a traceable product (applicable only in stockable products)

Example:
true
validity_setting
string
Example:
ALWAYS_VALID
validity_period
Object
from_date
integer
to_date
integer
upsells
Array of string
crosssells
Array of string
variant_attributes
Array
Object
key
string
Example:
sze
value
string
composition
Array
Object
classfication
string
Example:
MODIFIER
item_type
string
Example:
PRODUCT
item_id
string
mandatory
boolean
Example:
true
minimum_quantity
integer
Example:
1
maximum_quantity
integer
Example:
3
price_inclusive
boolean
usage
string

The product’s usage (applicable only if product is stockable and traceable).Avaialble from V5.3

Enumeration:
BILLABLE
PROVISIONABLE

Responses

200 OK
Body
Object
id
string GUID
Example:
22386309-7a21-8097-e107-6e9aec401840
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://sandbox.crm.com/backoffice/v1/products/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "family_id": "",
    "brand_id": "",
    "category_id": "",
    "is_stockable": "true",
    "is_traceable": "true",
    "validity_setting": "ALWAYS_VALID",
    "validity_period": {
        "from_date": 1,
        "to_date": 1
    },
    "upsells": [
        ""
    ],
    "crosssells": [
        ""
    ],
    "variant_attributes": [
        {
            "key": "sze",
            "value": ""
        }
    ],
    "composition": [
        {
            "classfication": "MODIFIER",
            "item_type": "PRODUCT",
            "item_id": "",
            "mandatory": true,
            "minimum_quantity": 1,
            "maximum_quantity": 3,
            "price_inclusive": true
        }
    ],
    "usage": "PROVISIONABLE"
}
Delete Product
DELETE /products/{id}

Deletes an existing product

Path variables

id
string GUID required

The product identifier that will be deleted

Example:
22386309-7a21-8097-e107-6e9aec401840

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/products/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 
List Products
GET /products

Returns a list of products that can be sold to customers, along with their basic information and price. Variant produts are excluded by default.

Request parameters

type_id
string optional
category_id
string optional
brand_id
string optional
family_id
string optional
owned_by
string optional

The unique identifer of the organisation that owns the product

fulfilled_by
string optional

The unique dentifier of the organisation that will sell the product

contact_id
string optional
is_variant
boolean optional
Default:
false
search_value
string optional

Search for a product using its SKU, its name or description

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
composition
array of string optional
Collection format: csv
classification
array of string optional
Collection format: csv
include_creatives
boolean optional

Include Creatives in Response

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
7CD9C84FA60F9FE407140E20F707726A
sku
string
Example:
ABC12345
name
string
Example:
Base TV
description
string
Example:
Basic TV & myFlix
classification
string
Example:
TRACEABLE_PHYSICAL_GOOD
type_composition
string
Example:
FLAT
number_of_running_promotions
integer
Example:
3
number_of_components
integer
Example:
2
number_of_variant_attributes
integer
Example:
2
number_of_variants
integer
Example:
9
number_of_prices
integer
Example:
3
availability
string
Example:
IN_STOCK
valid_since
integer
Example:
123434343
is_variant
boolean
is_stockable
boolean

Defines whether the product is a stockable product

Example:
true
type
Object
id
string
name
string
brand
Object
id
string
name
string
family
Object
id
string
name
string
category
Object

to be replaced with categories

id
string
name
string
categories
Array

The product categories

Object
id
string

The category identifier

Example:
28de68a6-8c78-6684-4857-e42fcc51afe4
name
string

The category name

Example:
Coffee Milks
pricing
Object
price
number
Example:
9.99
currency
string
Example:
EUR
tax_model
string
Example:
TAX_EXCLUSIVE
rate_model
string
Example:
TIERED
price_terms
Object

Available from V5.3

termed_period
integer
Example:
1
termed_period_uot
string
Example:
MONTHS
billing_period
integer
Example:
12
billing_period_uot
string
Example:
MONTHS
trial_period
integer
Example:
7
trial_period_uot
string
Example:
DAYS
auto_renewed
boolean
Example:
true
price_model
string
Enumeration:
FIXED
VARIABLE
billing_model
string
Enumeration:
PRE_BILL
POST_BILL
tiers
Object
price
number
lower_tier
integer
upper_tier
integer
usage
string

The product’s usage (applicable only if product is stockable and traceable). Available from V5.3

Enumeration:
PROVISIONABLE
BILLABLE
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
Example 1
GET https://sandbox.crm.com/backoffice/v1/products HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "7CD9C84FA60F9FE407140E20F707726A",
            "sku": "ABC12345",
            "name": "Base TV",
            "description": "Basic TV & myFlix",
            "classification": "TRACEABLE_PHYSICAL_GOOD",
            "type_composition": "FLAT",
            "number_of_running_promotions": 3,
            "number_of_components": 2,
            "number_of_variant_attributes": 2,
            "number_of_variants": 9,
            "number_of_prices": 3,
            "availability": "IN_STOCK",
            "valid_since": 123434343,
            "is_variant": true,
            "is_stockable": "true",
            "type": {
                "id": "",
                "name": ""
            },
            "brand": {
                "id": "",
                "name": ""
            },
            "family": {
                "id": "",
                "name": ""
            },
            "category": {
                "id": "",
                "name": ""
            },
            "pricing": {
                "price": 9.99,
                "currency": "EUR",
                "tax_model": "TAX_EXCLUSIVE",
                "rate_model": "TIERED",
                "price_terms": {
                    "termed_period": 1,
                    "termed_period_uot": "MONTHS",
                    "billing_period": 12,
                    "billing_period_uot": "MONTHS",
                    "trial_period": 7,
                    "trial_period_uot": "DAYS",
                    "auto_renewed": true,
                    "price_model": "FIXED",
                    "billing_model": "PRE_BILL"
                },
                "tiers": {
                    "price": 1,
                    "lower_tier": 1,
                    "upper_tier": 1
                }
            },
            "usage": "BILLABLE",
            "creatives": [
                {
                    "id": "CA123456789AQWSXZAQWS1236547896541",
                    "usage_type": "PROFILEIMAGE",
                    "width": 2159,
                    "height": 3075,
                    "format": "jpg",
                    "url": "https://assets.crm.com/image/logo.jpg",
                    "public_id": "crm-com/image",
                    "media": [
                        {
                            "width": 200,
                            "height": 300,
                            "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                        }
                    ]
                }
            ]
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Product
GET /products/{id}

Retrieve detailed information for a specific product. Infromation fo a single product can be retrieved per Web API call.

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
Example:
7CD9C84FA60F9FE407140E20F707726A
sku
string
Example:
ABC12345
name
string
Example:
Base TV
description
string
Example:
Basic TV & myFlix
classification
string
Example:
TERMED_SERVICE
type_composition
string
Example:
FLEXIBLE_BUNDLE
is_variant
boolean
Example:
true
is_stockable
boolean

Defines whether the product is a stockable product

Example:
true
validity_setting
string
Example:
SPECIFIC_PERIOD
number_of_running_promotions
integer
Example:
2
number_of_variants
integer
Example:
3
number_of_variant_attributes
integer
Example:
2
type
Object
id
string
name
string
family
Object
id
string
name
string
brand
Object
id
string
name
string
category
Object

to be replaced with categories

id
string
name
string
categories
Array

The product categories

Object
id
string GUID

The category identifier

Example:
895e8910-ebc2-d6c5-fb49-84bf99176171
name
string

The category name

Example:
Coffee Milks
validity_periods
Array
Object
from_date
integer
Example:
1234234234
to_date
integer
Example:
23423423424
variant_attributes
Array
Object
id
string
key
string
Example:
SIZE
value
string
mandatory
boolean
Example:
true
label
string
composition
Array
Object
id
string
classification
string
Example:
ADDON
item_type
string
Enumeration:
PRODUCT
TYPE
FAMILY
CATEGORY
item_id
string
name
string
sku
string
mandatory
boolean
Example:
true
minimum_quantity
integer
Example:
1
maximum_quantity
integer
Example:
5
price_inclusive
boolean
Example:
true
upsells
Array
Object
id
string
sku
string
name
string
crosssells
Array
Object
id
string
sku
string
name
string
variants
Array
Object
id
string
sku
string
name
string
description
string
type
Object
id
string
name
string
variant_attributes
Array
Object
key
string
Example:
size
value
string
Example:
red
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
usage
string

The product’s usage (applicable only if product is stockable and traceable). Available from V5.3

Enumeration:
PROVISIONABLE
BILLABLE
composite_product
Object

Applicable only for variant products

id
string
sku
string
name
string
Example 1
GET https://sandbox.crm.com/backoffice/v1/products/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "7CD9C84FA60F9FE407140E20F707726A",
    "sku": "ABC12345",
    "name": "Base TV",
    "description": "Basic TV & myFlix",
    "classification": "TERMED_SERVICE",
    "type_composition": "FLEXIBLE_BUNDLE",
    "is_variant": true,
    "is_stockable": true,
    "validity_setting": "SPECIFIC_PERIOD",
    "number_of_running_promotions": 2,
    "number_of_variants": 3,
    "number_of_variant_attributes": 2,
    "type": {
        "id": "",
        "name": ""
    },
    "family": {
        "id": "",
        "name": ""
    },
    "brand": {
        "id": "",
        "name": ""
    },
    "category": {
        "id": "",
        "name": ""
    },
    "validity_periods": [
        {
            "from_date": 1234234234,
            "to_date": 23423423424
        }
    ],
    "variant_attributes": [
        {
            "id": "",
            "key": "SIZE",
            "value": "",
            "mandatory": true,
            "label": ""
        }
    ],
    "composition": [
        {
            "id": "",
            "classification": "ADDON",
            "item_type": "TYPE",
            "item_id": "",
            "name": "",
            "sku": "",
            "mandatory": true,
            "minimum_quantity": 1,
            "maximum_quantity": 5,
            "price_inclusive": true
        }
    ],
    "upsells": [
        {
            "id": "",
            "sku": "",
            "name": ""
        }
    ],
    "crosssells": [
        {
            "id": "",
            "sku": "",
            "name": ""
        }
    ],
    "variants": [
        {
            "id": "",
            "sku": "",
            "name": "",
            "description": "",
            "type": {
                "id": "",
                "name": ""
            },
            "variant_attributes": [
                {
                    "key": "size",
                    "value": "red"
                }
            ]
        }
    ],
    "creatives": [
        {
            "id": "CA123456789AQWSXZAQWS1236547896541",
            "usage_type": "PROFILEIMAGE",
            "width": 2159,
            "height": 3075,
            "format": "jpg",
            "url": "https://assets.crm.com/image/logo.jpg",
            "public_id": "crm-com/image",
            "media": [
                {
                    "width": 200,
                    "height": 300,
                    "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                }
            ]
        }
    ],
    "usage": "PROVISIONABLE",
    "composite_product": {
        "id": "",
        "sku": "",
        "name": ""
    }
}
Product Sync
POST /synchronise_products

Synchronise products information in CRM.COM with products information that exists in a 3rd party system, within a single Web API method call.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
products
Array
Object
sku
string required

The product sku

Example:
SKU0001
name
string nullable

The product name

Example:
Product Name
description
string nullable

The product description

Example:
Product Description
type
Object nullable

The product type

id
string GUID required nullable

The product type identifier (id or name should be specified)

Example:
d94ef0f0-59a1-aa28-b49d-0d1edcc864fe
name
string required nullable

The product type name (id or name should be specified)

Example:
Cold
brand
Object nullable

Details about the product brand

id
string GUID required nullable

The product brand identifier (id or name should be specified)

Example:
13b265cb-a607-5d22-1ce5-52ae3585fcdc
name
string required nullable

The product brand name (id or name should be specified)

Example:
Fresh Brew Inc
family
Object nullable

Details about the product family

id
string GUID required nullable

The product family identifier (id or name should be specified)

Example:
21f9ed6d-ff93-afce-c7f0-b1e96e6b8a04
name
string required nullable

The product family name (id or name should be specified)

Example:
Homebrew
categories
Array nullable

Details about the product categories

Object
id
string GUID required nullable

The product category identifier (id, name or code should be specified)

Example:
070631e8-c34b-9dd7-24e7-074cc5b3a7e8
name
string required nullable

The product category name (id, name or code should be specified)

Example:
Drinks
code
string required nullable

The product category code (id, name or code should be specified)

Example:
100
validity_period
Object nullable

Defines the period that the product will be valid (if not specified, will be always valid)

from_date
integer epoch nullable

The date from which the product will be valid

Example:
11598357038
to_date
integer epoch nullable

The date up to which the product will be valid

Example:
1598357038
tax_rate
Object nullable

Details about the product tax rate

id
string GUID required nullable

The tax rate identifier (id or name should be specified)

Example:
d1b59cfd-f3dd-1ae0-e96f-935d51ae66b0
name
string required nullable

The tax rate name (id or name should be specified)

Example:
5% Tax
pricing
Object nullable

Details about the product pricing

rate_model
string required

The pricing rate model

Example:
FLAT
tax_model
string

The pricing tax model

Example:
TAX_INCLUSIVE
price
number

The price (amount)

Example:
9.99
currency
string

The price currency (3 code)

Example:
EUR
tiers
Array nullable

Details about the pricing tiering (required for Tiered and Volume based rate models)

Object
lower_tier
integer required

The lowest tier

Example:
1
upper_tier
integer

The top tier

Example:
5
price
number required

The tier price (amount)

Example:
8.99
main_product_sku
string required nullable

The unique product sku of variant_attribute (required if the synced product is a variant attribute of another product)

Example:
SKU000A
variant_attributes
Array nullable

Details about the product variant attributess

Object
key
string required

The vairant key

Example:
size
value
string required

The variant attribute value

Example:
Medium
components
Array nullable

Details about the product components (applicable if the synced product is variant attribute or bundle)

Object
sku
string required nullable

The component product sku that will be used as component (sku or family, category or product type should be specified)

product_family
Object

The component product family that will be used as component (sku or family, category or product type should be specified)

id
string GUID required nullable

The product family identifier (id or name should be specified)

Example:
51d6fa52-791b-526d-d495-4ef05e190a2e
name
string required nullable

The product family name (id or name should be specified)

Example:
Brew Inc
product_type
Object

The component product type that will be used as component (sku or family, category or product type should be specified)

id
string GUID required nullable

The product type identifier (id or name should be specified)

Example:
51d6fa52-791b-526d-d495-4ef05e190a21
name
string required nullable

The product type name (id or name should be specified)

Example:
Dry
product_category
Object

The component product category that will be used as component (sku or family, category or product type should be specified)

id
string GUID required nullable

The product category identifier (id, name or code should be specified)

Example:
afef53f2-8690-ce50-1d13-8c93f39de977
name
string required nullable

The product category name (id, name or code should be specified)

Example:
Milks
code
string required nullable

The product category code (id, name or code should be specified)

Example:
500
inclusive
boolean nullable

Pricing is Inclusive

Default:
false
Example:
true
min_amount
integer nullable

The minimum number of components that should be added (applicable only for product family and type)

Default:
0
max_amount
integer nullable

The maximum number of components that should be added (applicable only for product family and type)

Default:
0
mandatory
boolean nullable

Defines whether the component is mandatory or not

Default:
false
Example:
true
classification
string nullable

The classification of the component

Enumeration:
ADDON

eg. A cookie that can be added with a coffee selection

MODIFIER

eg. Sugar that will be added in a coffee

creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg

Responses

200 200

OK

Body
Object
id
string GUID

A unique identifier of the Web API call which can be used for triggering the webhook and relate the api request to the webhook request (enables integrator to match the api request with the webhook request).

Example:
a781bbc1-9067-c384-52fe-43586f89110a
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/synchronise_products HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "products": [
        {
            "sku": "SUGAR001",
            "name": "Brown Sugar",
            "description": "Brown Sugar",
            "type": {
                "name": "Condiments"
            },
            "brand": {
                "name": "Fresh Sug"
            },
            "pricing": {
                "rate_model": "FLAT",
                "tax_model": "TAX_INCLUSIVE",
                "price": 1.99,
                "currency": "EUR"
            }
        },
        {
            "sku": "FREESP01",
            "name": "Freddo Espress0",
            "description": "Freddo Espresso",
            "type": {
                "name": "Wet"
            },
            "brand": {
                "name": "Fresh Brew Inc"
            },
            "family": {
                "name": "Homebrew"
            },
            "category": {
                "name": "Drinks"
            },
            "pricing": {
                "rate_model": "FLAT",
                "tax_model": "TAX_INCLUSIVE",
                "price": 4.99,
                "currency": "EUR"
            }
        },
         {
            "sku": "MFREESP01",
            "name": "Freddo Espresso Medio",
            "description": "Freddo Espresso Medio",
            "type": {
                "name": "Wet"
            },
            "brand": {
                "name": "Fresh Brew Inc"
            },
            "family": {
                "name": "Homebrew"
            },
            "category": {
                "name": "Drinks"
            },
            "pricing": {
                "rate_model": "FLAT",
                "tax_model": "TAX_INCLUSIVE",
                "price": 5.99,
                "currency": "EUR"
            },
            "main_product_sku": "FREESP01",
            "variant_attributes": [
                {
                    "key": "size",
                    "value": "Primo"
                },
                {
                    "key": "size",
                    "value": "Maximo"
                }
            ],
            "components": [
                {
                    "sku": "SUGAR001",
                    "inclusive": true,
                    "mandatory": true,
                    "classification": "MODIFIER"
                }
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "a781bbc1-9067-c384-52fe-43586f89110a"
}
Perform Product Actions
PUT /products/{id}/actions

Path variables

id
string required

The product’s unique identifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string
Enumeration:
ENABLE
DISABLE
organisations
Array of string

A list of unique organisation identifiers for which the product action is applied. Applicable only on Enabling/Disabling a product

Unique items: YES
supply_method
string

Applicable only on Enabling/Disabling a product.

Enumeration:
DELIVERY
PICK_UP
ON_SITE

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/products/{id}/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "ENABLE",
    "organisations": [
        ""
    ],
    "supply_method": "PICK_UP"
}
Product Variants
POST /products/{id}/variants
DELETE /products/{id}/variants/{variant_id}
GET /products/{id}/variants
Create Product Variants
POST /products/{id}/variants

Creates the Variant products of a composite product.

Path variables

id
string GUID required

The composite product’s unique idetifier

Example:
22386309-7a21-8097-e107-6e9aec401840

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
variants
Array

The variants of the product (product id and sku/name are semi-optional)

Object
product_id
string GUID required nullable

The existing product identifier that will be added as variant

Example:
704a96be-4bcf-f5cc-12a2-c5038e37d8c5
sku
string required nullable

The new product sku that will be added as variant

name
string required nullable

The new product name that will be added as variant

description
string nullable

The new product description that will be added as variant

variant_attributes
Array required

The variant attributes

Min items: 1
Object
key
string required

The variant key

Example:
size
value
string required

The variant value

Example:
Small

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The product variant identifier

Example:
22386309-7a21-8097-e107-6e9aec401840
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/products/22386309-7a21-8097-e107-6e9aec401840/variants HTTP/1.1 

Content-Type: application/json

{
    "variants": [
        {
            "sku": "",
            "name": "",
            "description": "",
            "variant_attributes": [
                {
                    "key": "size",
                    "value": "Small"
                }
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "22386309-7a21-8097-e107-6e9aec401840"
}
Remove Product Variant
DELETE /products/{id}/variants/{variant_id}

Path variables

id
string GUID required

The product’s unique idetifier

Example:
22386309-7a21-8097-e107-6e9aec401840
variant_id
string GUID required

The variant product’s unique identifer

Example:
22386309-7a21-8097-e107-6e9aec4018QQ

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/products/22386309-7a21-8097-e107-6e9aec401840/variants/22386309-7a21-8097-e107-6e9aec4018QQ HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
Get Product Variants
GET /products/{id}/variants

Returns the list of a composite product’s variants

Path variables

id
string GUID required

The product’s unique idetifier

Example:
22386309-7a21-8097-e107-6e9aec401840

Request parameters

supply_method
string optional

How the order will be supplied

Enumeration:
DELIVERY
PICK_UP
ON_SITE
fulfilled_by
string optional

The unique identifier of the organisation providing the product

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string
sku
string
name
string
description
string
type
Object
id
string
name
string
variant_attributes
Array
Object
key
string
Example:
size
value
string
Example:
Small
label
string
pricing
Array
Object
price
number
Example:
9.99
currency
string
Example:
EUR
rate_model
string
Example:
FLAT
tax_model
string
Example:
TAX_INCLUSIVE
supply_method
string
Example:
DELIVERY
taxes
Array
Object
id
string
name
string
tax_code
string
Example:
VAT
percentage
integer
Example:
1
creatives
Array
Object
id
string
Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string
Example:
PROFILEIMAGE
width
integer
Example:
2159
height
integer
Example:
3075
format
string
Example:
jpg
url
string
Example:
https://assets.crm.com/image/logo.jpg
public_id
string
Example:
crm-com/image
media
Array
Object
width
integer
Example:
200
height
integer
Example:
300
url
string
Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
availability
string
Example:
DISABLED
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/products/22386309-7a21-8097-e107-6e9aec401840/variants HTTP/1.1 
Product Components
POST /products/{id}/components
PUT /products/{id}/components/{component_id}
DELETE /products/{id}/components/{copmonent_id}
GET /products/{id}/components
Add Product Component
POST /products/{id}/components

Adds a new component in a flexible bundle product’s composition

Path variables

id
string GUID required

The product’s unique idetifier

Example:
22386309-7a21-8097-e107-6e9aec401840

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
item_type
string required
Enumeration:
PRODUCT
FAMILY
TYPE
CATEGORY
item_id
string required

The unique identifier of the prouct or prodct type or product family or product category, depending on item_type selection

classification
string
Enumeration:
ADDON
MODIFIER
mandatory
boolean

Applicable and required but only for product components.

Default:
false
Example:
true
minimum_quantity
integer

Applicable for product type/family/category components

Example:
1
maximum_quantity
integer

Applicable for product type/family/category components

Example:
5
price_inclusive
boolean

Defines whether the component’s price is included in the bundles price or not

Default:
false
Example:
true

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/products/{id}/components HTTP/1.1 

Content-Type: application/json

{
    "item_type": "FAMILY",
    "item_id": "",
    "classification": "ADDON",
    "mandatory": true,
    "minimum_quantity": 1,
    "maximum_quantity": 5,
    "price_inclusive": true
}
Update Product Component
PUT /products/{id}/components/{component_id}

Update an existing component in a bundle product

Path variables

id
string GUID required

The product’s unique idetifier

Example:
22386309-7a21-8097-e107-6e9aec401840
component_id
string GUID required
Example:
22386309-7a21-8097-e107-6e9aec4018QQ

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
classification
string
Example:
ADDON
mandatory
boolean
Example:
true
minimum_quantity
integer
Example:
1
maximum_quantity
integer
Example:
5
price_inclusive
boolean
Example:
true

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/products/{id}/components/{component_id} HTTP/1.1 

Content-Type: application/json

{
    "classification": "ADDON",
    "mandatory": true,
    "minimum_quantity": 1,
    "maximum_quantity": 5,
    "price_inclusive": true
}
Remove Product Component
DELETE /products/{id}/components/{copmonent_id}

Removes a component from a flexible product bundle

Path variables

id
string GUID required

The product’s unique idetifier

Example:
22386309-7a21-8097-e107-6e9aec401840
copmonent_id
string GUID required

The product component unique identifier

Example:
22386309-7a21-8097-e107-6e9aec401840

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/products/{id}/components/{copmonent_id} HTTP/1.1 

HTTP/1.1 204 No Content 
Get Product Components
GET /products/{id}/components

Returns a list of products that could be added as components of a flexible bundle

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
item_type
string
Enumeration:
PRODUCT
FAMILY
TYPE
CATEGORY
item_id
string
mandatory
boolean
Example:
true
name
string
classification
string
Example:
MODIFIER
price_inclusive
boolean
Example:
true
minimum_quantity
integer
Example:
1
maximum_quantity
integer
Example:
3
products
Array
Object
id
string
sku
string
name
string
description
string
pricing
Array
Object
price
number
Example:
9.99
currency
string
Example:
EUR
rate_model
string
Example:
FLAT
tax_model
string
Example:
TAX_INCLUSIVE
supply_method
string
Example:
DELIVERY
taxes
Array
Object
id
string
name
string
tax_code
string
Example:
VAT
percentage
integer
Example:
1
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/products/{id}/components HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        
        {
            "item_type": "PRODUCT",
            "item_id": "",
            "mandatory": true,
            "name": "",
            "classification": "MODIFIER",
            "price_inclusive": true,
            "minimum_quantity": 1,
            "maximum_quantity": 3,
            "products": [
                {
                    "id": "",
                    "sku": "",
                    "name": "",
                    "description": "",
                    "pricing": [
                        {
                            "price": 9.99,
                            "currency": "EUR",
                            "rate_model": "FLAT",
                            "tax_model": "TAX_INCLUSIVE",
                            "supply_method": "DELIVERY",
                            "taxes": [
                                {
                                    "id": "",
                                    "name": "",
                                    "tax_code": "VAT",
                                    "percentage": 1
                                }
                            ]
                        }
                    ],
                    "creatives": [
                        {
                            "id": "CA123456789AQWSXZAQWS1236547896541",
                            "type": "ATTACHMENT",
                            "width": 2159,
                            "height": 3075,
                            "format": "jpg",
                            "url": "https://assets.crm.com/image/logo.jpg",
                            "public_id": "crm-com/image",
                            "media": [
                                {
                                    "width": 200,
                                    "height": 300,
                                    "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
Pricing
POST /products/{id}/prices
PUT /products/{id}/prices
DELETE /products/{id}/prices/{price_id}
GET /products/{id}/prices
POST /product_families/{id}/prices
PUT /product_families/{id}/prices
DELETE /product_families/{id}/prices/{price_id}
GET /product_families/{id}/prices
Add Product Price
POST /products/{id}/prices

Adds new prices to a product.

Path variables

id
string required

The product’s unique idetifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Array
Object
price
number
Example:
9.99
currency
string
Example:
EUR
tax_model
string
Example:
TAX_INCLUSIVE
rate_model
string
Example:
TIERED
supply_method
string
Example:
DELIVERY
country
string
Example:
GRC
bundle_product_id
string
tiers
Array
Object
lower_tier
integer
Example:
1
upper_tier
integer
Example:
5
price
number
Example:
8.99
price_terms
Object

Available from V53

termed_period
integer
Example:
12
termed_period_uot
string
Example:
MONTHS
billing_period
integer
Example:
1
billing_period_uot
string
Example:
MONTHS
trial_period
integer
Example:
7
trial_period_uot
string
Example:
DAYS
auto_renewed
boolean
Example:
true
price_model
string
Enumeration:
FIXED
VARIABLE
billing_model
string
Enumeration:
PRE_BILL
POST_BILL

Responses

201 Created
Body
Object
id
string

The identifier of the new product price

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/products/{id}/prices HTTP/1.1 

Content-Type: application/json

[
    {
        "price": 9.99,
        "currency": "EUR",
        "tax_model": "TAX_INCLUSIVE",
        "rate_model": "TIERED",
        "supply_method": "DELIVERY",
        "country": "GRC",
        "bundle_product_id": "", 
        "tiers": [
            {
                "lower_tier": 1,
                "upper_tier": 5,
                "price": 8.99
            }
        ],
        "price_terms": {
            "termed_period": 12,
            "termed_period_uot": "MONTHS",
            "billing_period": 1,
            "billing_period_uot": "MONTHS",
            "trial_period": 7,
            "trial_period_uot": "DAYS",
            "auto_renewed": true,
            "price_model": "FIXED",
            "billing_model": "POST_BILL"
        }
    }
]
Update Product Price
PUT /products/{id}/prices

Path variables

id
string required

The product’s unique idetifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Array
Object
id
string

The unique identifier of the product price

price
number
Example:
9.99
currency
string
Example:
EUR
tax_model
string
Example:
TAX_INCLUSIVE
rate_model
string
Example:
TIERED
supply_method
string
Example:
DELIVERY
country
string
Example:
GRC
bundle_product_id
string
tiers
Array
Object
lower_tier
integer
Example:
1
upper_tier
integer
Example:
5
price
number
Example:
8.99
price_terms
Object

Available from V5.3

termed_period
integer
Example:
12
termed_period_uot
string
Example:
MONTHS
billing_period
integer
Example:
1
billing_period_uot
string
Example:
MONTHS
trial_period
integer
Example:
7
trial_period_uot
string
Example:
DAYS
auto_renewed
boolean
Example:
true
price_model
string
Enumeration:
FIXED
VARIABLE
billing_model
string
Enumeration:
PRE_BILL
POST_BILL

Responses

201 Created
Body
Object
id
string

The identifier of the updated product price

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/products/{id}/prices HTTP/1.1 

Content-Type: application/json

[
    {
        "id": "", 
        "price": 9.99,
        "currency": "EUR",
        "tax_model": "TAX_INCLUSIVE",
        "rate_model": "TIERED",
        "supply_method": "DELIVERY",
        "country": "GRC",
        "bundle_product_id": "",
        "tiers": [
            {
                "lower_tier": 1,
                "upper_tier": 5,
                "price": 8.99
            }
        ],
        "price_terms": {
            "termed_period": 12,
            "termed_period_uot": "MONTHS",
            "billing_period": 1,
            "billing_period_uot": "MONTHS",
            "trial_period": 7,
            "trial_period_uot": "DAYS",
            "auto_renewed": true,
            "price_model": "VARIABLE",
            "billing_model": "POST_BILL"
        }
    }
]

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": ""
}
Delete Product Price
DELETE /products/{id}/prices/{price_id}

Path variables

id
string required
price_id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 200

The request has succeeded

Example 1
DELETE https://devapi.crm.com/backoffice/v1/products/{id}/prices/{price_id} HTTP/1.1 

HTTP/1.1 200 OK 
List Product Prices
GET /products/{id}/prices

Get a list of all prices of a specific product

Path variables

id
string required

The product’s unique identifier

Request parameters

country
string optional
currency
string optional
rate_model
string optional

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Array
Object
id
string
group_id
string
rate_model
string
Example:
TIERED
price
number
Example:
9.99
currency
string
Example:
EUR
country
string
Example:
GRC
tax_model
string
Example:
TAX_INCLUSIVE
valid_since
integer
Example:
12345678
supply_method
string
Example:
DELIVERY
bundle_product
Object
id
string
sku
string
name
string
price_terms
Object

Applicable only for temed service products

termed_period
integer
Example:
12
termed_period_uot
string
Example:
MONTHS
billing_period
integer
Example:
1
billing_period_uot
string
Example:
MONTHS
trial_period
integer
Example:
7
trial_period_uot
string
Example:
DAYS
auto_renewed
boolean
Example:
true
price_model
string
Enumeration:
FIXED
VARIABLE
billing_model
string
Enumeration:
PRE_BILL
POST_BILL
tiers
Array
Object
price
number
Example:
9.99
lower_tier
integer
Example:
1
upper_tier
integer
Example:
5
Example 1
GET https://stagingapi.crm.com/backoffice/v1/products/{id}/prices HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "", 
        "group_id": "",
        "rate_model": "TIERED",
        "price": 9.99,
        "currency": "EUR",
        "country": "GRC",
        "tax_model": "TAX_INCLUSIVE",
        "valid_since": 12345678,
        "supply_method": "DELIVERY",
        "bundle_product": {
            "id": "",
            "sku": "",
            "name": ""
        },
        "price_terms": {
            "termed_period": 12,
            "termed_period_uot": "MONTHS",
            "billing_period": 1,
            "billing_period_uot": "MONTHS",
            "trial_period": 7,
            "trial_period_uot": "DAYS",
            "auto_renewed": true,
            "price_model": "FIXED",
            "billing_model": "PRE_BILL"
        },
        "tiers": [
            {
                "price": 9.99,
                "lower_tier": 1,
                "upper_tier": 5
            }
        ]
    }
]
Add Product Family Prices
POST /product_families/{id}/prices

Adds new prices to a product family.

Path variables

id
string required

The product family’s unique idetifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Array
Object
price
number
Example:
9.99
currency
string
Example:
EUR
tax_model
string
Example:
TAX_INCLUSIVE
rate_model
string
Example:
TIERED
supply_method
string
Example:
DELIVERY
country
string
Example:
GRC
tiers
Array
Object
lower_tier
integer
Example:
1
upper_tier
integer
Example:
5
price
number
Example:
8.99
price_terms
Object

Available from V5.3

termed_period
integer
Example:
12
termed_period_uot
string
Example:
MONTHS
billing_period
integer
Example:
1
billing_period_uot
string
Example:
MONTHS
trial_period
integer
Example:
7
trial_period_uot
string
Example:
DAYS
auto_renewed
boolean
Example:
true
price_model
string
Example:
FIXED
billing_model
string
Example:
PRE_BILL

Responses

201 Created
Body
Object
id
string

The identifier of the new product price

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/product_families/{id}/prices HTTP/1.1 

Content-Type: application/json

[
    {
        "price": 9.99,
        "currency": "EUR",
        "tax_model": "TAX_INCLUSIVE",
        "rate_model": "TIERED",
        "supply_method": "DELIVERY",
        "country": "GRC", 
        "tiers": [
            {
                "lower_tier": 1,
                "upper_tier": 5,
                "price": 8.99
            }
        ],
        "price_terms": {
            "termed_period": 12,
            "termed_period_uot": "MONTHS",
            "billing_period": 1,
            "billing_period_uot": "MONTHS",
            "trial_period": 7,
            "trial_period_uot": "DAYS",
            "auto_renewed": true,
            "price_model": "FIXED",
            "billing_model": "PRE_BILL"
        }
    }
]
Update Product Family Price
PUT /product_families/{id}/prices

Path variables

id
string required

The product family’s unique idetifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Array
Object
id
string
price
number
Example:
9.99
currency
string
Example:
EUR
tax_model
string
Example:
TAX_INCLUSIVE
rate_model
string
Example:
TIERED
supply_method
string
Example:
DELIVERY
country
string
Example:
GRC
tiers
Array
Object
lower_tier
integer
Example:
1
upper_tier
integer
Example:
5
price
number
Example:
8.99
price_terms
Object

Available from V5.3

termed_period
integer
Example:
12
termed_period_uot
string
Example:
MONTHS
billing_period
integer
Example:
1
billing_period_uot
string
Example:
MONTHS
trial_period
integer
Example:
7
trial_period_uot
string
Example:
DAYS
auto_renewed
boolean
Example:
true
price_model
string
Example:
FIXED
billing_model
string
Example:
PRE_BILL

Responses

201 Created
Body
Object
id
string

The identifier of the updated product price

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/product_families/{id}/prices HTTP/1.1 

Content-Type: application/json

[
    { 
        "id": "",
        "price": 9.99,
        "currency": "EUR",
        "tax_model": "TAX_INCLUSIVE",
        "rate_model": "TIERED",
        "supply_method": "DELIVERY",
        "country": "GRC",
        "tiers": [
            {
                "lower_tier": 1,
                "upper_tier": 5,
                "price": 8.99
            }
        ],
        "price_terms": {
            "termed_period": 12,
            "termed_period_uot": "MONTHS",
            "billing_period": 1,
            "billing_period_uot": "MONTHS",
            "trial_period": 7,
            "trial_period_uot": "DAYS",
            "auto_renewed": true,
            "price_model": "FIXED",
            "billing_model": "PRE_BILL"
        }
    }
]
Delete Product Family Price
DELETE /product_families/{id}/prices/{price_id}

Path variables

id
string required
price_id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 200

The request has succeeded

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/product_families/{id}/prices/{price_id} HTTP/1.1 

HTTP/1.1 200 OK 
List Product Family Prices
GET /product_families/{id}/prices

Get a list of all prices of a specific product family

Path variables

id
string required

The product family’s unique identifier

Request parameters

country
string optional
currency
string optional
rate_model
string optional

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Array
Object
id
string
group_id
string
rate_model
string
Example:
TIERED
price
number
Example:
9.99
currency
string
Example:
EUR
country
string
Example:
GRC
tax_model
string
Example:
TAX_INCLUSIVE
valid_since
integer
Example:
12345678
supply_method
string
Example:
DELIVERY
price_terms
Object

Available from V5.3

termed_period
integer
Example:
12
termed_period_uot
string
Example:
MONTHS
billing_period
integer
Example:
1
billing_period_uot
string
Example:
MONTHS
trial_period
integer
Example:
7
trial_period_uot
string
Example:
DAYS
auto_renewed
boolean
Example:
true
price_model
string
Enumeration:
FIXED
VARIABLE
billing_model
string
Enumeration:
PRE_BILL
POST_BILL
tiers
Array
Object
price
number
Example:
9.99
lower_tier
integer
Example:
1
upper_tier
integer
Example:
5
Example 1
GET https://stagingapi.crm.com/backoffice/v1/product_families/{id}/prices HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    { 
        "id": "",
        "group_id": "",
        "rate_model": "TIERED",
        "price": 9.99,
        "currency": "EUR",
        "country": "GRC",
        "tax_model": "TAX_INCLUSIVE",
        "valid_since": 12345678,
        "supply_method": "DELIVERY",
        "price_terms": {
            "termed_period": 12,
            "termed_period_uot": "MONTHS",
            "billing_period": 1,
            "billing_period_uot": "MONTHS",
            "trial_period": 7,
            "trial_period_uot": "DAYS",
            "auto_renewed": true,
            "pricing_method": "FIXED"
        },
        "tiers": [
            {
                "price": 9.99,
                "lower_tier": 1,
                "upper_tier": 5
            }
        ]
    }
]
Promotions
POST /promotions
PUT /promotions/{id}
DELETE /promotions/{id}
GET /promotions
GET /promotions/{id}
POST /promotions/{id}
PUT /promotions/{id}/actions
POST /promotions/{id}/offerings
GET /promotions/{id}/offerings
POST /promotions/{id}/conditions
GET /promotions/{id}/conditions
Create Promotion
POST /promotions

Creates a new Promotion.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
Example:
Sales season
type
string required
Example:
AUTO_APPLIED
short_description
string
Example:
£10 off
long_description
string
discount_option
string required
Example:
AMOUNT
discount_value
number required
validity_setting
string required
Example:
ALWAYS
availability
Object
from_date
integer
Example:
1234566
to_date
integer
Example:
1234566

Responses

201 Created
Body
Object
id
string

The unique identifier of the new offer

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/promotions HTTP/1.1 

Content-Type: application/json

{
    "name": "Sales season",
    "type": "AUTO_APPLIED",
    "short_description": "£10 off",
    "long_description": "",
    "discount_option": "AMOUNT",
    "discount_value": 1,
    "validity_setting": "ALWAYS",
    "availability": {
        "from_date": 1234566,
        "to_date": 1234566
    }
}
Update Promotion
PUT /promotions/{id}

Updates the abasic information of a promotion. A single promotion can be pdated per Web API call.

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
Example:
Sales season
short_description
string
Example:
£10 off
long_description
string
discount_option
string
Example:
PERCENTAGE
discount_value
number
validity_setting
string
Example:
SPECIFIC_PERIOD
availability
Array
Object
from_date
integer
Example:
1234566
to_date
integer
Example:
1234566

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated promotion

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/promotions/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "Sales season",
    "short_description": "£10 off",
    "long_description": "",
    "discount_option": "PERCENTAGE",
    "discount_value": 1,
    "validity_setting": "SPECIFIC_PERIOD",
    "availability": [
        {
            "from_date": 1234566,
            "to_date": 1234566
        }
    ]
}
Delete Promotion
DELETE /promotions/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/promotions/{id} HTTP/1.1 

HTTP/1.1 200 OK 
List Promotions
GET /promotions

Returns a list of promotions that can be applied per organisation, for specific period etc

Request parameters

organisations
array of string optional
Collection format: csv
Unique items: YES
disounted_items
array of string optional

Products that get a discount from the offers to be retrieved

Collection format: csv
Unique items: YES
id_type
string optional

Required if a list of discounted items is specified. Indicates if the item is a product or a product type, brand, family or category.

Enumeration:
SKU
TYPE
CATEGORY
FAMILY
BRAND
search_value
string optional

Search for an Offer using its name, type and description

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
7CD9C84FA60F9FE407140E20F707726A
type
string
Example:
AUTO_APPLIED
name
string
Example:
Sales season
short_description
string
long_description
string
life_cycle_state
string
Example:
INACTIVE
discount_setting
string
Example:
PERCENTAGE
discount_value
integer
Example:
5
availability
Object
from_date
integer
Example:
1
to_date
integer
Example:
1
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/promotions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        
        {
            "id": "7CD9C84FA60F9FE407140E20F707726A",
            "type": "AUTO_APPLIED",
            "name": "Sales season",
            "short_description": "",
            "long_description": "",
            "life_cycle_state": "INACTIVE",
            "discount_setting":"PERCENTAGE",
            "discount_value":5,
            "availability": {
                "from_date": 1,
                "to_date": 1
            },
            "creatives": [
                {
                    "id": "CA123456789AQWSXZAQWS1236547896541",
                    "type": "MARKETING",
                    "width": 2159,
                    "height": 3075,
                    "format": "jpg",
                    "url": "https://assets.crm.com/image/offer.jpg",
                    "public_id": "crm-com/image",
                    "media": [
                        {
                            "width": 200,
                            "height": 300,
                            "url": "https://asset.crm.com/image/offer/c_scale,w_200/offer.jpg"
                        }
                    ]
                }
            ]
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Promotion
GET /promotions/{id}

Retrieves detailed information for a Promotion

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
Example:
7CD9C84FA60F9FE407140E20F707726A
name
string
Example:
Sales season
type
string
Example:
AD_HOC
life_cycle_state
string
short_description
string
Example:
£10 off
long_description
string
discount_option
string
Example:
AMOUNT
discount_value
integer
Example:
5
availability
Object
from_date
integer
Example:
1234566
to_date
integer
Example:
1234566
offerings
Array
Object
order
integer
Example:
1
as_of
string
Example:
SUBSCRIPTION_EFFECTIVE_DATE
from_unit
integer
Example:
1
to_unit
integer
Example:
3
from_unit_type
string
Example:
MONTH
to_unit_type
string
Example:
MONTH
applied
Object
id
string
id_type
string
Example:
SKU
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
Example 1
GET https://devapi.crm.com/backoffice/v1/promotions/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "7CD9C84FA60F9FE407140E20F707726A",
    "name": "Sales season",
    "type": "AD_HOC",
    "life_cycle_state": "",
    "short_description": "£10 off",
    "long_description": "",
    "discount_option": "AMOUNT",
    "discount_value": 5,
    "availability": {
        "from_date": 1234566,
        "to_date": 1234566
    },
    "offerings": [
        {
            "order": 1,
            "as_of": "SUBSCRIPTION_EFFECTIVE_DATE",
            "from_unit": 1,
            "to_unit": 3,
            "from_unit_type": "MONTH",
            "to_unit_type": "MONTH",
            "applied": {
                "id": "",
                "id_type": "SKU"
            }
        }
    ],
    "creatives": [
        {
            "id": "CA123456789AQWSXZAQWS1236547896541",
            "type": "MARKETING",
            "width": 2159,
            "height": 3075,
            "format": "jpg",
            "url": "https://assets.crm.com/image/logo.jpg",
            "public_id": "crm-com/image",
            "media": [
                {
                    "width": 200,
                    "height": 300,
                    "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                }
            ]
        }
    ]
}
Copy Promotion
POST /promotions/{id}

Creates a new, copied version of a Promotion. A single promotion can be copied per Web API call.

Path variables

id
string required

The unique identifier of the promotion to be copied

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
Example:
Sales season
short_description
string
Example:
£10 off
long_description
string
discount_option
string
Example:
PERCENTAGE
discount_value
number
validity_setting
string
Example:
SPECIFIC_PERIOD
availability
Array
Object
from_date
integer
Example:
1234566
to_date
integer
Example:
1234566

Responses

200 OK
Body
Object
id
string

The unique identifier of the new promotion

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/promotions/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "Sales season",
    "short_description": "£10 off",
    "long_description": "",
    "discount_option": "PERCENTAGE",
    "discount_value": 1,
    "validity_setting": "SPECIFIC_PERIOD",
    "availability": [
        {
            "from_date": 1234566,
            "to_date": 1234566
        }
    ]
}
Perform Promotion Actions
PUT /promotions/{id}/actions

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
life_cycle_state
string
Enumeration:
ACTIVE
INACTIVE

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/promotions/{id}/actions HTTP/1.1 

Content-Type: application/json

{
    "life_cycle_state": "ACTIVE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Add Offerings
POST /promotions/{id}/offerings

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
id
string required
id_type
string required
Enumeration:
SKU
TYPE
BRAND
from_unit
integer
Example:
1
to_unit
integer
Example:
3
from_unit_type
string
Example:
MONTH
to_unit_type
string
Example:
MONTH
period_starts_from
string
Example:
BINDING_START

Responses

201 Created
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/promotions/{id}/offerings HTTP/1.1 

Content-Type: application/json

{
    "id": "",
    "id_type": "BRAND",
    "from_unit": 1,
    "to_unit": 3,
    "from_unit_type": "MONTH",
    "to_unit_type": "MONTH",
    "period_starts_from": "BINDING_START"
}
Get Offerings
GET /promotions/{id}/offerings

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
id
string required
id_type
string required
Enumeration:
SKU
TYPE
BRAND
from_unit
integer
Example:
1
to_unit
integer
Example:
3
from_unit_type
string
Example:
MONTH
to_unit_type
string
Example:
MONTH
period_starts_from
string
Example:
BINDING_START

Responses

200 OK
Body
Object
content
Array
Object
id
string
id_type
string
Example:
SKU
from_unit
integer
Example:
1
to_unit
integer
Example:
3
from_unit_type
string
Example:
MONTH
to_unit_type
string
Example:
MONTH
period_starts_from
string
Example:
BINDING_START
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/promotions/{id}/offerings HTTP/1.1 

Content-Type: application/json

{
    "id": "",
    "id_type": "BRAND",
    "from_unit": 1,
    "to_unit": 3,
    "from_unit_type": "MONTH",
    "to_unit_type": "MONTH",
    "period_starts_from": "BINDING_START"
}
Add Promotion Condition
POST /promotions/{id}/conditions

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
segments
Array of string
payment_methods
Array of string
purchases
Object
totals
Object

How many purchases and how long ago

min_number
integer
Example:
1
max_number
integer
Example:
5
period_duration
integer
Example:
90
period
string
Example:
DAYS
operator
string
Example:
AND
timings
Array

When the purchase was perfomed

Object
day
string
Example:
MONDAY
month
string
start_time
string
Example:
09:00
end_time
string
Example:
11:00
products
Array

Which products were purchased or being purchased now

Object
groups
Array
Object
group
string
Example:
G1
operator
string
Example:
AND
conditions
Array
Object
condition
string
Example:
C1
id
string
Example:
guid
id_type
string
Example:
FAMILY
min_qty
integer
Example:
1
max_qty
integer
Example:
5
period_duration
integer
Example:
90
period_unit
string
Example:
DAYS
ownership
string
Example:
AT_HAND
operator
string
Example:
AND

Responses

201 Created
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/promotions/{id}/conditions HTTP/1.1 

Content-Type: application/json

{
    "segments": [
        ""
    ],
    "payment_methods": [
        ""
    ],
    "purchases": {
        "totals": {
            "min_number": 1,
            "max_number": 5,
            "period_duration": 90,
            "period": "DAYS",
            "operator": "AND"
        },
        "timings":[
            {
                "day":"MONDAY",
                "month":"",
                "start_time":"09:00",
                "end_time":"11:00"
            }
            
        ],
        "products": [
            {
                "groups": [
                    {
                        "group": "G1",
                        "operator": "AND",
                        "conditions": [
                            {
                                "condition": "C1",
                                "id": "guid",
                                "id_type": "FAMILY",
                                "min_qty": 1,
                                "max_qty": 5,
                                "period_duration": 90,
                                "period_unit": "DAYS",
                                "ownership": "AT_HAND",
                                "operator": "AND"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
Get Promotion Conditions
GET /promotions/{id}/conditions

Retrieves detailed information for an Offer

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
segments
Array
Object
id
string
name
string
payment_methods
Array
Object
payment_method_type
string
Example:
CASH
purchases
Object
totals
Object
min_number
integer
Example:
1
max_number
integer
Example:
5
period_duration
integer
Example:
90
period
string
Example:
DAYS
operator
string
Example:
AND
timings
Array
Object
day
string
Example:
MONDAY
month
string
start_time
string
Example:
09:00
end_time
string
Example:
11:00
products
Array
Object
groups
Array
Object
group
string
Example:
G1
operator
string
Example:
AND
conditions
Array
Object
condition
string
Example:
C1
id
string
Example:
guid
id_type
string
Example:
FAMILY
min_qty
integer
Example:
1
max_qty
integer
Example:
5
period_duration
integer
Example:
90
period_unit
string
Example:
DAYS
ownership
string
Example:
AT_HAND
operator
string
Example:
AND
Example 1
GET https://devapi.crm.com/backoffice/v1/promotions/{id}/conditions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "segments": [
        ""
    ],
    "payment_methods": [
        ""
    ],
    "purchases": {
        "totals": {
            "min_number": 1,
            "max_number": 5,
            "period_duration": 90,
            "period": "DAYS",
            "operator": "AND"
        },
        "timings":[
            {
                "day":"MONDAY",
                "month":"",
                "start_time":"09:00",
                "end_time":"11:00"
            }
            
        ],
        "products": [
            {
                "groups": [
                    {
                        "group": "G1",
                        "operator": "AND",
                        "conditions": [
                            {
                                "condition": "C1",
                                "id": "guid",
                                "id_type": "FAMILY",
                                "min_qty": 1,
                                "max_qty": 5,
                                "period_duration": 90,
                                "period_unit": "DAYS",
                                "ownership": "AT_HAND",
                                "operator": "AND"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
Media Groups
POST /products/{id}/media_groups

Link a product with one or many Media Groups

Path variables

id
string required

Request body

Array
Object
media_group_id
string

Id of Media Group

Responses

201 Created
Body
Object
id
string

ID of product media_group.

Example 1
POST https://stagingapi.crm.com/backoffice/v1/products/{id}/media_groups HTTP/1.1 

Content-Type: application/json

[
    {
        "media_group_id": "ABC123"
    }
]

HTTP/1.1 201 Created 
Rewards
Reward Schemes
POST /reward_schemes
PUT /reward_schemes/{id}
GET /reward_schemes
GET /reward_schemes/{id}
POST /reward_schemes/{id}/life_cycle_state
Create Reward Scheme
POST /reward_schemes

Create a new reward scheme

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The reward scheme name

Example:
CRMdotCOM Scheme
description
string nullable

The reward scheme description

Example:
The main reward scheme of CRMdotCOM
sign_up_option
string required

Defines how customers can sign up to the reward scheme

Enumeration:
AUTO_SIGN_UP

Customers will sign up upon registration automatically

SELF_SIGN_UP

Customers can sign up manually

CLOSE_LOOP_SIGN_UP

Customers can be signed up on a selective and controlled manner (request to join), usually based on a third-party identification or domain specific emails

Default:
SELF_SIGN_UP
sign_up_code
string nullable

Defines whether close loop (controlled) sign ups will be validated based on a third-party identification (external system) or domain specific emails. Required if the sign up option = controlled sign up

Enumeration:
EXTERNAL_SYSTEM
EMAIL_DOMAIN
email_domains
Array nullable

Defines the supported email domains for close loop (controlled) sign ups based on domain. Required when the sign up token = email domain

string
Example:
crm.com
terms_and_conditions
string nullable

The reward scheme terms and conditions

Example:
Only customers that already have CRMdotCOM reward app can join this scheme

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/reward_schemes HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "CRMdotCOM Scheme",
    "description": "The main reward scheme of CRMdotCOM",
    "sign_up_option": "AUTO_SIGN_UP"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Reward Scheme
PUT /reward_schemes/{id}

Update an existing reward scheme

Path variables

id
string GUID required

The reward scheme identifer that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The reward scheme name

Example:
CRMdotCOM Scheme
description
string nullable

The reward scheme description

Example:
The main reward scheme of CRMdotCOM
email_domains
Array nullable

Defines the supported email domains for close loop (controlled) sign ups based on domain. Required on close loop reward schemes and the sign up token = email domain

string
Example:
crm.com
terms_and_conditions
string nullable

The reward scheme terms and conditions

Example:
Only customers that already have CRMdotCOM reward app can join this scheme

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/reward_schemes/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "CRMdotCOM Scheme",
    "description": "The main reward scheme of CRMdotCOM",
    "email_domains": [
        "crm.com"
    ],
    "terms_and_conditions": "Only customers that already have CRMdotCOM reward app can join this scheme"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
List Reward Schemes
GET /reward_schemes

Search for reward schemes

Request parameters

name
string optional

The reward scheme name

Example:
CRMdotCOM
sign_up_option
string optional

Defines how customers can sign up to the reward scheme

Enumeration:
AUTO_SIGN_UP
SELF_SIGN_UP
CLOSE_LOOP_SIGN_UP
life_cycle_state
string optional

The reward scheme life cycle state

Enumeration:
ACTIVE
INACTIVE

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The reward scheme name

Example:
CRMdotCOM Scheme
description
string

The reward scheme description

Example:
The main reward scheme of CRMdotCOM
sign_up_option
string

Defines how customers can sign up to the reward scheme

Enumeration:
AUTO_SIGN_UP
SELF_SIGN_UP
CLOSE_LOOP_SIGN_UP
life_cycle_state
string

The reward scheme state

Enumeration:
ACTIVE
INACTIVE
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/reward_schemes HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "CRMdotCOM Scheme",
            "description": "The main reward scheme of CRMdotCOM",
            "sign_up_option": "CLOSE_LOOP_SIGN_UP"
        }
    ]
}
Get Reward Scheme
GET /reward_schemes/{id}

Get details for a single reward scheme

Path variables

id
string GUID required

The reward scheme identifier that will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The reward scheme name

Example:
CRMdotCOM Scheme
description
string

The reward scheme description

Example:
The main reward scheme of CRMdotCOM
terms_and_conditions
string

The reward scheme terms and conditions

Example:
Only customers that already have CRMdotCOM reward app can join this scheme
sign_up_option
string

Defines how customers can sign up to the reward scheme

Enumeration:
AUTO_SIGN_UP
SELF_SIGN_UP
CLOSE_LOOP_SIGN_UP
sign_up_code
string

Defines whether close loop (controlled) sign ups will be validated based on a third-party identification (external system) or domain specific emails

Enumeration:
EXTERNAL_SYSTEM
EMAIL_DOMAIN
email_domains
Array

Defines the supported email domains for close loop (controlled) sign ups based on domain. Required when the sign up token = email domain

string
Example:
crm.com
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/reward_schemes/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "name": "CRMdotCOM Scheme",
    "description": "The main reward scheme of CRMdotCOM",
    "sign_up_option": "SELF_SIGN_UP",
    "terms_and_conditions": "Only customers that already have CRMdotCOM reward app can join this scheme"
}
Update Reward Scheme Life Cycle State
POST /reward_schemes/{id}/life_cycle_state

Change the life cycle state of a single reward scheme

Path variables

id
string GUID required

The reward scheme identifier whose life cycle state will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
life_cycle_state
string required

The life cycle state that the reward scheme will changed into

Enumeration:
ACTIVE
INACTIVE

Responses

200 200

Successful Request

Body
Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/reward_schemes/CAD1E31269B76D7A65ACCE45B2E68DFD/life_cycle_state HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "life_cycle_state": "INACTIVE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Reward Offers
POST /reward_offers
PUT /reward_offers/{id}
DELETE /reward_offers/{id}
GET /reward_offers
GET /reward_offers/{id}
POST /reward_offers/{id}/life_cycle_state
Create Reward Offer
POST /reward_offers

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
Example:
10% off any purchase
scheme_id
string GUID required
Example:
6A24D2B5E44F44B28451FE021FCAD51E
availability
Object required
available_from
integer epoch required
Example:
1
available_to
integer epoch nullable
Example:
1
goal
string required
Enumeration:
ACHIEVEMENT
SPEND
VISITS
MEMBERSHIP
reward_type
string required
Enumeration:
LOTTERY
SOCIAL
GIFT
TIER
MATURITY
KPI
DISCOUNT
BUNDLE
SIGNUP
REFER
PROFILE
HAPPYHOUR
short_description
string nullable
long_description
string nullable
terms_and_conditions
string nullable

Terms and Conditions

tags
Array nullable
Unique items: YES
string GUID
Example:
6A24D2B5E44F44B28451FE021FCAD51E
media_groups
Array nullable

Array of Media Groups to Create for grouping of Creatives. These media Groups will later be used to group images together a single Deafult Group can be created, and later added to.

Object
name
string

Name Of Media Group

Example:
Default
Description
string

Description of Media Group

Example:
Default
is_featured
boolean nullable

Defines whether the reward offer will be featured (ordered higher) in customer facing clients

Default:
false
Example:
false

Responses

200 OK

OK

Body
Object
id
string GUID

The reward offer identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/reward_offers HTTP/1.1 

Content-Type: application/json

{
    "name": "10% off any purchase",
    "short_description": "",
    "long_description": "",
    "scheme": {
        "id": "622175bf-03b0-4e9e-9df9-adf85080a889"
    },
    "availability": {
        "available_from": 1,
        "available_to": 1,
        "is_recurring": true
    },
    "goal": "VISITS",
    "reward_type": "MATURITY",
    "tags": [
        {
            "id": "guid"
        }
    ]
}

HTTP/1.1 201 Created 
Update Reward Offer
PUT /reward_offers/{id}

Update an existing reward offer

Path variables

id
string GUID required

The reward offer identifier that will be updated

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable
Example:
10% off any purchase
availability
Object nullable
available_from
integer required
Example:
1
available_to
integer nullable
Example:
1
short_description
string nullable
long_description
string nullable
terms_and_conditions
string nullable

Terms and Conditions

tags
Array nullable
Unique items: YES
string GUID
Example:
6A24D2B5E44F44B28451FE021FCAD51E
is_featured
boolean nullable

Defines whether the reward offer will be featured (ordered higher) in customer facing clients

Default:
false
Example:
false

Responses

200 OK

OK

Body
Object
id
string GUID

The reward offer identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "10% off any purchase",
    "tags": [
        "6A24D2B5E44F44B28451FE021FCAD51E"
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E"
}
Delete Reward Offer
DELETE /reward_offers/{id}

Delete an existing reward offer

Path variables

id
string GUID required

The reward offer that will be deleted

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
List Reward Offers
GET /reward_offers

Search for reward offers

Request parameters

search_value
string optional

The value of the search (case insensitive) across name

Example:
Increase Visits
name
string optional

Search by reward offer name

Example:
1% cashback on all products
life_cycle_state
string optional

Filter by life cycle state

Enumeration:
ACTIVE
INACTIVE
EXPIRED
PENDING_APPROVAL
schemes
array of string optional

List of Schemes default to ALL

Collection format: csv
Unique items: YES
organisations
array of string optional

Select by organisations ( merchants ), by default the token / secret key will be used to identify the top level of the Network that offers are created for.

Collection format: csv
Unique items: YES
is_featured
boolean optional

Filter based on whether the reward offers will be featured (ordered higher) in customer facing clients

Example:
false
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
media_usage
string optional

Media Usage Identifier

Example:
THUMBNAIL,HERO
offer_types
array of string optional
Collection format: csv
Unique items: YES

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The reward offer identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The reward offer name

Example:
10% off any purchase
short_description
string

Short description used in Mobile or other APP experiences

long_description
string

The reward offer description

scheme
Object

Scheme Offer belongs to

id
string
Example:
622175bf-03b0-4e9e-9df9-adf85080a889
name
string
Example:
Coffee Scheme
goal
string

The reward offer goal

Enumeration:
ACHIEVEMENT

Increase Achievement

SPEND

Increase Spend

VISITS

Increase Visits

MEMBERSHIP

Increase membership

reward_type
string

The reward Type

Enumeration:
LOTTERY
SOCIAL
GIFT
TIER
MATURITY
KPI
DISCOUNT
BUNDLE
SIGNUP
REFER
APPLICATION
PROFILE
HAPPYHOUR
availability
Object

Offer Availability

available_from
integer epoch

The date of start period for offer

available_to
integer epoch

The date of end period for offer

tags
Array

List of Tags

Object
id
string
name
string
life_cycle_state
string
Enumeration:
ACTIVE
INACTIVE
EXPIRED
PENDING_APPROVAL
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
is_featured
boolean

Defines whether the reward offer will be featured (ordered higher) in customer facing clients

Example:
false
owner
Object

Defines the organisation that owns the reward offer

id
string GUID

The organisation identifier

Example:
0d943fdb-c30a-924a-a1ee-d7dbdff99cc5
name
string

The organisation name

Example:
CRM.COM
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 2
GET https://stagingapi.crm.com/backoffice/v1/reward_offers HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "name": "10% off any purchase",
            "short_description": "",
            "long_description": "",
            "scheme": {
                "id": "622175bf-03b0-4e9e-9df9-adf85080a889",
                "name": "Coffee Scheme"
            },
            "goal": "MEMBERSHIP",
            "reward_type": "TIER",
            "availability": {
                "available_from": 1,
                "available_to": 1
            },
            "tags": [
                {
                    "id": "",
                    "name": ""
                }
            ],
            "life_cycle_state": "INACTIVE",
            "creatives": [
                {
                    "id": "CA123456789AQWSXZAQWS1236547896541",
                    "usage_type": "ATTACHMENT",
                    "width": 2159,
                    "height": 3075,
                    "format": "jpg",
                    "url": "https://assets.crm.com/image/logo.jpg",
                    "public_id": "crm-com/image",
                    "media": [
                        {
                            "width": 200,
                            "height": 300,
                            "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                        }
                    ]
                }
            ],
            "is_featured": "false",
            "owner": {
                "id": "0d943fdb-c30a-924a-a1ee-d7dbdff99cc5",
                "name": "CRM.COM"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Reward Offer
GET /reward_offers/{id}

Get details for a single reward offer

Path variables

id
string GUID required

The reward offer identifier that will be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK

OK

Body
Object
id
string GUID

The reward offer identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

Name of Offer Used internally

Example:
10% off any purchase
scheme
Object

Scheme offer Belongs To

id
string
Example:
622175bf-03b0-4e9e-9df9-adf85080a889
name
string
Example:
Coffee Scheme
goal
string

Goal of Offer

Enumeration:
ACHIEVEMENT
SPEND
VISITS
MEMBERSHIP
reward_type
string

Type of Offer

Enumeration:
LOTTERY
SOCIAL
GIFT
TIER
MATURITY
KPI
DISCOUNT
BUNDLE
SIGNUP
REFER
APPLICATION
PROFILE
HAPPYHOUR
short_description
string

Short Description used in presentation

long_description
string

Long Description

terms_and_conditions
string

Terms and Conditions Text

availability
Object

When is Offer available

available_from
integer
Example:
1
available_to
integer
Example:
1
tags
Array

List of Tags

Object
id
string GUID

The reward tag identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string
life_cycle_state
string

The reward offer life cycle state

Enumeration:
ACTIVE
INACTIVE
EXPIRED
media_groups
Array

Media groups information (multiple can be supported)

Object
id
string GUID

The media group identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The media group name

Example:
Marketing Media
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
is_featured
boolean

Defines whether the reward offer will be featured (ordered higher) in customer facing clients

Example:
false
owner
Object

Defines the organisation that owns the reward offer

id
string GUID

The organisation identifier

Example:
20095138-cdec-0743-7ac1-d0aeb68d553f
name
string

The organisation name

Example:
Best Coffee
Example 1
GET https://stagingapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E",
    "name": "10% off any purchase",
    "scheme": {
        "id": "622175bf-03b0-4e9e-9df9-adf85080a889",
        "name": "Coffee Scheme"
    },
    "goal": "ACHIEVEMENT",
    "reward_type": "HAPPYHOUR",
    "short_description": "",
    "long_description": "",
    "terms_and_conditions": "",
    "availability": {
        "available_from": 1,
        "available_to": 1
    },
    "tags": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "name": ""
        }
    ],
    "life_cycle_state": "INACTIVE",
    "media_groups": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "name": "Marketing Media",
            "creatives": [
                {
                    "id": "CA123456789AQWSXZAQWS1236547896541",
                    "usage_type": "MARKETING",
                    "width": 2159,
                    "height": 3075,
                    "format": "jpg",
                    "url": "https://assets.crm.com/image/logo.jpg",
                    "public_id": "crm-com/image",
                    "media": [
                        {
                            "width": 200,
                            "height": 300,
                            "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                        }
                    ]
                }
            ]
        }
    ],
    "is_featured": "false",
    "owner": {
        "id": "20095138-cdec-0743-7ac1-d0aeb68d553f",
        "name": "Best Coffee"
    }
}
Update Reward Offer Life Cycle State
POST /reward_offers/{id}/life_cycle_state

Change the life cycle state of a single reward offer

Path variables

id
string GUID required

The reward offer identifier whose life cycle state will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
life_cycle_state
string required

The life cycle state that the reward offer will changed into

Enumeration:
ACTIVE
INACTIVE

Responses

200 200

Successful Request

Body
Object
id
string GUID

The reward offer identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/reward_offers/CAD1E31269B76D7A65ACCE45B2E68DFD/life_cycle_state HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "life_cycle_state": "ACTIVE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Target Conditions
GET /reward_offers/{id}/targets
POST /reward_offers/{id}/targets/contacts
POST /reward_offers/{id}/targets/organisations
POST /reward_offers/{id}/targets/transactions
POST /reward_offers/{id}/targets/evaluations
POST /reward_offers/{id}/targets/referrals
Get Target Conditions
GET /reward_offers/{id}/targets

Retrieves the Reward Offer target conditions for, customer_segments, venues, products

Path variables

id
string GUID required

The reward offer identifier whose target conditions will be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
contact_segments
Array

Details about contact segment conditions

Object
id
string GUID

The segment identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The segment name

Example:
VIP Customers
description
string

The segment description

Example:
All customers that are classified as VIP
size
integer

The number of results for that segment

Example:
112
social_actions
Array

Details about soclal action conditions

Object
platform
string

The social platform that the action is performed

Enumeration:
FACEBOOK
TRIPADVISOR
action
string

The action that the customer performed

Enumeration:
REVIEW
LIKE
SHARE
profile_completeness
Array

Details about profile completeness conditions

Object
information
string

The profile information that is provided

Enumeration:
BIRTHDATE
NAMEDAY
ADDRESS
EMAIL
PHONE
organisations
Array

Details about location conditions

Object
id
string GUID

The organisation identifier

Example:
234234234234-23423sdfs-324234sfsf
type
string

The organisation type

Enumeration:
MERCHANT
VENUE
name
string

The organisation name

Example:
Bravo Bakery
locations
Array

The organisation locations

Object
name
string

The name of the location

Example:
Head Office
address_line_1
string
Example:
Elia Papakyriakou 21
address_line_2
string
Example:
7 Tower Stars
state_province_county
string
Example:
Egkomi
town_city
string
Example:
Nicosia
postal_code
string
Example:
2415
country_code
string
Example:
CY
care_of
string
lat
string
Example:
35.157115
lon
string
Example:
33.313719
googleplaceid
string
Example:
ChIJrTLr-GyuEmsRBfy61i59si0
transactions
Object

Details about transaction conditions

transaction_total
Object
currency
string
Example:
EUR
transaction_value
integer
Example:
50
period
number

Numbers of days for cummulative check

operator
string
Example:
AND
products
Array
Object
groups
Array
Object
group
string
Example:
G1
operator
string
Example:
AND
conditions
Array
Object
condition
string
Example:
C1
id
string
Example:
guid
id_type
string
Example:
BRAND
name
string
description
string
qty
integer
Example:
1
value
number
Example:
2.5
currency
string
Example:
EUR
period
integer
Example:
1
operator
string
Example:
AND
timings
Object
is_birthday
boolean
Example:
true
is_nameday
boolean
Example:
true
days_before
number
days_after
number
availability
Array
Object
month
integer
Example:
1
day
integer

The day of the week as condition (1-7), 1 is Sunday

Example:
1
start_time
string
Example:
19:00
end_time
string
Example:
21:00
evaluation
Object

Details about evaluation

timings
Object

DEtails about the evaluation time

start_date
integer epoch

The date that the offer will be evaluaed (just once)

Example:
1592317898
frequency
string

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
passes
Array

Details about passes conditions

Object
id
string GUID

The pass type identifier

Example:
51cdb8c5-d868-ec3a-ec3b-0e9a4eca53d0
name
string

The pass type name

Example:
Birthday Pass
referrals
Object

Details about referral conditions

action
string

Defines what is required to award such referral

Enumeration:
AFTER_PURCHASE

Award will be provided after the referred customer registers and makes a purchases

ON_REGISTRATION

Award will be provided after the referred customers registers

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E/targets HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "contact_segments": [
        {
            "id": "guid",
            "name": "",
            "description": "",
            "size": ""
        }
    ],
    "organisations": [
        {
            "id": "guid",
            "type": "VENUE",
            "name": "",
            "locations": [
                {
                    "name": "Head Office",
                    "address_line_1": "Elia Papakyriakou 21",
                    "address_line_2": "7 Tower Stars",
                    "state_province_county": "Egkomi",
                    "town_city": "Nicosia",
                    "postal_code": "2415",
                    "country_code": "CY",
                    "care_of": "",
                    "lat": "35.157115",
                    "lon": "33.313719",
                    "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
                }
            ]
        }
    ],
    "transactions": {
        "transaction_total": {
            "currency": "EUR",
            "transaction_value": 50,
            "period": 1,
            "operator": "AND"
        },
        "products": [
            {
                "groups": [
                    {
                        "group": "G1",
                        "operator": "AND",
                        "conditions": [
                            {
                                "condition": "C1",
                                "id": "guid",
                                "id_type": "BRAND",
                                "name": "",
                                "description": "",
                                "qty": 1,
                                "value": 2.5,
                                "currency": "EUR",
                                "period": 1,
                                "operator": "AND"
                            }
                        ]
                    }
                ]
            }
        ],
        "timings": {
            "is_birthday": true,
            "is_nameday": true,
            "availability": [
                {
                    "month": 1,
                    "day": 1,
                    "start_time": "19:00",
                    "end_time": "21:00"
                }
            ]
        }
    }
}
Add Target Contact
POST /reward_offers/{id}/targets/contacts

Path variables

id
string GUID required

The reward offer identifier whose contact target conditions will be set

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
contact_segments
Array nullable
Unique items: YES
string GUID
Example:
6A24D2B5E44F44B28451FE021FCAD51E
social_actions
Array nullable

Customers that perform Social Actions

Object
platform
string

The social platform that the action is performed

Enumeration:
FACEBOOK
TRIPADVISOR
action
string

The action that the customer performed

Enumeration:
REVIEW
LIKE
SHARE
profile_completeness
Array nullable

Customers that complete their profile

Object
information
string required

The profile information that is provided

Enumeration:
BIRTHDATE
NAMEDAY
ADDRESS
EMAIL
PHONE

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E/targets/contacts HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "contact_segments": [
        "6A24D2B5E44F44B28451FE021FCAD51E"
    ]
}

HTTP/1.1 200 OK 
Add Target Organisation
POST /reward_offers/{id}/targets/organisations

Path variables

id
string GUID required

The reward offer identifier whose organisation target conditions will be set

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
organisations
Array nullable
Unique items: YES
string GUID
Example:
6A24D2B5E44F44B28451FE021FCAD51E

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E/targets/organisations HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "organisations": [
        "6A24D2B5E44F44B28451FE021FCAD51E"
    ]
}

HTTP/1.1 200 OK 
Add Target Transaction
POST /reward_offers/{id}/targets/transactions

Path variables

id
string required

Request body

Object
transactions
Object
transaction_total
Object
currency
string
Example:
EUR
transaction_value
number
Example:
10.99
period
number

Specify the period for cumulative check in days. If not specified only valid on single transaction

Example:
90
operator
string
Example:
AND
products
Array
Object
groups
Array
Object
group
string
Example:
G1
operator
string
Example:
AND
conditions
Array
Object
condition
string
Example:
C1
id
string
Example:
guid
id_type
string
Enumeration:
SKU
FAMILY
BRAND
CATEGORY
name
string

Name of condition

qty
integer
Example:
1
value
number
Example:
2.5
currency
string
Example:
EUR
period
integer
Example:
1
operator
string
Example:
AND
timings
Object
is_birthday
boolean
Example:
true
is_nameday
boolean
Example:
true
days_before
number

Days before special day

days_after
number

Days after special day

availability
Array
Object
month
integer
Example:
1
day
integer

The day of the week as condition (1-7), 1 is Sunday

Example:
1
start_time
string
Example:
19:00
end_time
string
Example:
21:00

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
Example 2
Example 3

Purchase 9 Coffees in 90 Days

POST https://devapi.crm.com/backoffice/v1/reward_offers/{id}/transaction_conditions HTTP/1.1 

Content-Type: application/json

{
    "transactions": {
        "products": [
            {
                "groups": [
                    {
                        "group": "G1",
                        "conditions": [
                            {
                                "condition": "C1",
                                "id": "guid",
                                "id_type": "FAMILY",
                                "name": "Coffee",
                                "description": "Coffee Products",
                                "qty": 9,
                                "period": 90
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Spend more than 10 Euro In June, Friday 19:00 - 21:00

POST https://devapi.crm.com/backoffice/v1/reward_offers/{id}/targets/transactions HTTP/1.1 

Content-Type: application/json

{
    "transactions": {
        "transaction_total": {
            "currency": "EUR",
            "transaction_value": 10.99,
            "period": 90,
            "operator": "AND"
        },
        "products": [
            {
                "groups": [
                    {
                        "group": "G1",
                        "operator": "AND",
                        "conditions": [
                            {
                                "condition": "C1",
                                "id": "guid",
                                "id_type": "SKU",
                                "name": "",
                                "qty": 1,
                                "value": 2.5,
                                "currency": "EUR",
                                "period": 1,
                                "operator": "AND"
                            }
                        ]
                    }
                ]
            }
        ],
        "timings": {
            "is_birthday": true,
            "is_nameday": true,
            "days_before": "",
            "days_after": "",
            "availability": [
                {
                    "month": 1,
                    "day": 1,
                    "start_time": "19:00",
                    "end_time": "21:00"
                }
            ]
        }
    }
}
POST https://devapi.crm.com/backoffice/v1/reward_offers/{id}/targets/transactions HTTP/1.1 

Content-Type: application/json

{
    "transactions": {
        "transaction_total": {
            "currency": "EUR",
            "transaction_value": 1000,
            "period": 90,
            "operator": "AND"
        },
        "products": [
            {
                "groups": [
                    {
                        "group": "G1",
                        "operator": "AND",
                        "conditions": [
                            {
                                "condition": "C1",
                                "id": "guid",
                                "id_type": "SKU",
                                "qty": 5,

                            },
                            {
                                "condition": "C2",
                                "id": "guid",
                                "id_type": "SKU",
                                "value": 2.5,
                                "isoCurrencyCode": "EUR",
                            }
                        ]
                    }
                ]
            }
        ],
    }
}
Add Target Evaluation
POST /reward_offers/{id}/targets/evaluations

Path variables

id
string GUID required

The reward offer identifier

Example:
71688194-e07f-4010-acd1-b8dec6d19a7a

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
timings
Object nullable

DEtails about the evaluation time

start_date
integer epoch

The date that the offer will be evaluaed (just once)

Example:
1592317898
frequency
string required nullable

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?

Responses

200 OK

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/reward_offers/71688194-e07f-4010-acd1-b8dec6d19a7a/targets/evaluations HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "timings": {
        "start_date": "1592317898"
    }
}

HTTP/1.1 200 OK 
Add Target Referral
POST /reward_offers/{id}/targets/referrals

Path variables

id
string GUID required

The reward offer identifier

Example:
71688194-e07f-4010-acd1-b8dec6d19a7a

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string

Defines what is required to award such referral

Enumeration:
AFTER_PURCHASE

Award will be provided after the referred customer registers and makes a purchases

ON_REGISTRATION

Award will be provided after the referred customers registers

Responses

200 OK

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/reward_offers/71688194-e07f-4010-acd1-b8dec6d19a7a/targets/referrals HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "action": "ON_REGISTRATION"
}

HTTP/1.1 200 OK 
Award / Spend Conditions
POST /reward_offers/{id}/awards
GET /reward_offers/{id}/awards
Add Award Settings
POST /reward_offers/{id}/awards

Add settings to define the amount of the reward and the restrictions / expiration

Path variables

id
string GUID required

The reward offer identifier whose award details will be set

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
awards
Array
Object
amount
number required
Example:
10.99
currency_type
string nullable
Enumeration:
DEFAULT
VIRTUAL
amount_type
string required
Enumeration:
FIXED
PERCENTAGE
QTY
quantity
number nullable

Is the award based on a Unit of Measure I.e Litres.

products
Array nullable
Object
id
string GUID required

The product condition identifier (can be the identifier of a product, brand or family)

Example:
6A24D2B5E44F44B28451FE021FCAD51E
id_type
string required

The product condition type

Enumeration:
SKU
FAMILY
BRAND
TYPE
CATEGORY
validity
Object required
validity_type
string required
Enumeration:
SPECIFIC_DATE

Award will be available to be spend from a specific date

PERIOD

Award will be available to be spend from a specific period

NEXT_PURCHASE

Award will be available to be spend from the next purchase

THIS_PURCHASE

Award will be available to be spend from the purchase that provided the award

valid_date
integer epoch
Example:
1590474228
period
integer
Example:
1
period_unit
string
Enumeration:
HOUR
DAY
MONTH
YEAR
expiration
Object required
expiration_type
string required
Enumeration:
NEVER
SPECIFIC_DATE
PERIOD
MONTH_END
YEAR_END
specific_date
integer epoch nullable
Example:
1590474228
period
number nullable
period_unit
string nullable
Enumeration:
HOUR
DAY
MONTH
YEAR
restrictions
Object required
total_customers
integer nullable
Example:
1
amount_cap
number nullable

Cap Total Award Amount

frequency_cap
Object nullable

Restrict Awards to a maximum such as 1 per day

frequency
number required

How many Times an Award can be given

period
integer required

During the Time Period

period_unit
string required

Unit of Time of Period

Enumeration:
DAY
MONTH
YEAR
spend_settings
Object required
id
string GUID

Spend Condition ID

Example:
6A24D2B5E44F44B28451FE021FCAD51E
spend_method
string required
Enumeration:
INSTANT
ON_REQUESST

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
Example 2

1.5% on Coffee and 2.0% on Smoothies expires after 90 Days.

POST https://devapi.crm.com/backoffice/v1/reward_offers/{id}/awards HTTP/1.1 

Content-Type: application/json

{
    "awards": [
        {
            "amount": 1.5,
            "currency": "DEFAULT",
            "amount_type": "PERCENTAGE",
            "products": {
                "id": "guid_coffee_family",
                "id_type": "FAMILY"
            },
            {
            "amount": 2.0,
            "currency": "DEFAULT",
            "amount_type": "PERCENTAGE",
            "products": {
                "id": "guid_smoothie_family",
                "id_type": "FAMILY"
            }
        }
    ],
    "expiration": {
        "expiration_type": "PERIOD",
        "period": 90,
        "period_unit": "DAYS"
    }
}

Lottery Award can be spent 1 Month after Win and expires after 2 months 1 winner / week

POST https://devapi.crm.com/backoffice/v1/reward_offers/{id}/awards HTTP/1.1 

Content-Type: application/json

{
    "awards": [
        {
            "amount": 50.00,
            "currency": "DEFAULT",
            "amount_type": "FIXED"
        }
    ],
    "validity": {
        "validity_type": "PERIOD",
        "period": 1,
        "period_unit": "MONTH"
    },
    "expiration": {
        "expiration_type": "PERIOD",
        "period": 2,
        "period_unit": "MONTH"
    },
    "restrictions": {
        "total_customers": 1,
        "amount_cap": 50.00,
        "frequency_cap": {
            "frequency": 1,
            "period": "1",
            "period_uot": "WEEK"
        }
    }
}
Get Award Settings
GET /reward_offers/{id}/awards

Retrive the award settings for a specific reward offer

Path variables

id
string GUID required

The reward offer identifier whose award details will be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
awards
Array
Object
amount_type
string

The award type

Enumeration:
FIXED
PERCENTAGE
QTY
currency_type
string

The award currency

Enumeration:
DEFAULT
VIRTUAL
amount
number

The award amount

Example:
10.99
quantity
number
products
Array

Details about the award products

Object
id
string GUID

The product condition identifier (can be the identifier of a product, brand or family)

Example:
6A24D2B5E44F44B28451FE021FCAD51E
id_type
string

The product condition type

Enumeration:
SKU
BRAND
FAMILY
TYPE
CATEGORY
name
string

The product condition name (can be the name of a product, brand, category or family)

Example:
SKU00001
description
string

The product condition description (can be the description of a product, brand, category or family)

Example:
Coffee Latte
validity
Object

Details about the award validity (valid from)

validity_type
string required

The validity type

Enumeration:
PERIOD

Award will be available from a specific period

SPECIFIC_DATE

Award will be available from a specifc date

NEXT_PURCHASE

Award will be available to be spend from the next purchase

THIS_PURCHASE

Award will be available to be spend from the purchase that provided the award

valid_date
integer epoch

The date from which the award will be valid (applicable when type is set to specific date)

Example:
1590474228
period
integer

The period from which the award will be valid (applicable when type is set to period)

Example:
1
period_unit
string

The unit of time from which the award will be valid (applicable when type is set to period)

Examples:
WEEKMONTHYEAR
expiration
Object

Details about the award expiration (valid to)

expiration_type
string

The expiration type

Enumeration:
NEVER
SPECIFIC_DATE
PERIOD
MONTH_END
YEAR_END
expiry_date
integer epoch

The date that the award will expire (applicable when type is specific date)

Example:
1590474228
period
integer

The period up to which the award will be expired (applicable when type is set to period)

Example:
1
period_unit
string

The unit of time up to which the award will be expired (applicable when type is set to period)

Enumeration:
HOUR
DAY
MONTH
YEAR
restrictions
Object

Details about how award will be provided

total_customers
integer

The total number of customers that can get the award

Example:
1
amount_cap
number

The maximum amount that can be provided by a offer that awards based on percentage

Example:
1345.23
frequency_cap
Object

Details about the frequency that customers can get the award

frequency
integer

The frequency of the award

Example:
1
period
integer

The frequency period

Example:
12
period_unit
string

The frequency unit of time

Enumeration:
HOUR
DAY
MONTH
YEAR
spend_settings
Object

details of the spend conditons name and ID

id
string GUID

The spend condition identifier

Example:
dc01f65b-a482-48f1-9fda-c163df72f28f
name
string

The spend condition name

spend_method
string

The method on how award can be spent

Enumeration:
INSTANT
ON_REQUEST
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
Example 2

1.5% on Coffee and 2.0% on Smoothies expires after 90 Days.

GET https://devapi.crm.com/backoffice/v1/reward_offers/{id}/awards HTTP/1.1 

Content-Type: application/json

{
    "awards": [
        {
            "amount": 1.5,
            "currency": "DEFAULT",
            "amount_type": "PERCENTAGE",
            "products": {
                "id": "guid_coffee_family",
                "id_type": "FAMILY",
                "name" : "All Coffee Products"
            }},
            {
            "amount": 2.0,
            "currency": "DEFAULT",
            "amount_type": "PERCENTAGE",
            "products": {
                "id": "guid_smoothie_family",
                "id_type": "FAMILY",
                "name" : "All Smoothie Products"
            }
        }
    ],
    "expiration": {
        "expiration_type": "PERIOD",
        "period": 90,
        "period_unit": "DAYS"
    }
}
GET https://devapi.crm.com/backoffice/v1/reward_offers/{id}/awards HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "awards": [
        {
            "amount": 10.99,
            "currency_type": "VIRTUAL",
            "amount_type": "QTY",
            "uom": "",
            "products": {
                "id": "",
                "id_type": "BRAND",
                "name": "",
                "description": ""
            }
        }
    ],
    "validity": {
        "validity_type": "PERIOD",
        "valid_date": 1,
        "period": 1,
        "period_unit": "MONTH"
    },
    "expiration": {
        "expiration_type": "YEAR_END",
        "expiry_date": "",
        "period": 1,
        "period_unit": "MONTH"
    },
    "restrictions": {
        "total_customers": 1,
        "amount_cap": 1,
        "frequency_cap": {
            "frequency": 1,
            "period": "DAY",
            "period_uot": "MONTH"
        }
    }
}
Media Group
POST /reward_offers/{id}/media_groups
GET /reward_offers/{id}/media_groups
Add new Reward Offer Media Group
POST /reward_offers/{id}/media_groups

Create a new media group for a specific reward offer

Path variables

id
string GUID required

The reward offer identifer whose media groups will be set

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The media group name

Example:
Default
description
string nullable

The media group description

Example:
Seasonal offer media

Responses

200 200

OK

Body
Object
id
string GUID

The media group identifier

Example:
6A24D2B5E44F44B28451FE021FCAD51E
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E/media_groups HTTP/1.1 

Content-Type: application/json

{
    "name": "Default",
    "description": "Seasonal offer media"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E"
}
Get Reward Offer Media Groups
GET /reward_offers/{id}/media_groups

Get all media groups for a specific reward offer

Path variables

id
string GUID required

The reward offer identifer whose media group will be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
id
string GUID

The media group identifier

Example:
2118c572-20ca-45a9-be17-a1cfafae08f6
name
string

The media group name

Example:
Seasonal
description
string

The media group description

Example:
All seasonal media for this offer
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/reward_offers/6A24D2B5E44F44B28451FE021FCAD51E/media_groups HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "2118c572-20ca-45a9-be17-a1cfafae08f6",
            "name": "Seasonal",
            "description": "All seasonal media for this offer"
        }
    ]
}
Merchants
List of Participating Merchants
GET /merchants

Search for organisations with reward commercial terms that participate in rewards

Notes

Retrieves only the organisations with non-blocked reward commercial terms

Request parameters

include_schemes
boolean optional

Defines whether reward scheme information should be retrieved

Example:
true
include_venues
boolean optional

Defines whether venue information should be retrieved

Example:
true
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The organisation name

Example:
Delicious Burger
is_parent
boolean

Indicates whether the organisation has no other child organisations

Example:
true
taps
Array

Information about the transaction acquiring points

Object
id
string GUID

The tap identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The tap name

Example:
T123456
code
string

The tap code

Example:
T123
reward_schemes
Array

Information about the reward schemes that the organisation participates (retrieved only if requested)

Object
id
string GUID

The reward scheme identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The reward scheme name

Example:
MyCompany Scheme
venues
Array

Details about the venues of the merchant (retrieved only if requested)

Object
id
string GUID

The name organisation identifier

Example:
01f18103-75e0-10b1-31c1-74523f240911
name
string

The venue organisation name

Example:
Delicious Burger Nicosia
taps
Array

Details about the venue organisation transaction acquiring points

Object
id
string GUID

The transaction acquiring point identifier

Example:
01f18103-75e0-10b1-31c1-74523f240955
name
string

The transaction acquiring point name

Example:
Transaction Acquirer
code
string

The transaction acquiring point code

Example:
1234
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/merchants HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Delicious Burger",
            "description": "Delicious Burger HQ",
            "is_parent": true,
            "tap": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "T123456",
                    "code": "T123"
                }
            ],
            "reward_schemes": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "MyCompany Scheme"
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Segments
POST /segments
PUT /segments/{id}
DELETE /segments/{id}
GET /segments
GET /segments/{id}/contacts
POST /segments/{id}/contacts
DELETE /segments/{id}/contacts
POST /segments/{id}/conditions
GET /segments/{id}/conditions
POST /segments/{id}/actions
Create Segment
POST /segments

Create a new segment either based on a set of criteria or by adding contacts individually

Request body

Object
name
string
Example:
Marketing customers
description
string
Example:
A list of customers that own an accoun
refresh_frequency
integer

How often the segment is refreshed in hours

Default:
12
Example:
12

Responses

201 Created
Body
Object
id
string

The newlly created segment’s unique identifier

Example:
ADD1E31269B76D7A65ACCE45B2E68DFD
200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1

Group A and Group B

POST https://devapi.crm.com/backoffice/v1/segments HTTP/1.1 

Content-Type: application/json

{
    "name": "Marketing customers",
    "description": "A list of customers that own an accoun"
}
Update Segment
PUT /segments/{id}

Updates the basic information of a segment

Path variables

id
string required

The segment’s unique identifier

Request body

Object
name
string
description
string

The segment’s description

Example:
List of contacts owning a non-terminated account
refresh_frequency
integer

Responses

200 OK
Body
Object
id
string

The unique identifer of the updated segment

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/segments/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "List of contacts owning a non-terminated account",
    "refresh_frequency": 1
}
Delete Segment
DELETE /segments/{id}

Deletes a segment

Path variables

id
string required

The segment’s unique identifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/segments/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 
List Segments
GET /segments

Returns a list of Segments

Request parameters

from_date
integer epoch optional

The date from which the segment was created

Example:
1343423423
to_date
integer epoch optional

The date until which the segment was created

Example:
3234234234
search_value
string optional

Search for segments based on their name or description

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Responses

200 OK
Body
Object
content
Array
Object
id
string

The segment’s unique identifier

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The segment’s name

Example:
Marketing customers
descripion
string

The segment’s description

Example:
List customers owning an account
size
integer

The segment’s size (total number of contacts)

Example:
95
imported_from
string
Enumeration:
MIXPANEL
resfresh_frequency
integer

How often the segment is refreshed in hours

Default:
12
Example:
4
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/segments HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "Marketing customers",
            "descripion": "List customers owning an account",
            "size": 95,
            "imported_from": "MIXPANEL",
            "resfresh_frequency": 4
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Contacts in Segment
GET /segments/{id}/contacts

Returns detailed information for a segment

Path variables

id
string required

The segment’s unique identifier

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for contacts based on their code or name

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string

The contact’s unique identifier

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The contact’s name (full name for Persons, company name for Companies)

Example:
John Smith
code
string

The contact’s code

Example:
0049304938571623
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/segments/{id}/contacts HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "John Smith",
            "code": "0049304938571623"
        }
    ]
}
Add Contacts in Segment
POST /segments/{id}/contacts

Amends a segment by adding multiple contacts, in bulk mode

Path variables

id
string GUID required

The segment’s unique identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request body

Object
contacts
Array

List of contacts to be added in the segment as static items

Unique items: YES
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 OK
Body
Object
id
string

A unique dentifier for the Web API (enables integrators to relate their reuqest to the Web API call)

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/segments/CAD1E31269B76D7A65ACCE45B2E68DFD/contacts HTTP/1.1 

Content-Type: application/json

{
    "contacts": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD","AB11E31269B76D7A65ACCE45B2E68DFD"
    ]
}
Remove Contacts from Segment
DELETE /segments/{id}/contacts

Amends a segment by adding multiple contacts as static items, in bulk mode

Path variables

id
string GUID required

The segment’s uniue identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request body

Object
remove_all
boolean nullable

Removes all static items of the segment.

Default:
false
contacts
Array nullable

List of contacts to be removed from the segment

Unique items: YES
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 OK
Body
Object
id
string

A unique dentifier for the Web API (enables integrators to relate their reuqest to the Web API call)

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1

Remove contacts from segment

DELETE https://devapi.crm.com/backoffice/v1/segments/CAD1E31269B76D7A65ACCE45B2E68DFD/contacts HTTP/1.1 

Content-Type: application/json

{
    "remove_all": "false",
    "contacts": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD","23D1E31269B76D7A65ACCE45B2E68DFD"
    ]
}
Add Segment Conditions
POST /segments/{id}/conditions

Adds a set of conditions in a segment

Path variables

id
string required

Request body

Object
groups
Array
Object
name
string required
Example:
A
type
string required
Enumeration:
EVENT
CONTACT
event_name
string
Enumeration:
PURCHASE
AWARD
SPEND
INVOICE
inclusion
string required
Enumeration:
DID

Applicable for Events only

DID_NOT

Applicable for Events only

HAVE

Applicable for Contacts only

HAVE_NOT

Applicable for Contacts only

frequency
Object
operator
string required
Enumeration:
AT_LEAST
BETWEEN
MORE_THAN
LESS_THAN
EQUAL
Default:
AT_LEAST
min_times
integer
Example:
1
max_times
integer
Example:
5
period
Object
operator
string required

Operators Between, On, Since require date(s) filters, whereas the rest of the operators need an integrer value(s)

Enumeration:
BETWEEN
SINCE
ON
LAST_DAYS
LAST_MONTHS
LAST_HOURS
LAST_WEEKS
from
string required
Example:
3
to
string
type
string required
Enumeration:
STRING
NUMBER
DATE
INTEGER
properties_operator
string required
Enumeration:
ALL
ANY
Default:
ALL
properties
Array
Object
property
string required
Example:
purchase.amount
operator
string
Enumeration:
IS
IS_NOT
ON
BEFORE
AFTER
BETWEEN
MORE_THAN
LESS_THAN
CONTAINS
DOES_NOT_CONTAIN
IS_EMPTY
IS_NOT_EMPTY
STARTS_WITH
DOES_NOT_START_WITH
ENDS_WITH
DOES_NOT_END_WITH
LIKE
NOT_LIKE
EQUAL
NOT_EQUAL
LESS_THAN_OR_EQUAL
MORE_THAN_OR_EQUAL
min_value
string required
Example:
5.00
max_value
string
Example:
10
value_list
Array of string
type
string required
Enumeration:
STRING
NUMBER
INTEGER
DATE
list_name
string

Applicable only if the property is a list and represents the list name

Example:
products
logical_expression
string required

The logical expression between the Groups. Required if more than one groups are specified

Example:
(A OR B) AND C
DO NOT DELETE/REGENERATE!!!
Example 2

Customers who did 3-5 purchases of more than 5 euros in Freddo espresso/Espresso in the last 3 weeks AND these customers are either Persons with a birthday set but not employees or vips OR companies in Petrol/Gas station industries

POST https://devapi.crm.com/backoffice/v1/segments/{id}/conditions HTTP/1.1 

Content-Type: application/json

{
    "groups": [
        {
            "name": "A",
            "type": "EVENT",
            "event_name": "PURCHASE",
            "inclusion": "DID",
            "frequency": {
                "operator": "BETWEEN",
                "min_times": 1,
                "max_times": 5,
                "period": {
                    "operator": "LAST_WEEKS",
                    "from": "3",
                    "to": ""
                }
            },
            "properties_operator":"ALL",
            "properties": [
                {
                    "property": "purchase.amount",
                    "operator": "MORE_THAN",
                    "min_value": "5.00",
                    "max_value": "",
                    "value_list": [
                        ""
                    ]
                },
                {
                    "property": "purchase.products.name",
                    "operator": "CONTAINS",
                    "min_value": "",
                    "max_value": "",
                    "value_list": [
                        "Freddo Espresso","Espresso"
                    ]
                }
            ]
        },
        {
            "name": "B",
                                "type": "CONTACT",
            "event_name": "",
            "inclusion": "HAVE",
            "properties_operator":"AT_LEAST",
            "properties": [
                {
                    "property": "type",
                    "operator": "EQUALS",
                    "min_value": "PERSON",
                    "max_value": "",
                    "value_list": [
                        ""
                    ]
                },
                {
                    "property": "birthday.month",
                    "operator": "NOT_EMPTY",
                    "min_value": "",
                    "max_value": "",
                    "value_list": [
                        ""
                    ]
                },
                {
                    "property": "category.name",
                    "operator": "EQUAL",
                    "min_value": "",
                    "max_value": "",
                    "value_list": [
                        "VIP","Employees"
                    ]
                }
            ]

        },
        {
            "name": "C",
            "type": "COTNACT",
            "event_name": "",
            "inclusion": "HAVE",
            "properties_operator":"ALL",
            "properties": [
                {
                    "property": "type",
                    "operator": "EQUALS",
                    "min_value": "COMPANY",
                    "max_value": "",
                    "value_list": [
                        ""
                    ]
                },
                {
                    "property": "insdustry.name",
                    "operator": "CONTAINS",
                    "min_value": "",
                    "max_value": "",
                    "value_list": [
                        "Petrol","Gas Stations"
                    ]
                }
            ]
        }
    ]
}
POST https://devapi.crm.com/backoffice/v1/segments/{id}/conditions HTTP/1.1 

Content-Type: application/json

{
    "groups": [
        {
            "name": "A",
            "type": "EVENT",
            "event_name": "AWARD",
            "inclusion": "HAVE",
            "frequency": {
                "operator": "AT_LEAST",
                "min_times": 1,
                "max_times": 5,
                "period": {
                    "operator": "SINCE",
                    "from": "3",
                    "to": "",
                    "type": "STRING"
                }
            },
            "properties_operator": "ALL",
            "properties": [
                {
                    "property": "purchase.amount",
                    "operator": "MORE_THAN_OR_EQUAL",
                    "min_value": "5.00",
                    "max_value": "10",
                    "value_list": [
                        ""
                    ],
                    "type": "STRING",
                    "list_name": "products"
                }
            ]
        }
    ],
    "logical_expression": "(A OR B) AND C"
}
Get Segment Conditions
GET /segments/{id}/conditions

Returns a segment’s set of conditions

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
groups
Array
Object
name
string
Example:
A
type
string
Example:
EVENT
event_name
string
Example:
PURCHASE
inclusion
string
Example:
HAVE_NOT
frequency
Object
operator
string
Example:
BETWEEN
min_times
integer
Example:
1
max_times
integer
Example:
5
period
Object
operator
string
Example:
THIS_MONTH
from
string
Example:
3
to
string
type
string
Enumeration:
STRING
NUMBER
INTEGER
DATE
properties_operator
string
Example:
AT_LEAST1
properties
Array
Object
property
string
Example:
purchase.amount
operator
string
Example:
MORE_THAN
min_value
string
Example:
5.00
max_value
string
Example:
10
value_list
Array of string
type
string
Enumeration:
STRING
NUMBER
INTEGER
DATE
list_name
string

Applicable only if the property is a list and represents the list name

Example:
products
logical_expression
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/segments/{id}/conditions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "groups": [
        {
            "name": "A",
            "type": "EVENT",
            "event_name": "PURCHASE",
            "inclusion": "HAVE_NOT",
            "frequency": {
                "operator": "BETWEEN",
                "min_times": 1,
                "max_times": 5,
                "period": {
                    "operator": "THIS_MONTH",
                    "from": "3",
                    "to": "",
                    "type": "STRING"
                }
            },
            "properties_operator": "AT_LEAST1",
            "properties": [
                {
                    "property": "purchase.amount",
                    "operator": "MORE_THAN",
                    "min_value": "5.00",
                    "max_value": "10",
                    "value_list": [
                        ""
                    ],
                    "type": "STRING",
                    "list_name": "products"
                }
            ]
        }
    ],
    "logical_expression": ""
}
Perform Segment Actions
POST /segments/{id}/actions

Refresh a segment

Path variables

id
string required

The unique identifier of the segment to be refreshed

Request body

Object
action
string required

The action to be performed on the segment

Enumeration:
REFRESH

Responses

201 Created
Body
Object
id
string

The newlly created segment’s unique identifier

Example:
ADD1E31269B76D7A65ACCE45B2E68DFD
200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/segments/{id}/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "REFRESH"
}
Spend Conditions
POST /spend_conditions
GET /spend_conditions
GET /spend_conditions/{id}
Create Spend Conditions
POST /spend_conditions

Creates a spend condition groups including produts, timings and organisations

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

Name of Spend Conditions to be stored for re-use later

Example:
Instant Rewards - Monday Only
organisations
Array

The IDs of organisations to be considered as conditions

string GUID
Example:
6A24D2B5E44F44B28451FE021FCAD51E
products
Array
Object
id
string GUID

The ID of the product type provided

Example:
6A24D2B5E44F44B28451FE021FCAD51E
id_type
string

The product type that will be used as condition

Enumeration:
PRODUCT
TYPE
FAMILY
BRAND
timings
Array
Object
month
integer

The month as a condition (1-12)

Example:
1
day
integer

The day of the week as condition (1-7), 1 is Sunday

Example:
1
start_time
string

The start time of the day in 24 Hour format

Example:
19:00
end_time
string

The end time of the day in 24 Hour format

Example:
20:00

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the spend condition group

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/spend_conditions HTTP/1.1 

Content-Type: application/json

{
    "name": "Instant Rewards - Monday Only",
    "organisations": [
        "6A24D2B5E44F44B28451FE021FCAD51E"
    ],
    "products": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "id_type": "TYPE"
        }
    ],
    "timings": [
        {
            "month": 1,
            "day": 1,
            "start_time": "19:00",
            "end_time": "20:00"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
List Spend Conditions
GET /spend_conditions

Retrieves the spend conditions available with brief information

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
name
string

The name of the spend condition

Example:
Happy Hour
id
string GUID

The ID of the spend condition

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/spend_conditions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "name": "Happy Hour",
            "id": "4AD9C84FA60F9FE407140E20F707726A"
        }
    ]
}
Get Spend Conditions
GET /spend_conditions/{id}

Retrieves a specific spend condition with full information

Path variables

id
string required

The ID of the spend condition to be retrieved

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
id
string GUID

The spend conditions ID

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The spend condition name

Example:
Happy Hour
organisations
Array
Object
id
string

The IDs of organisations to be considered as conditions

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the organisations

Example:
X-CAFE
locations
Array

The locations of the specific organisation

Object
name
string
Example:
Head Office
address_line_1
string
Example:
Elia Papakyriakou 21
address_line_2
string
Example:
7 Tower Stars
state_province_county
string
Example:
Egkomi
town_city
string
Example:
Nicosia
postal_code
string
Example:
2415
country_code
string
Example:
CY
lat
string
Example:
35.157115
lon
string
Example:
33.313719
googleplaceid
string
Example:
ChIJrTLr-GyuEmsRBfy61i59si0
type
string

The organisation type

Enumeration:
MERCHANT
VENUE
RETAILER
DISTRIBUTOR
products
Array
Object
id
string GUID

The ID of the product type provided

Example:
6A24D2B5E44F44B28451FE021FCAD51E
id_type
string

The product type that will be used as condition

Enumeration:
PRODUCT
TYPE
FAMILY
BRAND
name
string

The name based on the product type

Example:
Coffee
description
string Brazilian Coffee

The description based on the product type

timings
Array
Object
month
integer

The month as a condition (1-12)

Example:
1
day
integer

The day of the week as condition (1-7), 1 is Sunday

Example:
1
start_time
string

The start time of the day in 24 Hour format

Example:
19:00
end_time
string

The end time of the day in 24 Hour format

Example:
21:00
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/spend_conditions/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E",
    "name": "Happy Hour",
    "organisations": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "name": "X-CAFE",
            "locations": [
                {
                    "name": "Head Office",
                    "address_line_1": "Elia Papakyriakou 21",
                    "address_line_2": "7 Tower Stars",
                    "state_province_county": "Egkomi",
                    "town_city": "Nicosia",
                    "postal_code": "2415",
                    "country_code": "CY",
                    "lat": "35.157115",
                    "lon": "33.313719",
                    "googleplaceid": "ChIJrTLr-GyuEmsRBfy61i59si0"
                }
            ],
            "type": "VENUE"
        }
    ],
    "products": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "id_type": "FAMILY",
            "name": "Coffee",
            "description": ""
        }
    ],
    "timings": [
        {
            "month": 1,
            "day": 1,
            "start_time": "19:00",
            "end_time": "21:00"
        }
    ]
}
Stock
GET /stock
POST /warehouse_transaction
POST /devices/{id}/ownership_transfer
PUT /devices/{id}
GET /devices
GET /devices/{id}
Get Stock Balance
GET /stock

Retrieves the stock balance

Request parameters

warehouse_id
string GUID optional

The warehouse for which the stock will be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E
product_id
string GUID optional

The product for which the stock will be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
warehouse
Object
id
string GUID

The warehouse ID

Example:
6A24D2B5E44F44B28451FE021FCAD51E
owned_by
Object

The organisation that owns the warehouse

id
string GUID

The organisation id

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The organisation name

Example:
ORGANISATION
stock_information
Object
product
Object
id
string GUID

The ID of the product

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the product

Example:
Set-top-box
is_traceable
boolean

Defines whether the product is traceable

Example:
true
stock_balance
integer

Defines the quantity of products that exist in the warehouse

Example:
100
devices
Object

The devices list in case of traceable product

id
string GUID

The ID of the device

Example:
6A24D2B5E44F44B28451FE021FCAD51E
serial_number
string

The serial number of the device

Example:
STB123456
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/stock HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "warehouse": {
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "owned_by": {
                    "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                    "name": "ORGANISATION"
                }
            },
            "stock_information": {
                "product": {
                    "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                    "name": "Set-top-box",
                    "is_traceable": "true"
                },
                "stock_balance": 100,
                "devices": {
                    "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                    "serial_number": "STB123456"
                }
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Create Warehouse Transaction
POST /warehouse_transaction

Creates a stock in or stock adjustment warehouse transaction

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
type
string

The type of the warehouse transaction

Enumeration:
STOCK_IN
ADJUSTMENT
MOVEMENT
items
Array

The items to be included in the warehouse transaction

Object
product_id
string GUID

The product ID of the warehouse transaction item

Example:
6A24D2B5E44F44B28451FE021FCAD51E
supplier
string

The supplier of the products (applicable for stock in transaction)

Example:
SUPPLIER
description
string

A description for the warehouse transaction

Example:
A stock in transaction to import modems
cost_per_unit
number

The cost per unit (applicable only for stock in transaction)

Example:
10.5
stock_in_quantity
integer

The quantity to stock in (applicable only for stock in transaction)

Example:
10
adjust_by_quantity
string

The quantity to adjust the product by, including a + or - sign (applicable only for adjustment transaction)

Example:
+10
devices
Array

The devices to be included in stock in or adjustment transaction (appicable only for traceable products)

string GUID
Example:
6A24D2B5E44F44B28451FE021FCAD51E
warehouse_id
string GUID

The warehouse that it’s affected by all warehouse transactions

Example:
6A24D2B5E44F44B28451FE021FCAD51E
destination_warehouse_id
string GUID

The ID of the warehouse to which the items will be moved (applicable only for movement transaction)

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the warehouse transaction

Example:
6A24D2B5E44F44B28451FE021FCAD51E
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/warehouse_transaction HTTP/1.1 

Content-Type: application/json

{
    "type": "ADJUSTMENT",
    "items": [
        {
            "product_id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "supplier": "SUPPLIER",
            "description": "A stock in transaction to import modems",
            "cost_per_unit": 10.5,
            "stock_in_quantity": 10,
            "adjust_by_quantity": "+10",
            "devices": [
                "6A24D2B5E44F44B28451FE021FCAD51E"
            ],
            "warehouse_id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "destination_warehouse_id": "6A24D2B5E44F44B28451FE021FCAD51E"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E"
}
Device Transfer
POST /devices/{id}/ownership_transfer

Transfer the ownership of a device from an organisation of classification Distributor or Retailer to a Contact OR to a Contact to another Contact

Path variables

id
string GUID required

The ID of the device to be transferred

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
origin_entity
string

The entity that will transfer the ownership of the device

Enumeration:
ORGANISATION
CONTACT
origin_id
string GUID

The ID of the entity that will transfer the ownership of the device

Example:
6A24D2B5E44F44B28451FE021FCAD51E
destination_id
string GUID

The ID of the Contact to receive the ownership of the device

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the device

Example:
6A24D2B5E44F44B28451FE021FCAD51E
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/devices/6A24D2B5E44F44B28451FE021FCAD51E/ownership_transfer HTTP/1.1 

Content-Type: application/json

{
    "origin_entity": "CONTACT",
    "origin_id": "6A24D2B5E44F44B28451FE021FCAD51E",
    "destination_id": "6A24D2B5E44F44B28451FE021FCAD51E"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E"
}
Update Device
PUT /devices/{id}

Updates the device’s location or/and status

Path variables

id
string GUID required

The ID of the device to be updated

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
status
string GUID

The status of the DEVICE

Example:
6A24D2B5E44F44B28451FE021FCAD51E
spatial_location
string

The spatial location of the device (when located in the warehouse)

installation_location
string

The installation location of the device (when used by a subscriber)

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the device

Example:
6A24D2B5E44F44B28451FE021FCAD51E
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/devices/6A24D2B5E44F44B28451FE021FCAD51E HTTP/1.1 

Content-Type: application/json

{
    "status": "6A24D2B5E44F44B28451FE021FCAD51E",
    "spatial_location": "",
    "installation_location": ""
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "6A24D2B5E44F44B28451FE021FCAD51E"
}
List Devices
GET /devices

Updates the device’s location or/and status

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
device_id
string GUID

The ID of the device

Example:
6A24D2B5E44F44B28451FE021FCAD51E
product
Object
id
string GUID

The ID of the product

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the product

Example:
Set-top-box
serial_number
string

The device’s serial number

Example:
STB123456
status
Object

The status of the device

id
string GUID

The ID of the status

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the status

Example:
AVAILABLE
owner
Object

The device owner information

type
string

The type of the owner

Enumeration:
BUSINESS/SUBSIDIARY
RETAILER/DISTRIBUTOR
CONTACT
id
string GUID

The ID of the device owner

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the device owner

Example:
John Johnson
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/devices HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "device_id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "product": {
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "name": "Set-top-box"
            },
            "serial_number": "STB123456",
            "status": {
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "name": "AVAILABLE"
            },
            "owner": {
                "type": "RETAILER/DISTRIBUTOR",
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "name": "John Johnson"
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Device
GET /devices/{id}

Retrieves a specific device along with the device’s history

Path variables

id
string GUID required

The ID of the device to be retrieved

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
device_id
string GUID

The ID of the device

Example:
6A24D2B5E44F44B28451FE021FCAD51E
product
Object
id
string GUID

The ID of the product

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the product

Example:
Set-top-box
serial_number
string

The device’s serial number

Example:
STB123456
status
Object

The status of the device

id
string GUID

The ID of the status

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the status

Example:
AVAILABLE
owner
Object

The device owner information

type
string

The type of the owner

Enumeration:
BUSINESS/SUBSIDIARY
RETAILER/DISTRIBUTOR
CONTACT
id
string GUID

The ID of the device owner

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the device owner

Example:
John Johnson
history
Array

The device’s history entries, retrieved DESC based on performed date

Object
action
string

The action that was performed on the device

Enumeration:
STOCK_IN
STOCK_OUT
STOCK_MOVEMENT
SALE
RETURN
RENT
TRANSFER
IMPORT
performed_on
integer epoch

The date and time that the action was performed

Example:
1594884977
performed_by
Object

The user that performed the action

id
string GUID

The ID of the user

Example:
6A24D2B5E44F44B28451FE021FCAD51E
username
string

The username of the user

Example:
johnjohnson
origin_type
string

The entity type from which the action was performed

Enumeration:
CONTACT
WAREHOUSE
ORGANISATION
SUBSCRIPTION
origin_id
string GUID

The ID of the entity from which the action was performed

Example:
6A24D2B5E44F44B28451FE021FCAD51E
destination_type
string

The entity type to which the item was destined to (if available)

Enumeration:
CONTACT
WAREHOUSE
ORGANISATION
SUBSCRIPTION
destination_id
string GUID

The ID of the entity to which the item was destined to (if available)

Example:
6A24D2B5E44F44B28451FE021FCAD51E
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/devices/6A24D2B5E44F44B28451FE021FCAD51E HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "device_id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "product": {
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "name": "Set-top-box"
            },
            "serial_number": "STB123456",
            "status": {
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "name": "AVAILABLE"
            },
            "owner": {
                "type": "BUSINESS/SUBSIDIARY",
                "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                "name": "John Johnson"
            },
            "history": [
                {
                    "action": "TRANSFER",
                    "performed_on": 1594884977,
                    "performed_by": {
                        "id": "6A24D2B5E44F44B28451FE021FCAD51E",
                        "username": "johnjohnson"
                    },
                    "origin_type": "ORGANISATION",
                    "origin_id": "6A24D2B5E44F44B28451FE021FCAD51E",
                    "destination_type": "ORGANISATION",
                    "destination_id": "6A24D2B5E44F44B28451FE021FCAD51E"
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Subscriptions
GET /contacts/{id}/subscriptions
GET /subscriptions/{id}/history
PUT /subscriptions/{id}/actions
GET /contact/{id}/services
GET /subscription_services/{id}/history
PUT /subscription_services/{id}/actions
List Contact Subscriptions
GET /contacts/{id}/subscriptions

Returns a list of subscriptions owned by a contact

Path variables

id
string required

Request parameters

include_only_terminated
boolean optional

By default, terminated subscriptions are excluded. Use this parameter to get a list of terminated subscriptions only.

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
code
string
first_activation_date
integer
Example:
12345567
next_billing_cycle
integer
Example:
1234567
life_cycle_state
string
Enumeration:
ACTIVE
CANCELLED
account
Object
id
string
number
string
name
string
terms
Object
agreement_date
integer
Example:
1
billing_period
Object
duration
integer
Example:
1
uot
string
Example:
MONTHS
billing_day
Object
day_of_month
integer
Example:
1
day_of_week
string
Example:
MONDAY
payment_method
Object
id
string

The contact’s payment method unique identifier

type
string
Enumeration:
CARD
WALLET
last4
string
Example:
1234
brand
string
Example:
VISA
funding_type
string
Enumeration:
DEBIT
CREDIT
PREPAID
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contacts/{id}/subscriptions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "code": "",
            "first_activation_date": 12345567,
            "next_billing_cycle": 1234567,
            "life_cycle_state": "CANCELLED",
            "account": {
                "id": "",
                "number": "",
                "name": ""
            },
            "terms": {
                "agreement_date": 1,
                "billing_period": {
                    "duration": 1,
                    "uot": "MONTHS"
                },
                "billing_day": {
                    "day_of_month": 1,
                    "day_of_week": "MONDAY"
                },
                "payment_method": {
                    "id": "",
                    "type": "WALLET",
                    "last4": "1234",
                    "brand": "VISA",
                    "funding_type": "CREDIT"
                }
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Subscription History
GET /subscriptions/{id}/history

Path variables

id
string required

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
terms
Array
Object
id
string
version
integer
Example:
1
effective_from
integer
Example:
1234567
effective_to
integer
Example:
1234567
agreement_date
integer
Example:
11234567
billing_period
Object
duration
integer
Example:
12
uot
string
Example:
MONTHS
billing_day
Object
day_of_month
integer
Example:
15
day_of_week
string
Example:
MONDAY
payment_method
Object
id
string
type
string
Example:
CARD
last4
integer
Example:
1234
brand
string
Example:
VISA
funding_type
string
Example:
DEBIT
previous_services
Array
Object
id
string
classification
string
Example:
TERMED_SERVICE
life_cycle_state
string
Example:
SWAPPED
activated_on
integer
Example:
12344567
removed_on
integer
Example:
123456778
product
Object
id
string
sku
string
name
string
future_service_changes
Array
Object
id
string
classification
string
Example:
TERMED_SERVICE
to_be_added_on
integer
Example:
12344567
to_be_removed_on
integer
Example:
1234567
product
Object
id
string
sku
string
name
string
action
Object
id
string
behaviour_code
string
business_classification_code
string
life_cycle_state_history
Object
active_state
Object
start_date
integer
Example:
1
end_date
integer
Example:
1
started_by_action
Object
id
string
behaviour_code
string
business_classification_code
string
ended_by_action
Object
id
string
behaviour_code
string
business_classification_code
string
cancelled_state
Object
start_date
integer
Example:
1
started_by_action
Object
id
string
behaviour_code
string
business_classifcation_code
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/subscriptions/{id}/history HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "terms": [
        {
            "id": "",
            "version": 1,
            "effective_from": 1234567,
            "effective_to": 1234567,
            "agreement_date": 11234567,
            "billing_period": {
                "duration": 12,
                "uot": "MONTHS"
            },
            "billing_day": {
                "day_of_month": 15,
                "day_of_week": "MONDAY"
            },
            "payment_method": {
                "id": "",
                "type": "CARD",
                "last4": 1234,
                "brand": "VISA",
                "funding_type": "DEBIT"
            }
        }
    ],
    "previous_services": [
        {
            "id": "",
            "classification": "TERMED_SERVICE",
            "life_cycle_state": "SWAPPED",
            "activated_on": 12344567,
            "removed_on": 123456778,
            "product": {
                "id": "",
                "sku": "",
                "name": ""
            }
        }
    ],
    "future_service_changes": [
        {
            "id": "",
            "classification": "TERMED_SERVICE",
            "to_be_added_on": 12344567,
            "to_be_removed_on": 1234567,
            "product": {
                "id": "",
                "sku": "",
                "name": ""
            },
            "action": {
                "id": "",
                "behaviour_code": "",
                "business_classification_code": ""
            }
        }
    ],
    "life_cycle_state_history": {
        "active_state": {
            "start_date": 1,
            "end_date": 1,
            "started_by_action": {
                "id": "",
                "behaviour_code": "",
                "business_classification_code": ""
            },
            "ended_by_action": {
                "id": "",
                "behaviour_code": "",
                "business_classification_code": ""
            }
        },
        "cancelled_state": {
            "start_date": 1,
            "started_by_action": {
                "id": "",
                "behaviour_code": "",
                "business_classifcation_code": ""
            }
        }
    }
}
Perform Subscription Actions
PUT /subscriptions/{id}/actions

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
behaviour_code
string required
Enumeration:
CHANGE_TERMS
TERMINATE_SUBSCRIPTION
PAUSE_SUBSCRIPTION
business_classification_code
string required
Enumeration:
CANCEL_SUBSCRIPTION
REGRET_SUBSCRIPTION
PAUSE_SUBSCRIPTION
CHANGE_BLLING_DAY
CHANGE_BILLING_FREQUENCY
CHANGE_PAYMENT_METHOD
classification_id
string
scheduled_date
integer
use_proposed_date
boolean
payment_method_id
string

Required when changing the payment preference of the subscription’s terms

billing_day
Object

Required when changing the billing day of the subscription’s terms

day_of_week
string
Example:
MONDAY
day_of_month
integer
Example:
15
billing_period
Object

Required when changing the billing frequency of the subscription’s terms

duration
integer
Example:
3
uot
string
Example:
MONTHS
agreement_date
integer

Required when changing the subscription’s terms

number_of_days
integer

Required when pausing all of the services of a subscription

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/subscriptions/{id}/actions HTTP/1.1 

Content-Type: application/json

{
    "behaviour_code": "TERMINATE_SUBSCRIPTION",
    "business_classification_code": "CHANGE_PAYMENT_METHOD",
    "classification_id": "",
    "scheduled_date": 1,
    "use_proposed_date": true,
    "payment_method_id": "",
    "billing_day": {
        "day_of_week": "MONDAY",
        "day_of_month": 15
    },
    "billing_period": {
        "duration": 3,
        "uot": "MONTHS"
    },
    "agreement_date": 1,
    "number_of_days": 1
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
List Contact Services
GET /contact/{id}/services

Returns a list of services that a customer subscribed to

Path variables

id
string required

Request parameters

life_cycle_state
string optional

If not specified, then all services of a subscription are returned

classification
string optional

The classification of the service product

Enumeration:
TERMED_SERVICE
EXPENSE_SERVICE
ONE_TIME_SERVICE
subscription_id
string optional

If specified, then the services of the specified subscription will be retrieved

include_terminated
boolean optional

By default, churned services are ecluded. Use this parameter to also retrieve the churrned services (churned due to termination or a change or expired one-time services)

Default:
false
include_future
boolean optional

By defualt, only existing, non-churned services are returned. Use this parameter to also retrieve services which are scheduled to be added and activated on a subscription

Default:
false

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
life_cycle_state
string
Example:
EFFECTIVE
added_on
integer
Example:
1234567
removed_on
integer
Example:
1234567
first_activated_on
integer
Example:
1234567
rated_up_to
integer
Example:
1234567
rating_state
string
Example:
COMPLETED
product
Object
id
string
sku
string
name
string
classification
string
Example:
TERMED_SERVICE
type_composition
string
Example:
FLEXIBLE_BUNDLE
price
Object
price
number
Example:
9.99
currency
string
Example:
EUR
price_type
string
Example:
FIXED
billing_period
string
Example:
MONTH
rating
Object
state
string
Example:
PENDING
rated_up_to
integer
Example:
12345678
terms
Object
billing_model
string
Example:
PRE_BILL
auto_renew
boolean
Example:
true
term_state
string
Example:
IN_SERVICE_TERMS
term_period
Object
duration
integer
Example:
18
uot
string
Example:
MONTHS
start_date
integer
Example:
12345678
end_date
integer
Example:
12345678
trial_period
Object
trial_state
string
Enumeration:
IN_TRIAL
TRIAL_ENDED
start_date
integer
Example:
12345678
end_date
integer
Example:
12345677
duration
integer
uot
string
Enumeration:
DAYS
MONTHS
validity_period
Object

Applicable only for One-time services

start_date
integer
end_date
integer
subscription
Object
id
string
code
string
components
Array
Object
added_on
integer
frst_activated_on
integer
product
Object
id
string
sku
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/contact/{id}/services HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "life_cycle_state": "EFFECTIVE",
            "added_on": 1234567,
            "removed_on": 1234567,
            "first_activated_on": 1234567,
            "rated_up_to": 1234567,
            "rating_state": "COMPLETED",
            "product": {
                "id": "",
                "sku": "",
                "name": "",
                "classification": "TERMED_SERVICE",
                "type_composition": "FLEXIBLE_BUNDLE"
            },
            "price": {
                "price": 9.99,
                "currency": "EUR",
                "price_type": "FIXED",
                "billing_period": "MONTH"
            },
            "rating": {
                "state": "PENDING",
                "rated_up_to": 12345678
            },
            "terms": {
                "billing_model": "PRE_BILL",
                "auto_renew": true,
                "term_state": "IN_SERVICE_TERMS",
                "term_period": {
                    "duration": 18,
                    "uot": "MONTHS",
                    "start_date": 12345678,
                    "end_date": 12345678
                }
            },
            "trial_period": {
                "trial_state": "IN_TRIAL",
                "start_date": 12345678,
                "end_date": 12345677
            },
            "validity_period": {
                "start_date": 1,
                "end_date": 1
            },
            "subscription": {
                "id": "",
                "code": ""
            },
            "components": [
                {
                    "id": "",
                    "sku": "",
                    "name": ""
                }
            ]
        }
    ]
}
Get Subscription Service History
GET /subscription_services/{id}/history

Returns the life cycle state change history of a subscription service

Path variables

id
string required

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
from_date
integer optional
to_date
integer optional

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
start_date
integer
Example:
1234567
end_date
integer
Example:
1234567
life_cycle_state
string
Example:
EFFECTIVE
billing_information
Object
directive
string
Example:
TO_BE_BILLED
effective_date
integer
Example:
1234567
billable_period_date
integer
Example:
134567
rating_state
string
Example:
PENDING
rated_up_to
integer
Example:
1234567
started_by_action
Object
id
string
code
string
behaviour_code
string
Example:
BECOME_SUBSCRIBER
business_classification_code
string
Example:
CREATE_AND_ACTIVATE
ended_by_action
Object
id
string
code
string
behaviour_code
string
Example:
PAUSE_SUBSCRIPTION
business_classification_code
string
Example:
PAUSE_SUBSCRIPTION
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/subscription_services/{id}/history HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "start_date": 1234567,
            "end_date": 1234567,
            "life_cycle_state": "EFFECTIVE",
            "billing_information": {
                "directive": "TO_BE_BILLED",
                "effective_date": 1234567,
                "billable_period_date": 134567,
                "rating_state": "PENDING",
                "rated_up_to": 1234567
            },
            "started_by_action": {
                "id": "",
                "code": "",
                "behaviour_code": "BECOME_SUBSCRIBER",
                "business_classification_code": "CREATE_AND_ACTIVATE"
            },
            "ended_by_action": {
                "id": "",
                "code": "",
                "behaviour_code": "PAUSE_SUBSCRIPTION",
                "business_classification_code": "PAUSE_SUBSCRIPTION"
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Perform Subscription Service Actions
PUT /subscription_services/{id}/actions

Performs various actions on an existing subscription service

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
behaviour_code
string required
Enumeration:
TERMINATE
CHANGE_TERMS
CHANGE_SERVICE
CHANGE_BUNDLE
PAUSE
business_classification_code
string required
Enumeration:
REMOVE
CANCEL
REGRET
UPGRADE
DOWNGRADE
SWITCH
RENEW
RENEWAL_OPT_IN
RENEWAL_OPT_OUT
CHANGE_BUNDLE
PAUSE
classification_id
string
scheduled_date
integer
Example:
12345678
use_proposed_scheduling
boolean
Example:
true
number_of_days
integer
change_to_service_id
string

The unique identifier of the service with which the current service will chage to. Applicable and mandatory if behaviour code is set to “Change Service”.

renew_terms
boolean
auto_renewal_opt_in
boolean
auto_renewal_opt_out
boolean
components
Array of string

Applicable and mandatory when amending a service with a flexible composition.

Responses

200 OK
Body
Object
id
string

The unique identifier of the subscription action

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/subscription_services/{id}/actions HTTP/1.1 

Content-Type: application/json

{
    "behaviour_code": "CHANGE_TERMS",
    "business_classification_code": "RENEWAL_OPT_IN",
    "classification_id": "",
    "scheduled_date": 12345678,
    "use_proposed_scheduling": true,
    "number_of_days": 1,
    "change_to_service_id": "",
    "components": [
        ""
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Actions
GET /subscirptions/{id}/actions
GET /subscirptions_actions/{id}
PUT /subscription_actions/{id}
GET /subscirptions/{id}/allowed_actions
GET /services/{id}/allowed_actions
List Subscription Actions
GET /subscirptions/{id}/actions

Retrieves a list of actions for a specific subscription

Path variables

id
string required

Request parameters

life_cycle_state
string optional
Enumeration:
EXECUTED
SCHEDULED
REJECTED
CANCELLED
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
code
string
life_cycle_state
string
behaviour_code
string
business_classification_code
string
executed_on
integer
Example:
1234567
scheduled_on
integer
Example:
1234567
cancelled_on
integer
Example:
1234567
rejected_on
integer
Example:
1234567
classification
Object
id
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Get Subscription Action
GET /subscirptions_actions/{id}

Retrieves detailed information of an existing subscription action

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
code
string
life_cycle_state
string
behaviour_code
string
business_classification_code
string
executed_on
integer
Example:
1234567
scheduled_on
integer
Example:
1234567
cancelled_on
integer
Example:
1234567
rejected_on
integer
Example:
1234567
classification
Object
id
string
name
string
services
Array
Object
action
string
Example:
ADDED
product
Object
id
string
sku
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/subscirptions_actions/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "code": "",
    "life_cycle_state": "",
    "behaviour_code": "",
    "business_classification_code": "",
    "executed_on": 1234567,
    "scheduled_on": 1234567,
    "cancelled_on": 1234567,
    "rejected_on": 1234567,
    "classification": {
        "id": "",
        "name": ""
    },
    "services": [
        {
            "action": "ADDED",
            "product": {
                "id": "",
                "sku": "",
                "name": ""
            }
        }
    ]
}
Update Subscription Action
PUT /subscription_actions/{id}

Update an existing subscripton action. Only subscription actions in Scheduled life cycle state can be updated

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
action
string
Enumeration:
CANCEL

Allowed only for Scheduled actions

RESUBMIT

Allowed only for Rejected actions

UPDATE

Allowed only for Scheduled actions

classification_id
string
scheduled_date
integer
Example:
1234567
period_settings
Object
duration_in_days
integer
Example:
5
ends_on
integer
Example:
1234567

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/subscription_actions/{id} HTTP/1.1 

Content-Type: application/json

{
    "action": "CANCEL",
    "classification_id": "",
    "scheduled_date": 1234567,
    "period_settings": {
        "duration_in_days": 5,
        "ends_on": 1234567
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
List Allowed Subscription Actions
GET /subscirptions/{id}/allowed_actions

Retrieves a list of subscription actions tha can be perofrmed on a specific subscription at a specific period of time

Path variables

id
string required

Request parameters

execution_date
integer optional

The date on which the subscription action will be executed. If not specified, the current date is considered

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
behaviour_code
string
business_classification_code
string
services
Array

A list of services that will be affected by the action

Object
id
string
product
Object
id
string
sku
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/subscirptions/{id}/allowed_actions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[ 
    {
        "behaviour_code": "",
        "business_classification_code": ""
    }
]
List Allowed Subscription Service Actions
GET /services/{id}/allowed_actions

Retrieves a list of subscription actions tha can be perofrmed on a specific services at a specific period of time

Path variables

id
string required

Request parameters

execution_date
integer optional

The date on which the subscription action will be executed. If not specified, the current date is considered

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
behaviour_code
string
business_classification_code
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/services/{id}/allowed_actions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "behaviour_code": "",
    "business_classification_code": ""
}
Topups
POST /topups
GET /topups/{id}
Create Topup
POST /topups

Create a new Topup for an Account or a Wallet

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
account_id
string GUID

The account unique identification for which the topup will be performed. Either account or wallet is applicable and mandatory

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
wallet_id
string GUID

The wallet unique identification for which the topup will be performed. Either account or wallet is applicable and mandatory

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
topup_date
number

Date of Topup Request

amount
number

The amount of the topup

Example:
200
payment_method
string required

Indicates the method of collecting money

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
PAYPAL
payment_method_id
string

The ID of the actual payment method if any

code
string

A unique 16-digit code that if not provided, it is auto-generated

Example:
1234567891234567

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the topup

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/topups HTTP/1.1 

Content-Type: application/json

{
    "account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "wallet_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "amount": 200,
    "payment_method": "CASH",
    "payment_method_id": ""
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Get Topup
GET /topups/{id}

Get an existing topup

Path variables

id
string GUID required

The unique identifier of the topup to be retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
code
string

The code of the topup

Example:
1234567891234567
life_cycle_state
string

The life cycle state of the topup

Enumeration:
POSTED
account
Object

The account for which the topup will be performed. Either account or wallet is applicable.

id
string

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number

Example:
AC123456
wallet
Object

The wallet for which the topup will be performed. Either account or wallet is applicable.

id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

The unique code

Example:
123456AAVV123685
topup_date
integer epoch

The created date of the topup. Defaults to the current date

Example:
1583846865
amount
number

The amount of the topup

Example:
200
payment_method
string

Indicates the method of collecting money

Enumeration:
CASH
BANK_TRANSFER
CARD
DIRECT_DEBIT
PAYPAL
payment_method_id
string

The ID of the actual payment method if any

contact
Object

The contact for which the topup was performed

id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that owns the topup

Example:
John Johnson
code
string

The unique code of the contact that owns the topup

Example:
C123
currency_code
string

The topup’s currency code

Example:
EUR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/topups/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "code": "1234567891234567",
    "life_cycle_state": "POSTED",
    "account": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "number": "AC123456"
    },
    "wallet": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "code": "123456AAVV123685"
    },
    "topup_date": 1583846865,
    "amount": 200,
    "payment_method": "PAYPAL",
    "payment_method_id": "",
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Johnson",
        "code": "C123"
    }
}
Transfers
POST /transfers
GET /transfers/{id}
Create Transfer
POST /transfers

Create a new Transfer between accounts, wallets or account and wallet

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
origin
Object

The origin of the transfer. Can be either an account or a wallet

account_id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
wallet_id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
destination
Object

The destination of the transfer. Can be either an account or a wallet

account_id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
wallet_id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
transfer_date
number

date of transfer

amount
number

The amount of the transfer

Example:
200
code
string

A uniquem 16-digit code that if not provided, it is auto-generated

Example:
1234567891234567

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the transfer

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/transfers HTTP/1.1 

Content-Type: application/json

{
    "origin": {
        "account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "wallet_id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
    },
    "destination": {
        "account_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "wallet_id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
    },
    "amount": 200
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Get Transfer
GET /transfers/{id}

Get an existing transfer

Path variables

id
string GUID required

The unique identifier of the transfer to be retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
code
string

The code of the topup

Example:
1234567891234567
life_cycle_state
string

The life cycle state of the transfer

Enumeration:
POSTED
transfer_date
number

The created date of the transfer.

amount
number

The amount of the transfer

Example:
200
origin
Object

The origin of the transfer. Can be either an account or a wallet. Information about the Contact is retrieved for both options

account
Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number

Example:
AC123456
wallet
Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

The unique code

Example:
123456AAVV123685
contact
Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that originated the transfer

Example:
John Johnson
code
string

The unique code of the contact that originated the transfer

Example:
C123
destination
Object

The destination of the transfer. Can be either an account or a wallet. Information about the Contact is retrieved for both options

account
Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
number
string

The unique number

Example:
AC123456
wallet
Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

The unique code

Example:
123456AAVV123685
contact
Object
id
string GUID

The unique ID

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The full name of the contact that the transfer was sent to

Example:
Jane Johnson
code
string

The unique code of the contact that the transfer was sent to

Example:
C124
currency_code
string

The transfer’s currency defaults to the origin’s account currency

Example:
EUR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/transfers/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "code": "1234567891234567",
    "life_cycle_state": "POSTED",
    "transfer_date": 1,
    "amount": 200,
    "origin": {
        "account": {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "number": "AC123456"
        },
        "wallet": {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "code": "123456AAVV123685"
        },
        "contact": {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "John Johnson",
            "code": "C123"
        }
    },
    "destination": {
        "account": {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "number": "AC123456"
        },
        "wallet": {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "code": "123456AAVV123685"
        },
        "contact": {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Jane Johnson",
            "code": "C124"
        }
    },
    "currency_code": "EUR"
}
Users & Authentication
POST /users/authenticate
POST /users/refresh
POST /users/forgot_password
POST /users/change_password
POST /users/{id}/sign_out
Authenticate User
POST /users/authenticate

Authenticate a user and provide a token to be used for subsequent API calls

Request headers

api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

Object
username
string required

The credential’s username

Example:
johndoe@crm.com
password
string required

The credential’s password

Example:
password1234

Responses

200 200

OK

Body
Object

Authentication information provided for an admin user

access_token
string

The token that can be used in subsequent API calls

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw
refresh_token
string

The token that can be used in generate a new access token

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w
expiration_date
integer epoch

The token expiration date

Example:
1579880629
first_name
string

The user’s first name

Example:
John
last_name
string

The user’s last name

Example:
Doe
email
string

The user’s email address

Example:
johndoe@crm.com
organisations
Array

The organisations that the user is joined

Object
external_id
string GUID

The organisation’s external identifier

Example:
QWERTY12345671234567324ETFTGBY78
org_type
string

The organisation type

Enumeration:
CLOUD_OPERATOR
SERVICE_OWNER
ORGANISATION
name
string

The organisation name

Example:
CRMdotCOM
progress
Object

The organisation progress status

invite_user
boolean

Defines whether a user (other than the owner) is invited

Example:
true
create_contact
boolean

Defines whether a contact is created

Example:
false
create_reward_offer
boolean

Defines whether a reward offer is created

Example:
false
create_merchant
boolean

Defines whether a merchant is created (applicable only for Business organisation)

Example:
false
create_venue
boolean

Defines whether a venue is created

Example:
false
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/users/authenticate HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95
Content-Type: application/json

{
    "username": "johndoe@crm.com",
    "password": "password1234"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw",
    "refresh_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w",
    "expiration_date": 1579880629,
    "first_name": "John",
    "last_name": "Doe",
    "email": "johndoe@crm.com",
    "organisations": [
        {
            "external_id": "QWERTY12345671234567324ETFTGBY78",
            "org_type": "ORGANISATION",
            "name": "CRMdotCOM"
        }
    ],
    "progress": {
        "invite_user": "true",
        "create_contact": "false",
        "create_reward_offer": "false",
        "create_merchant": "false",
        "create_venue": "false"
    }
}
Refresh User
POST /users/refresh

Provide authentication information using a refresh token that can be used in subsequent API calls

Request headers

refresh_token
string required

The token that will be used to issue new authentication information

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhMjc4ZDNlNS05YjhlLTQzNmUtOTIzMC03MGYzZTJkZjFjYTUiLCJleHAiOjE1Njg1NTQxMjJ9.LemqPPThkqfakkKS6CdkNvV1Lnc88CWirEpHOPnWjJPQz02zgkKSwfbvrEsl3OmR2LUhDILsOXf4x-GPFmNJCg

Responses

200 200

OK

Body
Object

Authentication information provided for an admin user

access_token
string

The token that can be used in subsequent API calls

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw
refresh_token
string

The token that can be used in generate a new access token

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w
expiration_date
integer epoch

The token expiration date

Example:
1579880629
first_name
string

The user’s first name

Example:
John
last_name
string

The user’s last name

Example:
Doe
email
string

The user’s email address

Example:
johndoe@crm.com
organisations
Array

The organisations that the user is joined

Object
external_id
string GUID

The organisation’s external identifier

Example:
QWERTY12345671234567324ETFTGBY78
org_type
string

The organisation type

Enumeration:
CLOUD_OPERATOR
SERVICE_OWNER
ORGANISATION
name
string

The organisation name

Example:
CRMdotCOM
progress
Object

The organisation progress status

invite_user
boolean

Defines whether a user (other than the owner) is invited

Example:
true
create_contact
boolean

Defines whether a contact is created

Example:
false
create_reward_offer
boolean

Defines whether a reward offer is created

Example:
false
create_merchant
boolean

Defines whether a merchant is created (applicable only for Business organisation)

Example:
false
create_venue
boolean

Defines whether a venue is created

Example:
false
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/users/refresh HTTP/1.1 

refresh_token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhMjc4ZDNlNS05YjhlLTQzNmUtOTIzMC03MGYzZTJkZjFjYTUiLCJleHAiOjE1Njg1NTQxMjJ9.LemqPPThkqfakkKS6CdkNvV1Lnc88CWirEpHOPnWjJPQz02zgkKSwfbvrEsl3OmR2LUhDILsOXf4x-GPFmNJCg

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw",
    "refresh_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w",
    "expiration_date": 1579880629,
    "first_name": "John",
    "last_name": "Doe",
    "email": "johndoe@crm.com",
    "organisations": [
        {
            "external_id": "QWERTY12345671234567324ETFTGBY78",
            "org_type": "BUSINESS",
            "name": "CRMdotCOM"
        }
    ],
    "progress": {
        "invite_user": "true",
        "create_contact": "false",
        "create_reward_offer": "false",
        "create_merchant": "false",
        "create_venue": "false"
    }
}
Forgot Password
POST /users/forgot_password

Request a new password for an existing user (providing the user’s login email address, where such password reset email will be sent)

Request headers

api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

Object
email
string required

The email that will be used to request a new password

Example:
jd@crm.com

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/forgot_password HTTP/1.1 

Content-Type: application/json
api_key: 8c54d563-b991-4b76-8a83-557c08166f95

{
    "email": "jd@crm.com"
}

HTTP/1.1 200 OK 
Change Password
POST /users/change_password

Changes the password for a user (when a user requested a new one via Forgot Password)

Request body

Object
token
string required

The token that will verify that the client is trusted

Example:
ABCTKN123456798VGP2020
password
string required

The user’s new password

Example:
password1234

Responses

200 200

OK

Body
Object

Authentication information provided for an admin user

access_token
string

The token that can be used in subsequent API calls

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw
refresh_token
string

The token that can be used in generate a new access token

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w
expiration_date
integer epoch

The token expiration date

Example:
1579880629
first_name
string

The user’s first name

Example:
John
last_name
string

The user’s last name

Example:
Doe
email
string

The user’s email address

Example:
johndoe@crm.com
organisations
Array

The organisations that the user is joined

Object
external_id
string GUID

The organisation’s external identifier

Example:
QWERTY12345671234567324ETFTGBY78
org_type
string

The organisation type

Enumeration:
CLOUD_OPERATOR
SERVICE_OWNER
ORGANISATION
name
string

The organisation name

Example:
CRMdotCOM
progress
Object

The organisation progress status

invite_user
boolean

Defines whether a user (other than the owner) is invited

Example:
true
create_contact
boolean

Defines whether a contact is created

Example:
false
create_reward_offer
boolean

Defines whether a reward offer is created

Example:
false
create_merchant
boolean

Defines whether a merchant is created (applicable only for Business organisation)

Example:
false
create_venue
boolean

Defines whether a venue is created

Example:
false
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/change_password HTTP/1.1 

Content-Type: application/json

{
    "token": "ABCTKN123456798VGP2020",
    "password": "password1234"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw",
    "refresh_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w",
    "expiration_date": 1579880629
}
Sign Out User
POST /users/{id}/sign_out

Terminates the user’ session and will no longer be able to access the client (SPA)

Path variables

id
string GUID required

The user identifier that will be signed out

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/users/CAD1E31269B76D7A65ACCE45B2E68DFD/sign_out HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Users
POST /users/invite
POST /users/accept_invite
PUT /users/{id}
DELETE /users/{id}
GET /users
GET /users/{id}
POST /users/{id}/activate
POST /users/{id}/deactivate
POST /users/{id}/invite_resend
DELETE /users/{id}/invite_revoke
Invite new User
POST /users/invite

Invite a new user to an organisation with a specific role (invitation will be sent via the specified email)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
organisation_id
string GUID required

The organisation identifier that the user is invited to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
first_name
string required

The user’s first name

Example:
Jane
last_name
string required

The user’s last name

Example:
Doe
role_id
string GUID required

The user role

Example:
AUR1E31269B76D7A65ACCE45B2E68DFD
identity
Object required

The user’s identity

provider
string required

The identity type

Enumeration:
EMAIL
identity_challenge
string required

The identity challenge

Example:
jd@crm.com

Responses

200 200

OK

Body
Object
id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/invite HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "organisation_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "first_name": "Jane",
    "last_name": "Doe",
    "role_id": "AUR1E31269B76D7A65ACCE45B2E68DFD",
    "identity": {
        "type": "EMAIL",
        "identity_challenge": "jd@crm.com"
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Accept Invitation
POST /users/accept_invite

Accept a user’s invitation for joining an organisation

Request body

Object
token
string required

The token that will verify that the client is trusted

Example:
ABCTKN123456798VGP2020
password
string required

The user’s password

Example:
password1234

Responses

200 200

OK

Body
Object

Authentication information provided for an admin user

access_token
string

The token that can be used in subsequent API calls

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw
refresh_token
string

The token that can be used in generate a new access token

Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w
expiration_date
integer epoch

The token expiration date

Example:
1579880629
first_name
string

The user’s first name

Example:
John
last_name
string

The user’s last name

Example:
Doe
email
string

The user’s email address

Example:
johndoe@crm.com
organisations
Array

The organisations that the user is joined

Object
external_id
string GUID

The organisation’s external identifier

Example:
QWERTY12345671234567324ETFTGBY78
org_type
string

The organisation type

Enumeration:
CLOUD_OPERATOR
SERVICE_OWNER
ORGANISATION
name
string

The organisation name

Example:
CRMdotCOM
progress
Object

The organisation progress status

invite_user
boolean

Defines whether a user (other than the owner) is invited

Example:
true
create_contact
boolean

Defines whether a contact is created

Example:
false
create_reward_offer
boolean

Defines whether a reward offer is created

Example:
false
create_merchant
boolean

Defines whether a merchant is created (applicable only for Business organisation)

Example:
false
create_venue
boolean

Defines whether a venue is created

Example:
false
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/accept_invite HTTP/1.1 

Content-Type: application/json

{
    "token": "ABCTKN123456798VGP2020",
    "password": "password1234"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6IjhkY2MzNjgwLTBiOGEtMTFlYS05NTE4LTQyMDEwYTlhMDAwMyIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJzY29wZSI6WyJjdXN0b21lci13cml0ZSIsIm9yZGVyLXJlYWQiXSwicHJlZmVycmVkX3VzZXJuYW1lIjoiamQiLCJlbWFpbCI6ImpkQGNybS5jb20iLCJleHAiOjE1Nzk4ODA2Mjl9.-uJyEW-Y_QgHb1q-WHBBMew3J_TnUfvqy-NDFmIzFhbS3gkerE5QAqp4cgNMr5BiGcyt174UVhYGXp2Fg7BKcw",
    "refresh_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhY2U5ZDRkMi0wYjhkLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiI4ZGNjMzY4MC0wYjhhLTExZWEtOTUxOC00MjAxMGE5YTAwMDMiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiOGRjYzM2ODAtMGI4YS0xMWVhLTk1MTgtNDIwMTBhOWEwMDAzIiwic2NvcGUiOlsiY3VzdG9tZXItd3JpdGUiLCJvcmRlci1yZWFkIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImpkIiwiZW1haWwiOiJqZEBjcm0uY29tIiwiZXhwIjoxNTc5ODgwNjI5fQ.cW_g6ozy2OaP5Tx3l2QuzNeRBSXnNrP1AN6QoOqf6s95eVoUrld6bHRUdBt3H74CZyrxhp7Rs_uXtv17GhVz5w",
    "expiration_date": 1579880629
}
Update User
PUT /users/{id}

Update an existing user

Path variables

id
string GUID required

The user identifier that will be updated

Example:
CK1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
first_name
string nullable

The user’s first name

Example:
Jane
last_name
string nullable

The user’s last name

Example:
Doe
role_id
string GUID nullable

The user role

Example:
UR1234567890123456789012345678
preferred_language
string nullable

The language most preferred by the user for communication or translation

Example:
EN
contact_info
Array nullable

Information about the user’s contact details

Object
id
string GUID required nullable

The identifier of the user’s contact detail

Example:
CK1234567890123456789012345678
name
string nullable

The name of the user’s contact detail

Example:
Work
type
string required nullable

The type of the user’s contact detail

Enumeration:
EMAIL
PHONE
EXTENSION
value
string required nullable

The value of the user’s contact detail

Example:
janedoe@crm.com

Responses

200 200

OK

Body
Object
id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /users/CK1234567890123456789012345678 HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "first_name": "Jane",
    "last_name": "Doe",
    "role_id": "UR1234567890123456789012345678",
    "contact_info": [
        {
            "id": "CK1234567890123456789012345678",
            "name": "Work",
            "type": "EXTENSION",
            "value": "janedoe@crm.com"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete User
DELETE /users/{id}

Delete a user from a specific organisation

Path variables

id
string GUID required

The admin user identifier that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

The user will be deleted only from the specific organisation and not from all organisations that the user might belong

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /users/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search Users
GET /users

Search for users

Request parameters

search_value
string optional

The value of the search (case insensitive) across Full Name (first + last name), Email Address, Phone Number

Example:
John Doe
first_name
string optional

The user first name

Example:
John
last_name
string optional

The user last name

Example:
Doe
email_address
string optional

The user email address

Example:
johndoe@crm.com
pending_invitation
boolean optional

Defines wchich users should be returned (false: retrieve all users that have accepted their invitation, true: retrieve users that have pendingi invitation, null: retrieve all users)

Allow empty value: true
Example:
false
is_active
boolean optional

Defines which users will be retrieved based on their status

Example:
true
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array
Object
id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
first_name
string

The user’s first name

Example:
John
last_name
string

The user’s last name

Example:
Doe
preferred_language
string

The language most preferred by the user for communication or translation

is_active
boolean

The user’ status

Example:
true
invitation_date
integer epoch

The date when the user was invited

Example:
1581009106
role
Object

Information about the user roles

id
string GUID

The user role identifier

Example:
AUR1E31269B76D7A65ACCE45B2E68DFD
name
string

The user role name

Example:
Owner
contact_info
Array

Information about the user’s contact details

Object
id
string GUID

The user’s contact info identifier

Example:
AUR1E31269B76D7A65ACCE45B2E68DFD
name
string

The contact info name

Example:
Work
type
string

The user’s contact info type

Enumeration:
EMAIL
PHONE
EXTENSION
value
string

The value of the contact info

Example:
johndoe@crm.com
is_identity
string

Defines whether the contact info is used as an user’s identidy

Example:
true
identity
Array

Information about the user’s identities

Object
id
string GUID

The user identity

Example:
CAD1QQ1269B76D7A65ACCE45B2E68DFD
provider
string

The user identity provider

Enumeration:
EMAIL
PHONE
GOOGLE
FACEBOOK
identity_challenge
string

the identity’s challenge

Example:
johndoe@crm.com
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /users HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "first_name": "John",
            "last_name": "Doe",
            "is_active": true,
            "role": {
                "id": "AUR1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Owner"
            },
            "contact_info": [
                {
                    "id": "AUR1E31269B76D7A65ACCE45B2E68DFD",
                    "type": "EMAIL",
                    "value": "johndoe@crm.com",
                    "is_identity": "true"
                }
            ],
            "identity": [
                {
                    "id": "CAD1QQ1269B76D7A65ACCE45B2E68DFD",
                    "provider": "EMAIL",
                    "identity_challenge": "johndoe@crm.com"
                }
            ],
            "creatives": [
                {
                    "id": "CA123456789AQWSXZAQWS1236547896541",
                    "type": "MARKETING",
                    "width": 2159,
                    "height": 3075,
                    "format": "jpg",
                    "url": "https://assets.crm.com/image/offer.jpg",
                    "public_id": "crm-com/image",
                    "media": [
                        {
                            "width": 200,
                            "height": 300,
                            "url": "https://asset.crm.com/image/offer/c_scale,w_200/offer.jpg"
                        }
                    ]
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get User
GET /users/{id}

Get details for a single user

Path variables

id
string GUID required

The user identifier that will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
first_name
string

The user’s first name

Example:
John
last_name
string

The user’s last name

Example:
Doe
preferred_language
string

The language most preferred by the user for communication or translation

Example:
EN
role
Object

Information about the user roles

id
string GUID

The user role identifier

Example:
AUR1E31269B76D7A65ACCE45B2E68DFD
name
string

The user role name

Example:
Rewards Manager
contact_info
Array

Information about the user’s contact details

Object
id
string GUID

The contact info identifier

Example:
AUR1E31269B76D7A65ACCE45B2E68DFD
name
string

The name of the contact info

Example:
Mobile
type
string

The type of the contact info

Enumeration:
EMAIL
PHONE
EXTENSION
value
string

The value of the contact info

Example:
johndoe@crm.com
is_identity
boolean

Defines whether the contact info is used as an user’s identidy

Example:
true
identity
Array

Information about the user’s identities

Object
id
string GUID

The user identity

Example:
CAD1QQ1269B76D7A65ACCE45B2E68DFD
provider
string

The user identity provider

Enumeration:
EMAIL
PHONE
GOOGLE
FACEBOOK
identity_challenge
string

The identity’s challenge

Example:
johndoe@crm.com
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /users/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "first_name": "John",
    "last_name": "Doe",
    "preferred_language": "EN",
    "role": {
        "id": "AUR1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Rewards Manager"
    },
    "contact_info": [
        {
            "id": "AUR1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Work",
            "type": "EMAIL",
            "value": "johndoe@crm.com",
            "is_identity": "true"
        }
    ],
    "identity": [
        {
            "id": "CAD1QQ1269B76D7A65ACCE45B2E68DFD",
            "provider": "EMAIL",
            "identity_challenge": "johndoe@crm.com"
        }
    ],
    "creatives": [
        {
            "id": "CA123456789AQWSXZAQWS1236547896541",
            "type": "PROFILEIMAGE",
            "width": 2159,
            "height": 3075,
            "format": "jpg",
            "url": "https://assets.crm.com/image/offer.jpg",
            "public_id": "crm-com/image",
            "media": [
                {
                    "width": 200,
                    "height": 300,
                    "url": "https://asset.crm.com/image/offer/c_scale,w_200/offer.jpg"
                }
            ]
        }
    ]
}
Activate User
POST /users/{id}/activate

Activate a specific user

Path variables

id
string GUID required

The user that will be activates

Example:
CK1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/CK1234567890123456789012345678/activate HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Deactivate User
POST /users/{id}/deactivate

Deactivate a specific user

Path variables

id
string GUID required

The user that will be deactivated

Example:
CK1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/CK1234567890123456789012345678/deactivate HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Resend User Invitation
POST /users/{id}/invite_resend

Resend a user invitation

Path variables

id
string GUID required

The user identifier that invitation will be send again

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The user identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/CAD1E31269B76D7A65ACCE45B2E68DFD/invite_resend HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Revoke User Invitation
DELETE /users/{id}/invite_revoke

Resend a user invitation

Path variables

id
string GUID required

The user identifier that invitation will be revoked

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /users/CAD1E31269B76D7A65ACCE45B2E68DFD/invite_revoke HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
User Contact Info
POST /users/{id}/contactinfo
PUT /users/{id}/contactinfo/{contactinfo_id}
DELETE /users/{id}/contactinfo/{contactinfo_id}
Add Contact Info
POST /users/{id}/contactinfo

Add contact info to a specific user

Path variables

id
string GUID required

The user whose contact info will be added

Example:
CK1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The contact info name

Example:
Work
type
string required

Defines the type of the contact info

Enumeration:
EMAIL
PHONE
EXTENSION
value
string required

The contact info value

Example:
jd@crm.com

Responses

200 200

OK

Body
Object
id
string GUID

The user contact info identifier

Example:
AK1234567890123456789012345678
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/CK1234567890123456789012345678/contactinfo HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Work",
    "type": "EMAIL",
    "value": "jd@crm.com"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "AK1234567890123456789012345678"
}
Update Contact Info
PUT /users/{id}/contactinfo/{contactinfo_id}

Update existing contact info of a specific user

Path variables

id
string GUID required

The user identifier whose contact info will be update

Example:
CK1234567890123456789012345678
contactinfo_id
string GUID required

The contact info that will be updated

Example:
AK1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The contact info name

Example:
Work
value
string nullable

The contact info value

Example:
jd@crm.com

Responses

200 200

OK

Body
Object
id
string GUID

The user contact info identifier

Example:
AK1234567890123456789012345678
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /users/CK1234567890123456789012345678/contactinfo/AK1234567890123456789012345678 HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Work",
    "value": "jd@crm.com"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "AK1234567890123456789012345678"
}
Delete Contact Info
DELETE /users/{id}/contactinfo/{contactinfo_id}

Delete existing contact info of a specific user

Path variables

id
string GUID required

The user identifier whose contact info will be deleted

Example:
CK1234567890123456789012345678
contactinfo_id
string GUID required

The contact info that will be deleted

Example:
AK1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /users/CK1234567890123456789012345678/contactinfo/AK1234567890123456789012345678 HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
User Identities
POST /users/{id}/identities
PUT /users/{id}/identities/{identity_id}
DELETE /users/{id}/identities/{identity_id}
Create User Identity
POST /users/{id}/identities

Create an identity for a specific user

Path variables

id
string GUID required

The user whose identity will be created

Example:
CK1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
provider
string required

Defines the type of the user identity

Enumeration:
EMAIL
PHONE
GOOGLE
FACEBOOK
identity_challenge
string required

The user’s challenge

Example:
johndoe@crm.com
identity_value
string nullable

The user’s value (applicable only when provider is EMAIL based)

Example:
1234

Responses

200 200

OK

Body
Object
id
string GUID

The user identity identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/CK1234567890123456789012345678/identities/ID1234567890123456789012345678 HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "identity_challenge": "johndoe@crm.com",
    "identity_value": "1234"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update User Identity
PUT /users/{id}/identities/{identity_id}

Update an identity for a specific user

Path variables

id
string GUID required

The user identifier whose identity will be updated

Example:
CK1234567890123456789012345678
identity_id
string GUID required

The identity that will be updated

Example:
ID1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
identity_challenge
string nullable

The user’s challenge

Example:
johndoe@crm.com
identity_value
string nullable

The user’s value (applicable only when identity is EMAIL based)

Example:
1234

Responses

200 200

OK

Body
Object
id
string GUID

The user identity identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /users/CK1234567890123456789012345678/identities/ID1234567890123456789012345678 HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "identity_challenge": "johndoe@crm.com",
    "identity_value": "1234"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete User Identity
DELETE /users/{id}/identities/{identity_id}

Delete an identity for a specific user

Path variables

id
string GUID required

The user identifier whose identity will be deleted

Example:
CK1234567890123456789012345678
identity_id
string GUID required

The identity that will be deleted

Example:
ID1234567890123456789012345678

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /users/CK1234567890123456789012345678/identities/ID1234567890123456789012345678 HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
User Roles
POST /userroles
PUT /userroles/{id}
DELETE /userroles/{id}
GET /userroles
GET /userroles/{id}
Create User Role
POST /userroles

Create a user role

Notes

Only Service Owner users can create Owner roles or roles that can be used across child business network

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The user role name

Example:
Rewards Manager
description
string nullable

The user role description

Example:
Provide full access to rewards module
is_owner
boolean nullable

Defines whether the role will be used as the owner role on new sign ups

Example:
false
is_default
boolean nullable

Defines whether the role can be used across all child business network

Example:
false
permissions
Array required

The user role permissions

Min items: 1
Unique items: YES
string
Examples:
CONTACT_READCONTACT_WRITE

Responses

200 200

OK

Body
Object
id
string GUID

The user role identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /userroles HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Rewards Manager",
    "description": "Provide full access to rewards module",
    "permissions": [
        "CONTACT_WRITE"
    ],
    "is_owner": "false",
    "is_default": "false"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update User Role
PUT /userroles/{id}

Update an existing user role

Path variables

id
string GUID required

The user role that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

Only Service Owner users can update Owner roles or roles that can be used across child business network

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The user role name

Example:
Rewards Manager
description
string nullable

The user role description

Example:
Provide full access to rewards module
is_owner
boolean nullable

Defines whether the role will be used as the owner role on new sign ups

Example:
false
is_default
string nullable

Defines whether the role can be used across all child business network

Example:
false
permissions
Array nullable

The user role permissions

Min items: 1
Unique items: YES
string
Examples:
CONTACT_READCONTACT_WRITE

Responses

200 200

OK

Body
Object
id
string GUID

The user role identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /userroles/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Rewards Manager",
    "description": "Provide full access to rewards module",
    "permissions": [
        "CONTACT_WRITE"
    ],
    "is_owner": "false",
    "is_default": "false"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete User Role
DELETE /userroles/{id}

Delete an existing user role

Path variables

id
string GUID required

The user role that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

Only Service Owner users can delete Owner roles or roles that can be used across child business network

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /userroles/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search User Roles
GET /userroles

Search for user roles

Request parameters

name
string optional

The user role name

Example:
Rewards Manager
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
content
Array

Information related to admin user roles

Object
id
string GUID

The user role identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The user role name

Example:
Rewards Manager
description
string

The user role description

Example:
Provides full access on Rewards module
is_owner
string

Defines whether the role will be used as the owner role on new sign ups

Example:
false
is_default
string

Defines whether the role can be used across all child business network

Example:
true
is_full_access
boolean

Defines whether the role provides full access to all product areas

Example:
false
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /userroles HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Rewards Manager",
            "description": "Provides full access on Rewards module",
            "is_owner": "false",
            "is_default": "true",
            "is_fullaccess": "false"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get User Role
GET /userroles/{id}

Get details for a single user role

Path variables

id
string GUID required

The user role identifier that will be retrieved

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

OK

Body
Object
id
string GUID

The user role identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The user role name

Example:
Rewards Manager
description
string

The user role description

Example:
Rewards module full access
permissions
Array

The user role permissions

Unique items: YES
Example:
[
    "CONTACT_READ",
    "CONTACT_WRITE"
]
string
Examples:
CONTACT_READCONTACT_WRITE
is_owner
string

Defines whether the role will be used as the owner role on new sign ups

Example:
false
is_default
string

Defines whether the role can be used across all child business network

Example:
true
is_full_access
boolean

Defines whether the role has full permissions

Example:
false
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/userroles/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "name": "Rewards Manager",
    "description": "Rewards module full access",
    "permissions": [
        "CONTACT_WRITE"
    ],
    "is_owner": "false",
    "is_default": "true",
    "is_full_access": "false"
}
Settings - Configuration
Accounts
GET /accounting_periods
POST /account_classifications
PUT /account_classifications/{classification_id}
DELETE /account_classification/{classification_id}
GET /account_classifications
PUT /account_generic_settings
GET /account_generic_settings
List Accounting Periods
GET /accounting_periods

Retrieve the Accounting Periods

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Array
Object
accounting_period_id
string GUID

The ID of the accounting period

Example:
4AD9C84FA60F9FE407140E20F707726A
number
string

The number of the accounting period

Example:
102019
name
string

The name of the accounting period

Example:
OCTOBER2019
from_date
string epoch

The starting date of the accounting period

Example:
1583764050
to_date
string epoch

The ending date of the accounting period

Example:
1583764050
life_cycle_state
string

The life cycle state of the accounting period

Enumeration:
OPEN
CLOSED
closed_date
string epoch

The actual date that the period was closed

Example:
1583764050
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /accounting_periods HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "accounting_period_id": "4AD9C84FA60F9FE407140E20F707726A",
        "number": "102019",
        "name": "OCTOBER2019",
        "from_date": "1583764050",
        "to_date": "1583764050",
        "life_cycle_state": "OPEN",
        "closed_date": "1583764050"
    }
]
Create Account Classifications
POST /account_classifications

Create the account classifications

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the classification to be created

Example:
VIP
is_default
boolean

Determines whether it’s the default classification

Example:
true

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the classification

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Update Account Classification
PUT /account_classifications/{classification_id}

Update a specific account classification

Path variables

classification_id
string GUID required

The account classification identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
classification_name
string

The name of the classification

Example:
VIP
is_default
boolean

Determines whether it’s the default classification

Example:
true

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the account classification

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Delete Account Classification
DELETE /account_classification/{classification_id}

Delete a specific account classification

Path variables

classification_id
string GUID required

The account classification identifier that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

List Account Classifications
GET /account_classifications

List all the available account classifications

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC
name
string optional

The name of the account classification

Example:
VIP

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Array
Object
classification_id
string GUID

The ID of the account classification

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the account classification

Example:
VIP
is_default
boolean

Defines whether it’s the default classification

Example:
true
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Update Account Generic Settings
PUT /account_generic_settings

Update the generic account settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name_display_settings
string

The settings which defines how the account names are presented in the system

Enumeration:
ACCOUNT_NUMBER
ACCOUNT_CONTACT_NAME
allocation_settings
string

The allocation principle to allocate Credit Transactions against Debit Transactions

Enumeration:
FIFO
FIFO_AGAINST_ITEM
accounting_period_settings
Object
close_months_before
number

Number of months before the current month to close automatically the accounting period

Example:
3
credit_period_settings
Object
day_after_posted_date
integer

The due date will be set on the xth day after the posted date

Example:
5
day_months_after_posted_date
Object

The due date will be set on the nth day of the xth month after the posted date

xth_days
integer
Example:
5
xth_month
integer
Example:
1
credit_period_adjust
integer

The number of days that the credit period can be adjusted by, on top of the current settings and based on the allowance

Example:
5
credit_limit
number

The default credit limit

Example:
200
additional_rules
Array
Object
credit_limit
number

The credit limit of the rule

Example:
200
day_after_posted_date
integer

The due date will be set on the xth day after the posted date

Example:
3
day_months_after_posted_date
Object

The due date will be set on the nth day of the xth month after the posted date

xth_days
integer
Example:
2
xth_month
integer
Example:
2
credit_period_adjust
integer

The number of days that the credit period can be adjusted by, on top of the current settings and based on the allowance

rule_name
string

The name of the credit period rule

Example:
VIP
account_classifications_conditions
Array

The unique identifiers of tha account classifications that are conditions of the specified rule. Applicable only for the non-default rule

string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
numbering_schemes
Array
Object
entity
string required
Enumeration:
ACCOUNTS
INVOICES
CREDIT_NOTES
REFUNDS
prefix
string required
number_of_digits
integer
Default:
5
starting_number
string
Default:
00001

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the organisation

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/account_generic_settings HTTP/1.1 

Content-Type: application/json

{
    "name_display_settings": "ACCOUNT_NUMBER",
    "allocation_settings": "FIFO",
    "accounting_period_settings": {
        "close_months_before": 3
    },
    "credit_period_settings": {
        "day_after_posted_date": 5,
        "day_months_after_posted_date": {
            "xth_days": 5,
            "xth_month": 1
        },
        "credit_period_adjust": 5,
        "credit_limit": 200,
        "additional_rules": [
            {
                "credit_limit": 200,
                "day_after_posted_date": 3,
                "day_months_after_posted_date": {
                    "xth_days": 2,
                    "xth_month": 2
                },
                "credit_period_adjust": 1,
                "rule_name": "VIP",
                "account_classifications_conditions": [
                    "4AD9C84FA60F9FE407140E20F707726A"
                ]
            }
        ]
    },
    "numbering_schemes": [
        {
            "entity": "ACCOUNTS",
            "prefix": "",
            "number_of_digits": 5,
            "starting_number": "00001"
        }
    ]
}
Get Account Generic Settings
GET /account_generic_settings

Get the generic account settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
name_display_settings
string

The settings which defines how the account names are presented in the system

Enumeration:
ACCOUNT_NUMBER
ACCOUNT_CONTACT_NAME
allocation_settings
string

The allocation principle to allocate Credit Transactions against Debit Transactions

Enumeration:
FIFO
FIFO_AGAINST_ITEM
accounting_period_settings
Object
close_months_before
integer

Number of months before the current month to close automatically the accounting period

credit_period_settings
Object
day_after_posted_date
integer

The due date will be set on the xth day after the posted date

Example:
5
day_months_after_posted_date
Object

The due date will be set on the nth day of the xth month after the posted date

xth_days
integer
Example:
5
xth_month
integer
Example:
1
credit_period_adjust
integer

The number of days that the credit period can be adjusted by, on top of the current settings and based on the allowance

Example:
5
credit_limit
number

The default credit limit

additional_rules
Array
Object
credit_limit
number

The credit limit of the rule

day_after_posted_date
integer

The due date will be set on the xth day after the posted date

Example:
3
day_months_after_posted_date
Object

The due date will be set on the nth day of the xth month after the posted date

xth_days
integer
Example:
2
xth_month
integer
Example:
2
credit_period_adjust
integer

The number of days that the credit period can be adjusted by, on top of the current settings and based on the allowance

Example:
1
rule_name
string

The name of the credit period rule

Example:
VIP
account_classifications_conditions
Array

The unique identifiers of tha account classifications that are conditions of the specified rule. Applicable only for the non-default rule

Object
id
string GUID

The ID of the account classification

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the account classification

Example:
VIP
numbering_schemes
Array
Object
entity
string
Enumeration:
ACCOUNTS
INVOICES
CREDIT_NOTES
REFUNDS
prefix
string
starting_number
string
number_of_digits
integer
last_number
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/account_generic_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name_display_settings": "ACCOUNT_CONTACT_NAME",
    "allocation_settings": "FIFO_AGAINST_ITEM",
    "accounting_period_settings": {
        "close_months_before": 1
    },
    "credit_period_settings": {
        "day_after_posted_date": 5,
        "day_months_after_posted_date": {
            "xth_days": 5,
            "xth_month": 1
        },
        "credit_period_adjust": 5,
        "credit_limit": 1,
        "additional_rules": [
            {
                "credit_limit": 1,
                "day_after_posted_date": 3,
                "day_months_after_posted_date": {
                    "xth_days": 2,
                    "xth_month": 2
                },
                "credit_period_adjust": 1,
                "rule_name": "VIP",
                "account_classifications_conditions": [
                    {
                        "id": "4AD9C84FA60F9FE407140E20F707726A",
                        "name": "VIP"
                    }
                ]
            }
        ]
    },
    "numbering_schemes": [
        {
            "entity": "CREDIT_NOTES",
            "prefix": "",
            "starting_number": "",
            "number_of_digits": 1,
            "last_number": ""
        }
    ]
}
Applications

Managing Application Settings and Publishing

POST /applications
PUT /applications/{id}
DELETE /applications/{id}
GET /applications
GET /applications/{id}
POST /application/{id}/settings
POST /applications/{id}/media
POST /applications/{id}/publish
POST /applications/{id}/status
GET /applications/{id}/status
Create Application
POST /applications

Create a new application

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The application name

Example:
Brew Coffee
description
string

The application description

Example:
Best coffee application
app_type
string

The application type

Enumeration:
NATIVE

Mobile Applications (Apple and Google)

WEB

Web Portal

Responses

200 200

Successful Request

Body
Object
id
string GUID

The application identifier

Example:
118e64a6-85ad-413a-b6a1-9aeffd678ef3
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/applications HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Brew Coffee",
    "description": "Best coffee application",
    "app_type": "PWA"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "118e64a6-85ad-413a-b6a1-9aeffd678ef3"
}
Update Application
PUT /applications/{id}

Update an existing application

Path variables

id
string GUID required

The application identifier that will be updated

Example:
5fd79941-e4ce-e6b9-2a3c-b455e3fb0220

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The application name

Example:
Brew Coffee
description
string

The application description

Example:
Best coffee application

Responses

200 200

Successful Request

Body
Object
id
string GUID

The application identifier

Example:
118e64a6-85ad-413a-b6a1-9aeffd678ef3
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://sandbox.crm.com/backoffice/v1/applications/5fd79941-e4ce-e6b9-2a3c-b455e3fb0220 HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Brew Coffee",
    "description": "Best coffee application"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "118e64a6-85ad-413a-b6a1-9aeffd678ef3"
}
Delete Application
DELETE /applications/{id}

Delete an existing application

Path variables

id
string GUID required

The application identifier that will be deleted

Example:
eac1f771-2608-85c1-9289-08abb5c1d7a0

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/applications/eac1f771-2608-85c1-9289-08abb5c1d7a0 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List Applications
GET /applications

Retrieves a list of all applications

Request parameters

name
string optional

Filters based on application name

Example:
Best Coffee App
type
string optional

Filters based on application type

Enumeration:
NATIVE
WEB
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successfull Completed

Body
Object
content
Array
Object
id
string GUID

The application identifier

Example:
6d2652b7-9b8d-6174-65c3-c3fefc87e8cd
name
string

The application name

Example:
Coffee App
description
string

The application description

Example:
Best coffee app description
app_type
string

The application type

Enumeration:
NATIVE
WEB
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/applications HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "6d2652b7-9b8d-6174-65c3-c3fefc87e8cd",
            "name": "Coffee App",
            "description": "Best coffee app description",
            "app_type": "NATIVE"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Application
GET /applications/{id}

Get details of a single application

Path variables

id
string GUID required

The application identifier that will be returned

Example:
bd909bd2-2397-8af8-b256-87e496620209

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successfull Completed

Body
Object
id
string GUID

The application identifier

Example:
0b9ab3de-af32-47f9-faca-ff5c94063819
name
string

The application name

Example:
Brew Coffee App
description
string

The application description

Example:
Best coffee app
app_type
string

The application type

Enumeration:
NATIVE
WEB
appearance
Object

Details about the app appearance

background_color
string

The background color that the app will use as the main color (hex code)

Default:
#5d1048
Example:
#eb4034
card_color
string

The color that the app will use on all card like components (hex code)

Default:
#83366e
Example:
#eb4034
text_font
string

The text font style that the app will use

Example:
Open Sans
about_details
Object

Defines the app details (about, terms and conditions, privacy policy)

about
Object

Details about us (URL or contact should be specified)

url
string

The about URL

Example:
https?/crm.com
content
string

The about rich content

Example:
About Us
terms_conditions
Object

Details about the terms and conditions (URL or contact should be specified)

url
string

The terms and conditions URL

Example:
https?/crm.com
content
string

The terms and conditions rich content

Example:
Terms & Conditions
privacy_policy
Object

Details about the privacy policy (URL or contact should be specified)

url
string

The privacy policy URL

Example:
https?/crm.com
content
string

The privacy policy rich content

Example:
Privacy Policy
faqs
Object

Details about the FAQs (URL or contact should be specified)

url
string

The FAQs URL

Example:
https://crm.com
content
string

The FAQs rich content

Example:
FAQs
contact_us
Object

Details about contact us

email_address
string

The contact us email address

Example:
info@crm.com
phone_country_code
string

The contact us phone number country code

Example:
CYP
phone_number
string

The contact us phone number

Example:
22265566
website
string

The contact us website

Example:
https?/crm.com
features
Object

Details about the features that will be supported by the app

billing
boolean

Defines whether billing feature is supported

Example:
true
rewards
boolean

Defines whether rewards feature is supported

Example:
true
ordering
boolean

Defines whether ordering feature is supported

Example:
true
ordering_details
Object

Defines the supported ordering items (only if ordering feature is supported)

ordering_pickup
boolean

Defines whether pick up is supported as supply method

Example:
true
ordering_delivery
boolean

Defines whether delivery is supported as supply method

Example:
true
rewards_details
Object

Defines the supported rewards items (only if rewards feature is supported)

automatic_spends
boolean

Defines whether automatic spend preferences will be supported

Example:
true
return_cashback
boolean

Defines whether the ability to select payment method for cashback returns will be supported

Example:
true
customer_selfservice_purchases
boolean

Defines whether customer self service purchase identification and OTP request to spend will be supported

Example:
true
reward_tiering
boolean

Defines whether reward tiering will be supported

Example:
false
auth_support
Object

Details on how customers can auth by the app

email_password
boolean

Supported authentication based on email and password

Example:
true
email_verification
boolean

Email Verification required (if auth method = email & password)

Example:
true
sms_otp
boolean

Supported authentication based on one time password

Example:
true
facebook
boolean

Supported authentication based on Facebook

Example:
true
google
boolean

Supported authentication based on Google

Example:
true
contact
Object

Details on supported contact attributes

profile_details
Array

Lists all supported contact attributes

Object
type
string

The contact attribute

Enumeration:
BIRTHDATE
NAMEDAY
GENDER
is_supported
boolean

Defines if the profile attribute is supported or not

Example:
true
app_identifiers
Array

Details about the application identifiers per supported platform

Object
platform
string

The platform on which the application will be published

Enumeration:
APPLE
GOOGLE
WEB
platform_app_id
string

The application id of each platform

Example:
1762e052-4805-73eb-36f2-e77d6dc883e8
version
string

The application version

Example:
1.1
Example 1
GET https://sandbox.crm.com/backoffice/v1/applications/bd909bd2-2397-8af8-b256-87e496620209 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "0b9ab3de-af32-47f9-faca-ff5c94063819",
    "name": "Brew App",
    "description": "Best coffee brew apps",
    "app_type": "NATIVE",
    "appearance": {
        "background_color": "#eb4034",
        "card_color": "#eb4034",
        "text_font": "Open Sans"
    },
    "about_details": {
        "about": {
            "url": "https?/crm.com"
        },
        "terms_conditions": {
            "url": "https?/crm.com"
        },
        "privacy_policy": {
             "content": "Privacy Policy"
        },
        "contact_us": {
            "email_address": "info@crm.com",
            "phone_country_code": "357",
            "phone_number": "22265566",
            "website": "https?/crm.com"
        }
    },
    "features": {
        "billing": true,
        "rewards": true,
        "ordering": true,
        "ordering_details": {
            "ordering_pickup": true,
            "ordering_delivery": true
        },
        "rewards_details": {
            "automatic_spends": true,
            "return_cashback": true,
            "customer_selfservice_purchases": true
        }
    },
    "auth_support": {
        "email_password": true,
        "email_verification": false,
        "sms_otp": true,
        "facebook": true,
        "google": true
    },
    "contact": {
        "profile_details": [
            {
                "type": "GENDER",
                "is_supported": true
            }
        ]
    },
    "app_identifiers": [
        {
            "platform": "APPLE",
            "platform_app_id": "1762e052-4805-73eb-36f2-e77d6dc883e8",
            "version": "1.1"
        }
    ]
}
Set Application Settings
POST /application/{id}/settings

Set the configuration details (appearance, supported features) of a single application

Path variables

id
string GUID required

The application identifier whose settings will be updated

Example:
f8343fdf-a91f-1def-a265-35ac78b0a3ba

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
appearance
Object nullable

Details about the app appearance

background_color
string nullable

The background color that the app will use as the main color (hex code)

Default:
#6c757d
Example:
#eb4034
card_color
string nullable

The color that the app will use on all card like components (hex code)

Default:
#d14b50
Example:
#eb4034
text_font
string nullable

The text font style that the app will use

Default:
San Francisco
Examples:
San FranciscoRobotoHelveticaOpen SansPoppinsGeorgiaGilroy
about_details
Object nullable

Defines the app details (about, terms and conditions, privacy policy)

about
Object nullable

Details about us (URL or contact should be specified)

url
string required nullable

The about URL

Example:
https?/crm.com
content
string required nullable

The about rich content

Example:
About Us
terms_conditions
Object nullable

Details about the terms and conditions (URL or contact should be specified)

url
string required nullable

The terms and conditions URL

Example:
https?/crm.com
content
string required nullable

The terms and conditions rich content

Example:
Terms & Conditions
privacy_policy
Object nullable

Details about the privacy policy (URL or contact should be specified)

url
string required nullable

The privacy policy URL

Example:
https?/crm.com
content
string required nullable

The privacy policy rich content

Example:
Privacy Policy
faqs
Object nullable

Details about the FAQs (URL or contact should be specified)

url
string required nullable

The FAQs URL

Example:
https?/crm.com
content
string required nullable

The FAQs rich content

Example:
FAQs
contact_us
Object nullable

Details about contact us

email_address
string nullable

The contact us email address

Example:
info@crm.com
phone_country_code
string nullable

The contact us phone number country code

Example:
CYP
phone_number
string nullable

The contact us phone number

Example:
22265566
website
string nullable

The contact us website

Example:
https?/crm.com
features
Object nullable

Details about the features that will be supported by the app

billing
boolean required

Defines whether billing feature is supported

Example:
false
rewards
boolean required

Defines whether rewards feature is supported

Example:
true
ordering
boolean required

Defines whether ordering feature is supported

Example:
true
ordering_details
Object required nullable

Defines the supported ordering items (only if ordering feature is supported)

ordering_pickup
boolean required

Defines whether pick up is supported as supply method

Example:
true
ordering_delivery
boolean required

Defines whether delivery is supported as supply method

Example:
true
rewards_details
Object required nullable

Defines the supported rewards items (only if rewards feature is supported)

automatic_spends
boolean required

Defines whether automatic spend preferences will be supported

Example:
true
return_cashback
boolean required

Defines whether the ability to select payment method for cashback returns will be supported

Example:
false
customer_selfservice_purchases
boolean required

Defines whether customer self service purchase identification and OTP request to spend will be supported

Example:
true
reward_tiering
boolean required

Defines whether reward tiering will be supported

Example:
true
auth_support
Object nullable

Details on how customers can auth by the app

email_password
boolean required

Supported authentication based on email and password

Example:
true
email_verification
boolean required nullable

Email Verification required (if auth method = email & password)

Default:
true
Example:
true
sms_otp
boolean required

Supported authentication based on one time password

Example:
true
facebook
boolean required

Supported authentication based on Facebok

Example:
true
google
boolean required

Supported authentication based on Google

Example:
true
contact
Object nullable

Details on supported contact attributes

profile_details
Array nullable

Lists all supported contact attributes

Unique items: YES
Object
type
string required

The contact attribute

Enumeration:
BIRTHDATE
NAMEDAY
GENDER
is_supported
boolean nullable

Defines if the profile attribute is supported or not

Default:
false
Example:
false
app_identifiers
Array nullable

Details about the application identifiers per supported platform

Unique items: YES
Object
platform
string required

The platform on which the application will be published

Enumeration:
APPLE
GOOGLE
WEB
platform_app_id
string required

The application id for each platform

Example:
1762e052-4805-73eb-36f2-e77d6dc883e8
version
string required

The application version

Example:
1.1

Responses

200 200

Successfull Completed

Body
Object
id
string GUID

The application identifier

Example:
90f91e6b-54a4-6b93-5200-79ba9a361cb0
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/application/f8343fdf-a91f-1def-a265-35ac78b0a3ba/settings HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "appearance": {
        "background_color": "#eb4034",
        "card_color": "#eb4034",
        "text_font": "Gilroy"
    },
    "about_details": {
        "about": {
            "content": "About Us"
        },
        "terms_conditions": {
            "url": "https?/crm.com"
        },
        "privacy_policy": {
             "content": "Privacy Policy"
        },
        "contact_us": {
            "email_address": "info@crm.com",
            "website": "https?/crm.com"
        }
    },
    "features": {
        "billing": "false",
        "rewards": true,
        "ordering": true,
        "ordering_details": {
            "ordering_pickup": true,
            "ordering_delivery": false
        },
        "rewards_details": {
            "automatic_spends": "true",
            "return_cashback": "false",
            "customer_selfservice_purchases": "true"
        }
    },
    "auth_support": {
        "email_password": true,
        "email_verification": false,
        "sms_otp": false,
        "facebook": false,
        "google": true
    },
    "contact": {
        "profile_details": [
            {
                "type": "GENDER",
                "is_supported": "false"
            },
            {
                "type": "BIRTHDATE",
                "is_supported": "true"
            },
            {
                "type": "NAMEDAY",
                "is_supported": "true"
            }
        ]
    },
    "app_identifiers": [
        {
            "platform": "GOOGLE",
            "platform_app_id": "1762e052-4805-73eb-36f2-e77d6dc883e8",
            "version": "1.1"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "90f91e6b-54a4-6b93-5200-79ba9a361cb0"
}
Set Application Media - Roadmap
POST /applications/{id}/media

Set a media to an existing application

Path variables

id
string GUID required

The application identifier that media will be set

Example:
3a75f235-b5aa-e424-99b7-306d4d490954

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
media_id
string GUID required

The media identifier that is added to the application

Example:
c9198b94-28b2-32b4-8d51-3e2e24ed7d20
media_type
string required

The media type that was added to the application

Enumeration:
ICON
SPLASH
BACKGROUND
publish_date
number

Date of publishing

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/applications/3a75f235-b5aa-e424-99b7-306d4d490954/media HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
Content-Type: application/json

{
    "media_id": "c9198b94-28b2-32b4-8d51-3e2e24ed7d20",
    "media_type": "SPLASH",
    "publish_date": 1
}

HTTP/1.1 200 OK 
Publish Information - Roadmap
POST /applications/{id}/publish

Publish an existing application (either on a self-service manner or automatically)

Path variables

id
string GUID required

The application identifier that will be published

Example:
68b2776f-d25e-4c91-1ed8-3727c264308c

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
app_id
string required

The unique app id for each platform

Example:
324ba16b-9304-1eaf-e8ef-1a31c2edc8a2
platform
string required

The platform on which the application will be published to

Enumeration:
APPLE
GOOGLE
WEB
version
string required

The version of the published version

Example:
1.1
self_publish
string

Set to self_publish does not require connection to Platform tools sch as Apple Connect

connect_token
string

Connection method to APPLE, GOOGLE etc if automated publishing is used.

Responses

200 200

Successfull completed

Body
Object
id
string GUID

The application publish request identifier

Example:
891faeb8-b891-12e1-a76e-1a8ba9fa41f7
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/applications/68b2776f-d25e-4c91-1ed8-3727c264308c/publish HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "app_id": "324ba16b-9304-1eaf-e8ef-1a31c2edc8a2",
    "platform": "APPLE",
    "version": "1.1",
    "self_publish": "true"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "891faeb8-b891-12e1-a76e-1a8ba9fa41f7"
}
Add Status - Roadmap
POST /applications/{id}/status

Path variables

id
string required

Request body

Object
platform_id
string nullable

Link to a specific platform Version

status_date
integer

Date of status entry can be null and will accept system date

status_type
string
Enumeration:
PENDING
LIVE
REQUEST
ATTENTION
comments
string
Example:
Please create new version
Get Application Status - Roadmap
GET /applications/{id}/status

Get status of Applications

Path variables

id
string GUID required

The application identifier that its status will be retrieved

Example:
66b18e99-4f7b-0b70-afa0-93ae2d7fbc87

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string GUID
Example:
4a40e91d-5dcd-a8d8-afd3-03d1d78267e5
publish_id
string GUID

GUID of Publish Item to link status to a published version / on pending version

Example:
4a40e91d-5dcd-a8d8-afd3-03d1d78267e5
status_date
integer epoch
Example:
11598532760
status
string

Current Status of entry

Enumeration:
PENDING
LIVE
ATTENTION
comments
string
Communications
PUT /tracking_settings
GET /tracking_settings
Update tracking settings
PUT /tracking_settings

Updates the tracking settings of communications

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string required

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Request body

application/json
Object
enable_tracking
boolean

Enables the tracking functionality

Example:
true
track_end_point
string
track_custom_url
string
email_tracking_mode
string
Enumeration:
ALL
COMM_PLANS
link_tracking_mode
string
Enumeration:
ALL
COMM_PLANS

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/tracking_settings HTTP/1.1 

api_key: 8c54d563-b991-4b76-8a83-557c08166f95
Content-Type: application/json

{
    "enable_tracking": true,
    "track_end_point": "",
    "track_custom_url": "",
    "email_tracking_mode": "ALL",
    "link_tracking_mode": "ALL"
}

HTTP/1.1 200 OK 
Get tracking settings
GET /tracking_settings

Retrieves the tracking settings for communications

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
application/json
Object
enable_tracking
boolean

Enables the tracking functionality

Example:
true
track_end_point
string
track_custom_url
string
email_tracking_mode
string
Enumeration:
ALL
COMM_PLANS
link_tracking_mode
string
Enumeration:
ALL
COMM_PLANS
400 400

The input request was invalid or incorrect, often due to missing a required parameter

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/tracking_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "enable_tracking": true,
    "track_end_point": "",
    "track_custom_url": "",
    "email_tracking_mode": "ALL",
    "link_tracking_mode": "COMM_PLANS"
}
Contacts
PUT /contact_generic_settings
GET /contact_generic_settings
POST /contact_categories
PUT /contact_categories/{category_id}
DELETE /contact_categories/{category_id}
GET /contact_categories
POST /name_day_rules
PUT /name_day_rules/{name_day_rule_id}
DELETE /name_day_rule/{name_day_rule_id}
GET /name_day_rules
POST /kyc_profile
PUT /kyc_profile/{id}
DELETE /kyc_profile/{id}
GET /kyc_profile
Update Contact Generic Settings
PUT /contact_generic_settings

Update the generic contact settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name_display_settings
string

The settings which defines how the names are presented in the system

Enumeration:
FIRST_LAST
LAST_FIRST
FIRST_MIDDLE_LAST
LAST_MIDDLE_FIRST
cim_settings
Array
Object
medium
string
Enumeration:
CARD
EMAIL
PHONE
VOUCHER
is_enabled
boolean
consent_settings
Object
enable_consent
boolean

Enable consent functionality so that the Contact accepts/rejects/withdraws it. Default value is FALSE.

functionality_on_pending
string
Enumeration:
NO_FUNCTIONALITY
FULL_FUNCTIONALITY
functionality_on_rejecting
string
Enumeration:
NO_FUNTIONALITY
FULL_FUNCTIONALITY
ANONYMIZE
functionality_on_withdraw
string
Enumeration:
NO_FUNTIONALITY
FULL_FUNCTIONALITY
ANONYMIZE
anonymization_settings
Object
enable_anonymization
boolean

Enable to anonymize contacts and their uniquely identifiable information based on conditions

last_updated_months
integer

The contact will only get anonymized if the contact has not been updated after X months

latest_subscription_termination_months
string epoch

The contact will only get anonymized if their latest terminated subscription, was not terminated after X months

Example:
1581937020
latest_posted_financial_transactions
Object

The contact will only get anonymized if their latest posted financial transaction of those types were not posted after X months

number_of months
integer
financial_transaction_types
Array

The IDs of the financial transaction types

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the organisation

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/contact_generic_settings HTTP/1.1 

Content-Type: application/json

{
    "name_display_settings": "LAST_MIDDLE_FIRST",
    "cim_settings": [
        {
            "medium": "EMAIL",
            "is_enabled": true
        }
    ],
    "consent_settings": {
        "enable_consent": true,
        "functionality_on_pending": "FULL_FUNCTIONALITY",
        "functionality_on_rejecting": "ANONYMIZE",
        "functionality_on_withdraw": "NO_FUNTIONALITY"
    },
    "anonymization_settings": {
        "enable_anonymization": true,
        "last_updated_months": 1,
        "latest_subscription_termination_months": "1581937020",
        "latest_posted_financial_transactions": {
            "number_of months": 1,
            "financial_transaction_types": [
                "CAD1E31269B76D7A65ACCE45B2E68DFD"
            ]
        }
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Get Contact Generic Settings
GET /contact_generic_settings

Returns the general settings of the contact

Responses

200 200

The request has succeeded

Body
Object
name_display_settings
string

The name display settings that define how the contact name is presented

Enumeration:
FIRST_LAST
LAST_FIRST
FIRST_MIDDLE_LAST
LAST_MIDDLE_FIRST
cim_settings
Array
Object
medium
string
Enumeration:
CARD
PHONE
EMAIL
VOUCHER
is_enabled
boolean
consent_settings
Object
is_enabled
boolean
functionality_on_pending
string
Enumeration:
NO_FUNCTIONALITY
FULL_FUNCTIONALITY
functionality_on_rejecting
string
Enumeration:
NO_FUNCTIONALITY
FULL_FUNCTIONALITY
ANONYMIZE
functionality_on_withdraw
string
Enumeration:
NO_FUNTIONALITY
FULL_FUNCTIONALITY
ANONYMIZE
consent_file_url
string
anonymization_settings
Object
is_enabled
boolean
last_updated_months
integer
latest_subscription_termination_months
integer
latest_posted_financial_transactions
Object
number_of_months
integer
financial_transaction_types
Array

The IDs of the financial transaction types

string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/contact_generic_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name_display_settings": "FIRST_LAST",
    "cim_settings": [
        {
            "medium": "PHONE",
            "is_enabled": true
        }
    ],
    "consent_settings": {
        "is_enabled": true,
        "functionality_on_pending": "FULL_FUNCTIONALITY",
        "functionality_on_rejecting": "ANONYMIZE",
        "functionality_on_withdraw": "ANONYMIZE",
        "consent_file_url": ""
    },
    "anonymization_settings": {
        "is_enabled": true,
        "last_updated_months": 1,
        "latest_subscription_termination_months": 1,
        "latest_posted_financial_transactions": {
            "number_of_months": 1,
            "financial_transaction_types": [
                "CAD1E31269B76D7A65ACCE45B2E68DFD"
            ]
        }
    }
}
Create Contact Category
POST /contact_categories

Create the contact categories

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the category to be created

Example:
VIP

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the category

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Update Contact Category
PUT /contact_categories/{category_id}

Update a specific contact category

Path variables

category_id
string GUID required

The contact category identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the category

Example:
VIP

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the contact category

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Delete Contact Category
DELETE /contact_categories/{category_id}

Update a specific contact category

Path variables

category_id
string GUID required

The contact category identifier that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

List Contact Categories
GET /contact_categories

List all the available contact categories

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC
name
string optional

The name of the contact category

Example:
VIP

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Array
Object
category_id
string GUID

The ID of the contact category

Example:
4AD9C84FA60F9FE407140E20F707726A
category_name
string

The name of the contact category

Example:
VIP
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Create Name Day Rules
POST /name_day_rules

Create the name day rules

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
day
number

The day of the name day (1-31)

Example:
15
month
number

The month of the name day (1-12)

Example:
8
names
string

A list of names that celebrate the specific name day, comma separated

Example:
Mario, Maria, Panayiota
description
string

A description of the name day

Example:
Holly Mary

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the name day rule created

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Update Name Day Rules
PUT /name_day_rules/{name_day_rule_id}

Update the name day rules

Path variables

name_day_rule_id
string GUID required
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
day
number

The day of the name day (1-31)

Example:
15
month
number

The month of the name day (1-12)

Example:
8
names
string

A list of names that celebrate the specific name day, comma separated

Example:
Mario, Maria, Panayiota
description
string

A description of the name day

Example:
Holly Mary

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the name day rules

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Delete Name Day Rule
DELETE /name_day_rule/{name_day_rule_id}

Delete a name day rule

Path variables

name_day_rule_id
string required
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the organisation

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

List Name Day Rules
GET /name_day_rules

Retrieve the contact name day rules

Request parameters

first_name
string optional

The first name of the contact to retrieve only applicable name days

Example:
Marios
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
name_day_rules
Array
Object
id
string

The unique identification of the name day rule

day
integer

The day of the name day rule

month
integer

The month of the name day rule

names
string

The names that celebrate this name day, comma separated

Example:
Marios, Maria
description
string

A description of the name day

Example:
Holly Mary
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Create KYC Profile
POST /kyc_profile

Create a single KYC profile

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the KYC profile

Example:
Standard Customers
description
string

A description of the KYC profile

Example:
The KYC Profile
conditions
Array

The conditions for which the kyc profile is applied

Object
name
string

The entity for which the condition applies

Enumeration:
ACCOUNT_CLASSIFICATION
KYC_PROFILE
CONTACT_CATEGORY
value
string

The entity’s ID or Name

Example:
4AD9C84FA60F9FE407140E20F707726A
fields
Array

Define the sets of fields that are required to verify the KYC profile. The sets are combined with an OR

Object
sets
Array

The fields that are included within a set (combined with AND). It can be any custome field value OR an existing contact field

string
Enumeration:
first_name
middle_name
last_name
company_name
statutory_number
passport_number
id_number
email_address
..any custom field value

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the KYC profile

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/kyc_profile HTTP/1.1 

Content-Type: application/json

{
    "name": "Standard Customers",
    "description": "The KYC Profile",
    "conditions": [
        {
            "name": "KYC_PROFILE",
            "value": "4AD9C84FA60F9FE407140E20F707726A"
        }
    ],
    "fields": [
        {
            "sets": [
                "middle_name"
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Update KYC Profile
PUT /kyc_profile/{id}

Update an existing KYC profile. Profiles that are already provided on at least one contact, cannot be updated

Path variables

id
string GUID required

The ID of the KYC profile to be updated

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the KYC profile

Example:
Standard Customers
description
string

A description of the KYC profile

Example:
The KYC Profile
conditions
Array

The conditions for which the kyc profile is applied

Object
name
string

The entity for which the condition applies

Enumeration:
ACCOUNT_CLASSIFICATION
KYC_PROFILE
CONTACT_CATEGORY
value
string

The entity’s ID or Name

Example:
4AD9C84FA60F9FE407140E20F707726A
fields
Array

Define the sets of fields that are required to verify the KYC profile. The sets are combined with an OR

Object
sets
Array

The fields that are included within a set (combined with AND). It can be any custome field value OR an existing contact field

string
Enumeration:
first_name
middle_name
last_name
company_name
statutory_number
passport_number
id_number
email_address
..any custom field value

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the KYC profile

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/kyc_profile/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

Content-Type: application/json

{
    "name": "Standard Customers",
    "description": "The KYC Profile",
    "conditions": [
        {
            "name": "KYC_PROFILE",
            "value": "4AD9C84FA60F9FE407140E20F707726A"
        }
    ],
    "fields": [
        {
            "sets": [
                "company_name"
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Delete KYC Profile
DELETE /kyc_profile/{id}

Delete an existing KYC profile validating that is not already used on at least one Contact

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/kyc_profile/{id} HTTP/1.1 

HTTP/1.1 200 OK 
List KYC Profiles
GET /kyc_profile

List all available KYC Profiles

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for KYC Profiles across their Names

Example:
Standard
id
string GUID optional

The ID of the KYC profile

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
id
string GUID

The ID of the KYC profile

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the KYC profile

Example:
Standard Customers
description
string

A description of the KYC profile

Example:
The KYC Profile
conditions
Array

The conditions for which the kyc profile is applied

Object
name
string

The entity for which the condition applies

Enumeration:
ACCOUNT_CLASSIFICATION
KYC_PROFILE
CONTACT_CATEGORY
value
string
Example:
4AD9C84FA60F9FE407140E20F707726A
fields
Array

Define the sets of fields that are required to verify the KYC profile. The sets are combined with an OR

Object
sets
Array

The fields that are included within a set (combined with AND). It can be any custome field value OR an existing contact field

string
Enumeration:
first_name
middle_name
last_name
company_name
statutory_number
passport_number
id_number
email_address
..any custom field value
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/kyc_profile HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "Standard Customers",
            "description": "The KYC Profile",
            "conditions": [
                {
                    "name": "CONTACT_CATEGORY",
                    "value": "4AD9C84FA60F9FE407140E20F707726A"
                }
            ],
            "fields": [
                {
                    "sets": [
                        "company_name"
                    ]
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Currencies
POST /currencies
PUT /currencies/{currency_id}
DELETE /currencies/{currency_id}
GET /currencies
GET /currencies/{currency_id}
Add Currency
POST /currencies

Add a new currency

Notes

Currencies can be configured per Service Owner/Business/Subsidiary organisations

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
code
string required

The currency code

Example:
EUR
rate
number required nullable

The conversaion rate of the currency in regards to the base currency (not required for default currency)

Default:
1
Example:
1.234

Responses

200 200

Successful Request

Body
Object
id
string GUID

The currency identifier

Example:
4AD9C84FA60F9FE407140E20F707726W
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/currencies HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "code": "EUR",
    "rate": 1.234
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726W"
}
Update Currency
PUT /currencies/{currency_id}

Update an existing currency

Path variables

currency_id
string required

The currency identifier that will be updated

Example:
edf4a34c-4932-4941-9957-aeb5b55873b6

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
rate
number nullable

The conversaion rate of the currency in regards to the base currency

Example:
1.2345

Responses

200 200

Successful Request

Body
Object
id
string GUID

The currency identifier

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/organisations/edf4a34c-4932-4941-9957-aeb5b55873bW/currencies/edf4a34c-4932-4941-9957-aeb5b55873b6 HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "rate": 1.2345
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Remove Currency
DELETE /currencies/{currency_id}

Remove an existing currency from the supported ones

Path variables

currency_id
string GUID required

The currency identifier that will be removed from the supported ones

Example:
4AD9C84FA60F9FE407140E20F707726W

Notes

Base Currency cannot be removed

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/organisations/4AD9C84FA60F9FE407140E20F707726A/currencies/4AD9C84FA60F9FE407140E20F707726W HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search Currencies
GET /currencies

Search for currencies (search is applied between the supported ones per organisation and not all ISO 4217 supported currencies)

Notes

Currencies can be configured per Service Owner/Business/Subsidiary organisations

Request parameters

code
string optional

The currency code

Example:
EUR
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
id
string GUID

The currency identifer

Example:
4AD9C84FA60F9FE407140E20F707726A
code
string

The currency code

Example:
EUR
rate
number

The conversaion rate of the currency in regards to the base currency

Example:
1.234
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/organisations/4AD9C84FA60F9FE407140E20F707726A/currencies HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "code": "EUR",
            "rate": 1.234
        }
    ]
}
Get Currency
GET /currencies/{currency_id}

Get details for a single currency

Path variables

currency_id
string GUID required

The currency identifer that will be retrieved

Example:
4AD9C84FA60F9FE407140E20F707726W

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
id
string GUID

The currency identifier

Example:
4AD9C84FA60F9FE407140E20F70772ER
code
string

The currency code

Example:
EUR
rates
Array

Information about the currencty conversion rate history

Object
id
string GUID

The conversion rate identifier

Example:
4AD9C84FA60F9FE407140E20F707726W
rate
number

The conversion rate with the base currency

Example:
1.234
from_date
string epoch

The date from which the rate is effective

Example:
1588171696
to_date
string epoch

The date up to which the rate is effective

Example:
1588171696
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/organisations/4AD9C84FA60F9FE407140E20F707726A/currencies/4AD9C84FA60F9FE407140E20F707726W HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F70772ER",
    "code": "EUR",
    "rates": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726W",
            "rate": 1.234,
            "from_date": "1588171696",
            "to_date": "1588171696"
        }
    ]
}
Custom Fields
POST /custom_fields
PUT /custom_fields/{id}
DELETE /custom_fields/{id}
GET /custom_fields
GET /custom_fields/{id}/
POST /custom_fields/priorities
POST /custom_panels
DELETE /custom_panels/{id}
GET /custom_panels
Create Custom Field
POST /custom_fields

Creates a new Custom Field

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
key
string required

The custom field key (for integrations and API purposes)

Example:
back_office
label
string required

The custom field label (for display purposes)

Example:
Back Office
description
string nullable

The custom field description

Example:
The account's back office code
tooltip
string nullable

The custom field tooltip

Example:
lorem ipsum
type
string required

The custom field type

Example:
SELECTION
entity
string required

The entity for which the custom field will be applicable

Enumeration:
CONTACTS
ORDERS
enabled
boolean required

Disabled custom fields are no longer in use, therefore not visible in the screen

Example:
true
visible
boolean required

Defines whether the custom field will be avaialble in the user interface or not

Example:
true
options
Array required nullable

Apllicable options for custom fields (required for selections, checkboxes and radio buttons)

Object
key
string required

The option key (for integrations and API purposes)

Example:
option_1
text
string required

The option text (for display purposes)

Example:
my option 1
default
boolean nullable

Defines whethet the option will be the default one or not

Example:
true

Responses

200 200

The request has succeeded

Body
Object
id
string GUID

The custom field identifier

Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/custom_fields HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "key": "back_office",
    "label": "Back Office",
    "description": "The account's back office code",
    "tooltip": "lorem ipsum",
    "type": "SELECTION",
    "entity": "CONTACTS",
    "enabled": true,
    "visible": true,
    "options": [
        {
            "key": "option_1",
            "text": "my option 1",
            "default": true
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "f68fad29-4a1b-3a1e-5cfa-6540a5b1609a"
}
Update Custom Field
PUT /custom_fields/{id}

Updates an existing custom field

Path variables

id
string GUID required

The custom field identifier that will be updated

Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
label
string
Example:
Back Office
description
string
Example:
The account's back office code
tooltip
string
enabled
boolean
Example:
true
visible
boolean
Example:
true
options
Array
Object
key
string
Example:
option_1
text
string
Example:
my option 1
default
boolean
Example:
true

Responses

200 200
Body
Object
id
string GUID

The custom field identifier

Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/custom_fields/{id} HTTP/1.1 

Content-Type: application/json

{
    "key": "back_office",
    "label": "Back Office",
    "description": "The account's back office code",
    "tooltip": "",
    "type": "SELECTION", 
    "entity": "ACCOUNTS",
    "enabled": true,
    "visible": true,
    "options": [
        {
            "key": "option_1",
            "text": "my option 1",
            "default": true
        }
    ]
}
Delete Custom Field
DELETE /custom_fields/{id}

Deletes a custom field

Path variables

id
string GUID required

The custom field identifier that will be deleted

Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/custom_fields/f68fad29-4a1b-3a1e-5cfa-6540a5b1609a HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List Custom Fields
GET /custom_fields

Returns a list of custom fields configured in the system

Request parameters

entity
string required

The name of the entity whose custom fields will be retrieved. If not specified, then all custom field across all entities are returned

Enumeration:
CONTACTS
ORDERS
enabled
boolean optional

Filters custom fields that are enabled or not enabled

Example:
true

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Array
Object
id
string GUID
Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a
key
string

Unique key of the custom field

Example:
back_office
label
string

The custom field’s label

Example:
Back Office
description
string

A description of the custom field

Example:
The account's back office code
enabled
boolean
Example:
true
visible
boolean
Example:
true
field
string

The custom field’s UI field type

Enumeration:
SINGLE_LINE
MULTIPLE_LINES
SELECTION
CHECKBOXES
RADIO_BUTTONS
TIMESTAMP
DATE
DATE_RANGE
NUMBER
AMOUNTS
entity
string

The related entity with the custom fields

Enumeration:
CONTACTS
ACCOUNTS
PURCHASE_EVENTS
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/custom_fields?entity=CONTACTS HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "f68fad29-4a1b-3a1e-5cfa-6540a5b1609a",
        "key": "back_office",
        "label": "Back Office",
        "description": "The account's back office code",
        "enabled": true,
        "visible": true,
        "field": "RADIO_BUTTONS",
        "entity": "CONTACTS"
    }
]
Get Custom Field
GET /custom_fields/{id}/

Returns a list of custom fields configured in the system

Path variables

id
string GUID required
Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Object
key
string
Example:
back_office
label
string
Example:
Back Office
description
string
Example:
The account's back office code
tooltip
string
Example:
lorem ipsum
type
string
Example:
SELECTION
entity
string
Enumeration:
CONTACTS
ORDERS
enabled
boolean
Example:
true
visible
boolean
Example:
true
options
Array
Object
key
string
Example:
option_1
text
string
Example:
my option 1
default
boolean
Example:
true
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/custom_fields/{id}/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "key": "back_office",
    "label": "Back Office",
    "description": "The account's back office code",
    "tooltip": "",
    "type": "SELECTION",
    "entity": "CONTACTS",
    "enabled": true,
    "visible": true,
    "options": [
        {
            "key": "option_1",
            "text": "my option 1",
            "default": true
        }
    ]
}
Order / Priority of Custom Field
POST /custom_fields/priorities

Changes the order/priorioty of a custom field

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
panel_id
string GUID nullable

The panel identifier to be ordered (can be null if default form location)

Example:
57fa030e-4fd7-9829-2045-615e70905c59
new_priority
integer

The new priority order

Responses

200 OK
Body
Object
panel_id
string GUID

The panel identifier

Example:
57fa030e-4fd7-9829-2045-615e70905c59
priority
integer

The priority

Example:
1
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
curl -X POST "https://sandbox.crm.com/backoffice/v1/custom_fields/{id}/ordering"  \
 -H "Content-Type: application/json"  \
 -d '[
    {
        "id": "",
        "previous_seq": 1,
        "new_seq": 4
    }
]'
Add Custom Panel
POST /custom_panels

Request body

Object
name
string

Panel Name

Description
string
base_location
string
Enumeration:
CONTACTS
ACCOUNT
x
integer
y
integer

Responses

201 Created
Body
Object
id
string

Guid of new Panel

Delete Custom Panel
DELETE /custom_panels/{id}

Delete an existing custom panel

Path variables

id
string GUID required

The custom panel identifier that will be deleted

Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/custom_panels/f68fad29-4a1b-3a1e-5cfa-6540a5b1609a HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List Custom Panels
GET /custom_panels

Retrieces all custom panels

Request parameters

base_location
string optional

Location of Base

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Array
Object
id
string GUID

The custom panel identifier

Example:
f68fad29-4a1b-3a1e-5cfa-6540a5b1609a
name
string

The custom panel name

Example:
Special Needs
description
string

The custom panel description

Example:
lorem ipsum
base_location
string

The location that custom panel will be positioned

Example:
CONTACT
x
integer

The x-axis position

Example:
1
y
integer

The y-axis position

Example:
1
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/custom_panels HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "f68fad29-4a1b-3a1e-5cfa-6540a5b1609a",
        "name": "Special Needs",
        "description": "lorem ipsum",
        "base_location": "CONTACT",
        "x": 1,
        "y": 1
    }
]
Customer Events
PUT /customer_event_generic_settings
GET /customer_event_generic_settings
Set Customer Event Settings
PUT /customer_event_generic_settings

Update the generic customer event settings for an organisation

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
purchase_settings
Object nullable

Information about handling invalid product information on purchase customer events

invalid_product_type_id
string GUID nullable

The product type identifier that will be used when creating invalid products from purchase customer events

Default:
Invalid Purchase Products
Example:
QWERTY1234543212345678UJIKY76HJR
referral_settings
Object nullable
max_customer_referrals
integer nullable

The maximum referrals that a customer can make

Default:
3
Example:
3

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the organisation

Example:
QWERTY1234543212345678UJIKY76HJR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /customer_event_generic_settings HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "purchase_settings": {
        "invalid_product_type_id": "QWERTY1234543212345678UJIKY76HJR"
    },
    "referral_settings": {
        "max_customer_referrals": 3
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "QWERTY1234543212345678UJIKY76HJR"
}
Get Customer Event Settings
GET /customer_event_generic_settings

Retrieve the generic customer event settings for an organisation

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
purchase_settings
Object
invalid_product_type_id
string GUID

The product type identifier that will be used when creating invalid products from purchase customer events

Example:
QWERTY1234543212345678UJIKY76HJR
referral_settings
Object
max_customer_referrals
integer

The maximum referrals that a customer can make

Example:
3
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /customer_event_generic_settings HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "purchase_settings": {
        "invalid_product_type_id": "QWERTY1234543212345678UJIKY76HJR"
    },
    "referral_settings": {
        "max_customer_referrals": 3
    }
}
Customer Event Classifications
POST /customer_event_classifications
PUT /customer_event_classifications/{id}
DELETE /customer_event_classifications/{id}
GET /customer_event_classifications
GET /customer_event_classifications/{id}
Create Customer Event Classification
POST /customer_event_classifications

Create a customer event classification within a single organisation

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The classification name

Example:
Cash
description
string nullable

The classification description

Example:
Cash driven customer event
type
string required

The classification type

Enumeration:
PURCHASE

Responses

200 200

Successful Request

Body
Object
id
string GUID

The customer event classification identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST /customer_event_classification HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Cash",
    "description": "Cash driven customer event",
    "type": "REFERRAL"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Update Customer Event Classification
PUT /customer_event_classifications/{id}

Update a specific contact classification for a specific organisation

Path variables

id
string GUID required

The customer event classification identifier that will be updated

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string nullable

The name of the classification

Example:
Cash
description
string nullable

The description of the classification

Example:
Represent cash driven customer events

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the contact category

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT /customer_event_classifications/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "name": "Cash",
    "description": "Represent cash driven customer events"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Delete Customer Event Classification
DELETE /customer_event_classifications/{id}

Delete a specific customer event classification for a specific organisation

Path variables

id
string GUID required

The customer event classification identifier that will be deleted

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE /customer_event_classifications/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 
Search Customer Event Classifications
GET /customer_event_classifications

Search for customer event classifications within a single organisation

Request parameters

name
string optional

The name of the classification

Example:
Cash
type
string optional

The type of the classification

Enumeration:
PURCHASE
ACHIEVEMENT
KPI_PERFORMANCE
REFERRAL
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
id
string GUID

The classification identifier

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the classification

Example:
Cash
description
string

The description of the classification

Example:
Cash driven customer event
type
string

The type of the classification

Enumeration:
PURCHASE
ACHIEVEMENT
KPI_PERFORMANCE
REFERRAL
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /customer_event_classifications HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "Cash",
            "description": "Cash driven customer event",
            "type": "KPI_PERFORMANCE"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Customer Event Classification
GET /customer_event_classifications/{id}

Get details for a single customer event classification

Path variables

id
string GUID required

The classification identifier that will be retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
id
string GUID

The classification identifier

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the classification

Example:
Cash
description
string

The description of the classification

Example:
Cash driven customer event
type
string

The type of the classification

Enumeration:
PURCHASE
ACHIEVEMENT
KPI_PERFORMANCE
REFERRAL
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET /customer_event_classifications/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A",
    "name": "Cash",
    "description": "Cash driven customer event",
    "type": "KPI_PERFORMANCE"
}
Financial Transactions
GET /financial_settings
PUT /financial_settings
POST /financial_transaction_types
PUT /financial_transaction_types/{id}
DELETE /financial_transaction_types/{id}
GET /financial_transaction_types
Get Financial Settings
GET /financial_settings

Get the generic financial settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
tax_model
string

The settings which defines how the account names are presented in the system

Enumeration:
TAX_INCLUSIVE
TAX_EXCLUSIVE
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/financial_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "tax_model": "TAX_INCLUSIVE"
}
Update Financial Settings
PUT /financial_settings

Update the generic financial settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
tax_model
string

Defines the default taxation model i.e. whether pricing willl be tax inclusive ro exclusive

Enumeration:
TAX_INCULSIVE
TAX_EXCLUSIVE

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/financial_settings HTTP/1.1 

Content-Type: application/json

{
    "tax_model": "TAX_INCULSIVE"
}
Create Financial Transactions Type
POST /financial_transaction_types

Create the financial transaction types

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the financial transaction type

Example:
INVOICE
classification
string

The classification of the financial transaction type

Enumeration:
INVOICE
PAYMENT
PAYMENT_CANCELLATION
REFUND
CREDIT_NOTE
is_default
boolean

Sets the financial transaction type as the default of its classification

Example:
true
description
string

A description of the financial transaction type

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction type

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Update Financial Transaction Type
PUT /financial_transaction_types/{id}

Update the financial transaction type

Path variables

id
string required

The id of the financial transaction type to be updated

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the financial transaction type

Example:
INVOICE
is_default
boolean

Sets the financial transaction type as the default of its classification

Example:
true
description
string

A description of the financial transaction type

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the financial transaction type

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Delete Financial Transaction Type
DELETE /financial_transaction_types/{id}

Delete a financial transaction type

Path variables

id
string required

The id of the financial transaction type to be deleted

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/financial_transactions_types/{id} HTTP/1.1 

HTTP/1.1 200 OK 
List Financial Transaction Types
GET /financial_transaction_types

Get all the available financial transaction types

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

The value of the search across name, classification (case insensitive)

Example:
DEBIT
classification
string optional

The classification of the financial transaction

Enumeration:
INVOICE
CREDT_NOTE
PAYMENT
REFUND
PAYMENT_CANCELLATION

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
name
string

The name of the financial transaction type

Example:
INVOICE
classification
string

The classification of the financial transaction type

Enumeration:
INVOICE
PAYMENT
REFUND
CREDIT_NOTE
PAYMENT_CANCELLATION
is_default
boolean

Sets the financial transaction tyep as the default of its classification

Example:
true
description
string

A description of the financial transaction type

paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The total number of records overall

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Industries and Industry Sectors
POST /industries
PUT /industries/{id}
DELETE /industry/{id}
GET /industries
GET /industries/{id}
POST /industry_sectors
PUT /industry_sectors/{id}
DELETE /industry_sectors/{id}
GET /industry_sectors
GET /industry_sectors/{id}
Create Industries
POST /industries

Create a new industry

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the industry to be created

Example:
TRAVEL

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the industry

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Update Industries
PUT /industries/{id}

Update a specific instustry

Path variables

id
string required

The ID of the industry to be updated

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the industry to be updated

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the contact industry

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Delete Industry
DELETE /industry/{id}

Delete an industry

Path variables

id
string required

The ID of the contact industry to be deleted

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

List Industries
GET /industries

Retrieve the contact industries

Request parameters

name
string optional

The name of the industry

Example:
EDUCATION
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
industries
Array
Object
name
string
id
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Get Industry
GET /industries/{id}

Retrieve a single industry

Path variables

id
string required

The id of the contact industry to be retrieved

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
industry_name
string
industry_id
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Create Industry Sectors
POST /industry_sectors

Create the industry sectors

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the industry sector to be updated

Example:
TRAVEL AGENTS
related_industries
Array
Object
industry_id
string GUID

The ID of the industry related to the industry sectors

Example:
4AD9C84FA60F9FE407140E20F707726A

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the industry sector

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Update Industry Sectors
PUT /industry_sectors/{id}

Update a specific Industry Sector

Path variables

id
string required

The ID of the industry sector to be updated

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the industry sector to be updated

related_industries
Array
Object
industry_id
string GUID
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string

The unique identifier of the contact industry sector

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Delete Industry Sector
DELETE /industry_sectors/{id}

Delete an industry sector

Path variables

id
string required

The ID of the industry sector to be deleted

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

List Industry Sectors
GET /industry_sectors

Retrieve the industry sectors

Request parameters

name
string optional

The name of the industry sector

Example:
RESTAURANTS
industry_name
string optional

The name of the industry that multiple sectors belong to

Example:
EDUCATION
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
order
string optional

Defines how the results will be ordered

Default:
DESC

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
industry_sectors
Array
Object
name
string
id
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
related_industries
Array
Object
id
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Get Industry Sector
GET /industry_sectors/{id}

Retrieve a single industry sector

Path variables

id
string required

The ID of the industry sector to be retrieved

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
industry_sector_name
string
industry_sector_id
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
related_industries
Array
Object
id
string GUID
Example:
4AD9C84FA60F9FE407140E20F707726A
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Languages
Update Supported Languages
PUT /languages

Update the supported languages that content can be translated to

Notes

Languages can be configured per Service Owner/Business/Subsidiary organisations and are used for content translations (e.g. translating offer descriptions in other languages)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
languages
Array

Information about the supported currencies

Object
language
string

The supported glossary language code

Enumeration:
ENG

English

GRE

Greek

Responses

200 OK

Success

Body
Object
id
string GUID

The organisation identifier

Example:
7cc1b26a-459f-4b47-a09f-6b121ae947da
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/organisations/7cc1b26a-459f-4b47-a09f-6b121ae947da/languages HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "languages": [
        {
            "language": "GRE"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "7cc1b26a-459f-4b47-a09f-6b121ae947da"
}
Get Supported Languages
GET /languages

Returns a list of the supported languages

Notes

Languages can be configured per Service Owner/Business/Subsidiary organisations and are used for content translations (e.g. translating offer descriptions in other languages)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

Body
Array
Object
language
string

The supported language code

Enumeration:
ENG

English

GRE

Greek

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/organisations/7cc1b26a-459f-4b47-a09f-6b121ae947da/languages HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "language": "ENG"
    }
]
Leads

Leads configurations.

Lost Reasons
POST /lost_reasons
GET /lost_reasons
PUT /lost_reasons/{id}
DELETE /lost_reasons/{id}
Create Lost Reason
POST /lost_reasons

Create a possible reason for losing a lead

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

A unique name for the lost reason

Example:
Requirements
description
string

A description for the lost reason

Example:
The product does not meet customer's requirements
Examples

Responses

201 Created
Body
Object
id
string GUID

The unique identifier of the newly created lost reason

Example:
4AD9C84FA60F9FE407140E20F707726A
Examples
{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/lost_reasons HTTP/1.1 

Content-Type: application/json

{
    "name": "Requirements",
    "description": "The product does not meet customer's requirements"
}
List Lost Reasons
GET /lost_reasons

List all available reasons for losing a lead

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for a lost reason based on its name and description

Example:
pricing

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string

The GUID of the lost reason

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

The name of the lost reason

Example:
Pricing
description
string

The description of the lost reason

Example:
Pricing not within organisation's budget
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
Examples
{
    "content": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "name": "Pricing",
            "description": "Pricing not within organisation's budget"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/lost_reasons HTTP/1.1 
Update Lost Reason
PUT /lost_reasons/{id}

Update a lost (lead) reason

Path variables

id
string GUID required

The GUID of the lost reason to be updated

Example:
74D9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

A unique lost reason name

Example:
Too expensive
description
string

A description of the lost lead reason

Example:
Pricing is not within organisation's budget.
Examples

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated lost reason

Example:
74D9C84FA60F9FE407140E20F707726A
Examples
{
    "id": "74D9C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/lost_reasons/74D9C84FA60F9FE407140E20F707726A HTTP/1.1 

Content-Type: application/json

{
    "name": "Too expensive",
    "description": "Pricing is not within organisation's budget."
}
Delete Lost Reason
DELETE /lost_reasons/{id}

Delete a lost lead reason

Path variables

id
string required

The GUID of the lost reason to be deleted

Example:
74D9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/lost_reasons/74D9C84FA60F9FE407140E20F707726A HTTP/1.1 
Pipelines
POST /pipelines
GET /pipelines/
GET /pipelines/{id}
PUT /pipelines/{id}
DELETE /pipelines/{id}
POST /pipelines/{id}/clone
PUT /pipelines/{id}/state
POST /pipelines/{id}/pipeline_stages
PUT /pipelines/{id}/pipeline_stage/{stage_id}
DELETE /pipelines/{id}/pipeline_stages/{stage_id}
Create Pipeline
POST /pipelines

Create a pipeline to be used for leads.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

A unique name for the pipeline

Example:
European subscriptions lead
Examples

Responses

201 Created
Body
Object
id
string

The unique identifier of the newly created pipeline

Example:
V349C84FA60F9FE407140E20F707726A
Examples
{
    "id": "V349C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/pipelines HTTP/1.1 

Content-Type: application/json

{
    "name": "European subscriptions lead"
}
List Pipelines
GET /pipelines/

Retrieve all pipelines

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for a pipeline using its name

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string

The GUID of the pipeline

Example:
74D9C84FA60F9FE407140E20F707726A
name
string

The name of the pipeline

Example:
Small local business lead
state
string

The life cycle state of the pipeline

Example:
Effective
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
Examples
{
    "content": [
        {
            "id": "74D9C84FA60F9FE407140E20F707726A",
            "name": "Small local business lead",
            "state": "Effective"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/pipelines/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "74D9C84FA60F9FE407140E20F707726A",
            "name": "Small local business lead",
            "state": "Effective"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Pipeline
GET /pipelines/{id}

Retrieve a pipeline and it’s pipeline stages

Path variables

id
string GUID required

The GUID of the pipeline

Example:
74D9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string

The GUID of the retrieved pipeline

name
string

The pipeline name

Example:
Small local business lead
state
string

The life cycle state of the pipeline

Example:
Effective
pipeline_stages
Array

The pipeline stages defined for the lead

Object
id
string GUID

Lead pipeline stage GUID

Example:
6A24D2B5E44F44B28451FE021FCAD51E
name
string

Pipeline stage name

Example:
Proposal submitted
order
integer

The order of the stage within the pipeline

Examples
{
    "id": "",
    "name": "Small local business lead",
    "state": "Effective",
    "pipeline_stages": [
        {
            "id": "6A24D2B5E44F44B28451FE021FCAD51E",
            "name": "Proposal submitted",
            "order": "4"
        }
    ]
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/pipelines/74D9C84FA60F9FE407140E20F707726A HTTP/1.1 
Update Pipeline
PUT /pipelines/{id}

Update a pipeline name

Path variables

id
string GUID required

The GUID of the pipeline to be updated

Example:
74D9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The unique pipeline name

Example:
Large-scale business lead
Examples

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated pipeline

Example:
74D9C84FA60F9FE407140E20F707726A
Examples
{
    "id": "74D9C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/pipelines/74D9C84FA60F9FE407140E20F707726A HTTP/1.1 

Content-Type: application/json

{
    "name": "Large-scale business lead"
}
Delete Pipeline
DELETE /pipelines/{id}

Delete a pipeline

Path variables

id
string required

The GUID of the pipeline to be deleted

Example:
74D9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/pipelines/74D9C84FA60F9FE407140E20F707726A HTTP/1.1 
Clone Pipeline
POST /pipelines/{id}/clone

Create a copy of an existing pipeline with a given new name

Path variables

id
string GUID required

The GUID of the pipeline to be cloned

Example:
6A24D2B5E44F44B28451FE021FCAD51E

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

A unique name for the new pipeline

Example:
European subscriptions lead
Examples

Responses

201 Created
Body
Object
id
string

The unique identifier of the newly created pipeline

Example:
V349C84FA60F9FE407140E20F707726A
Examples
{
    "id": "V349C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/pipelines/6A24D2B5E44F44B28451FE021FCAD51E/clone HTTP/1.1 

Content-Type: application/json

{
    "name": "European subscriptions lead"
}
Change Pipeline State
PUT /pipelines/{id}/state

Update the life-cycle-state of a pipeline

Path variables

id
string GUID required

The GUID of the pipeline whose state will be updated

Example:
74D9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
state
string required

The life cycle state of the pipeline

Enumeration:
Effective
Not effective
Examples

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated pipeline

Example:
74D9C84FA60F9FE407140E20F707726A
Examples
{
    "id": "74D9C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/pipelines/74D9C84FA60F9FE407140E20F707726A/state HTTP/1.1 

Content-Type: application/json

{
    "state": "Not effective"
}
Create Pipeline Stage
POST /pipelines/{id}/pipeline_stages

Create a pipeline stage for a pipeline

Path variables

id
string required

The GUID of the pipeline for which the pipeline stage will be created

Example:
99UL9C84FA60F9FE407140E20F707726N

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The pipeline stage name (must be unique within the pipeline)

Example:
Initial contact
Examples

Responses

201 Created
Body
Object
id
string

The unique identifier of the newly created pipeline stage

Example:
V349C84FA60F9FE407140E20F707726A
Examples
{
    "id": "V349C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/pipelines/99UL9C84FA60F9FE407140E20F707726N/pipeline_stages HTTP/1.1 

Content-Type: application/json

{
    "name": "Initial contact"
}
Update Pipeline Stage
PUT /pipelines/{id}/pipeline_stage/{stage_id}

Update a pipeline stage by changing the name or the order

Path variables

id
string GUID required

The GUID of the pipeline

Example:
74D9C84FA60F9FE407140E20F707726A
stage_id
string GUID required

The GUID of the pipeline stage to be updated

Example:
LLE9C84FA60F9FE407140E20F7077280

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The pipeline stage name (must be unique within the pipeline)

Example:
Needs identified
order
string

The order that the pipeline stage will appear within the pipeline

Example:
2

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated pipeline stage

Example:
74D9C84FA60F9FE407140E20F707726A
Examples
{
    "id": "74D9C84FA60F9FE407140E20F707726A"
}
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/pipelines/74D9C84FA60F9FE407140E20F707726A/pipeline_stage/LLE9C84FA60F9FE407140E20F7077280 HTTP/1.1 

Content-Type: application/json

{
    "name": "Needs identified",
    "order": "2"
}
Delete Pipeline Stage
DELETE /pipelines/{id}/pipeline_stages/{stage_id}

Delete a pipeline stage

Path variables

id
string required

The GUID of the pipeline

Example:
74D9C84FA60F9FE407140E20F707726A
stage_id
string required

The GUID of the pipeline stage to be deleted

Example:
PR90C84FA60F9FE407140E20F7077277

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/pipelines/74D9C84FA60F9FE407140E20F707726A/pipeline_stages/PR90C84FA60F9FE407140E20F7077277 HTTP/1.1 
Orders
GET /order_settings
PUT /order_settings
Get Order Settings
GET /order_settings

Retrieve Order generic settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
numbering_schemes
Array
Object
entity
string
Example:
ORDERS
prefix
string
starting_number
string
number_of_digits
integer
Example:
1
last_number
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "numbering_schemes": [
        {
            "entity": "ORDERS",
            "prefix": "",
            "starting_number": "",
            "number_of_digits": 1,
            "last_number": ""
        }
    ]
}
Update Order Settings
PUT /order_settings

Retrieve Order generic settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
numbering_schemes
Array
Object
entity
string
Example:
ORDERS
prefix
string
starting_number
string
number_of_digits
integer
Example:
1

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/order_settings HTTP/1.1 

Content-Type: application/json

{
    "numbering_schemes": [
        {
            "entity": "ORDERS",
            "prefix": "",
            "starting_number": "",
            "number_of_digits": 1
        }
    ]
}
Cancellation Reasons
GET /order_cancellation_reasons
POST /order_cancellation_reasons/
PUT /order_cancellation_reasons/{id}
DELETE /order_cancellation_reasons/{id}
List Order Cancellation Reasons
GET /order_cancellation_reasons

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for a cancellation reason based on its name or description

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
description
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
Example 1
GET https://devapi.crm.com/backoffice/v1/order_cancellation_reasons HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "",
            "description": "",
            "pages": {
                "page": 2,
                "size": 20,
                "total": 5124
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Create Order Cancellation Reason
POST /order_cancellation_reasons/

Creates a new Cancellation Reason that will be used when cancelling orders

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
description
string

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/order_cancellation_reasons/ HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": ""
}
Update Order Cancellation Reason
PUT /order_cancellation_reasons/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/order_cancellation_reasons/3423423423 HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": ""
}
Delete Order Cancellation Reason
DELETE /order_cancellation_reasons/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/order_cancellation_reasons/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Queues
GET /order_queues
GET /order_queues/{id}
POST /order_queues
PUT /order_queues/{id}
DELETE /order_queues/{id}
List Order Queues
GET /order_queues

Returns a list of Order Queues

Request parameters

search_value
string optional

Search Queues by name, description

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
74D9C84FA60F9FE407140E20F707726A
name
string
Example:
Basic food ordering queue
description
string
state
string
Enumeration:
ACTIVE
INACTIVE
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_queues HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "74D9C84FA60F9FE407140E20F707726A",
            "name": "Basic food ordering queue",
            "description": "",
            "state": "ACTIVE"
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Order Queue
GET /order_queues/{id}

Returns detailed information of an Order Queue

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
Example:
74D9C84FA60F9FE407140E20F707726A
name
string
Example:
Basic food ordering queue
state
string
Example:
ACTIVE
requires_assignment
boolean
Default:
false
life_cycle_states
Array
Example:
"NEW", "IN_PROGRESS"
string
Enumeration:
PENDING
NEW
IN_PROGRESS
COMPLETED
CANCELLED
products
Array
Object
item_type
string
Enumeration:
PRODUCT
FAMILY
TYPE
CLASSIFICATION
item_id
string
item_name
string

The name of the product or type or family or classification according to item_type

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_queues/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "74D9C84FA60F9FE407140E20F707726A",
    "name": "Basic food ordering queue",
    "state": "ACTIVE",
    "requires_assignment": "false",
    "life_cycle_states": [
        "NEW"
    ],
    "products": [
        {
            "item_type": "TYPE",
            "item_id": "",
            "item_name": ""
        }
    ]
}
Create Order Queue
POST /order_queues

Creates a new Order Queue

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
descripion
string
state
string
Enumeration:
ACTIVE
INACTIVE
Default:
ACTIVE
requires_assignement
boolean
Default:
false
life_cycle_states
Array required

The order’s life cycle states supported in this queue

Min items: 1
string
Enumeration:
PENDING
NEW
IN_PROGRESS
COMPLETED
CANCELLED
products
Array required

Includes

Min items: 1
Object
item_type
string required
Enumeration:
PRODUCT
TYPE
FAMILY
CLASSIFCATION
item_id
string nullable

Applicable and mandatory if item type is set to Product, Type or Family

classification
string nullable

Applicable and mandatory if item type is set to Classification, which represents the product’s classification

Enumeration:
TERMED_SERVICES
ONE_TIME_SERVICES
NON_TRACEABLE_PHYSICAL_GOODS
TRACEABLE_PHYSICAL_GOODS

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/order_queues HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "descripion": "",
    "state": "ACTIVE",
    "requires_assignement": "false",
    "life_cycle_states": [
        "PENDING"
    ],
    "products": [
        {
            "item_type": "FAMILY",
            "item_id": "",
            "classification": "TRACEABLE_PHYSICAL_GOODS"
        }
    ]
}

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": ""
}
Update Order Queue
PUT /order_queues/{id}

Updates an existing Order Queue

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
descripion
string
state
string
Enumeration:
ACTIVE
INACTIVE
requires_assignement
boolean
life_cycle_states
Array
string
Enumeration:
PENDING
NEW
IN_PROGRESS
COMPLETED
CANCELLED
products
Array
Object
item_type
string required
Enumeration:
PRODUCT
TYPE
FAMILY
CLASSIFICATION
item_id
string required nullable
classification
string nullable
Enumeration:
TERMED_SERVICE
TRACEABLE_PHYSICAL_GOOD
NON_TRACEABLE_PHYSICAL_GOOD

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/order_queues/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "descripion": "",
    "state": "ACTIVE",
    "requires_assignement": true,
    "life_cycle_states": [
        "COMPLETED"
    ],
    "products": [
        {
            "item_type": "PRODUCT",
            "item_id": "",
            "classification": "NON_TRACEABLE_PHYSICAL_GOOD"
        }
    ]
}
Delete Order Queue
DELETE /order_queues/{id}

Deletes an Order Queue

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/order_queues/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Categories
POST /order_categories
DELETE /order_categories/{id}
PUT /order_categories/{id}
GET /order_categories
Create Order Category
POST /order_categories

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
descripion
string
parent_id
string

Responses

201 Created
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/order_categories HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "descripion": "",
    "parent_id": ""
}
Delete Order Category
DELETE /order_categories/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 200

The request has succeeded

Example 1
DELETE https://devapi.crm.com/backoffice/v1/order_categories/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Update Order Category
PUT /order_categories/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string
parent_id
string

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/order_categories/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "parent_id": ""
}
List Order Categories
GET /order_categories

Returns a list of Order Categories

Request parameters

parent_id
string optional
name
string optional
return_all
boolean optional
search_value
string optional

Search for a category using its name or description

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
description
string
child_nodes
integer
Example:
2
parent
Object
id
string
name
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_categories HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "",
            "description": "",
            "child_nodes": 2,
            "parent": {
                "id": "",
                "name": ""
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Fulfillment Policies
POST /order_fulfillment_policies/
PUT /order_fulfillment_policies/{id}
DELETE /order_fulfillment_policies/{id}
GET /order_fulfillment_policies
GET /order_fulfillment_policies/{id}
Create Order Fulfillment Policy
POST /order_fulfillment_policies/

Creates an Order Fulfillment Policy

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string
supply_methods
string
milestones_enabled
boolean
Example:
true
minimum_amount
number
expiration_settings
Object
type
string
Example:
NEVER_EXPIRES
expires_in
integer
Example:
3
expiration_UOT
string
Example:
DAYS
quotation_settings
Object
enabled
boolean
Example:
true
enforce_acceptance
boolean
Example:
true
expiration_type
string
Example:
NEVER_EXPIRES
expires_in
integer
Example:
3
expiration_UOT
string
Example:
DAYS
average_completion_time
Object
time_to_complete
integer
Example:
30
time_to_complete_UOT
string
Example:
MINUTES
expenses
Array
Object
supply_method
string
Example:
DELIVERY
product_id
string
milestones
Array
Object
ordering
integer
Example:
1
type
string
Example:
ON_STARTING_PROGRESS
pricing_directive
string
Example:
AMOUNT
pricing_directive_value
integer
Example:
10
due_date_setting
Object
due_in
string
Example:
X_PERIOD_AFTER
due_period
string
Example:
MINUTES
due_period_value
integer
Example:
30
organisation_id
string

The unique identifier of the orgnaisation that will fulfill orders based on this policy

queues
Array of string

A list of order queues. The list includes a list of order queue unique identifiers

Responses

200 OK

The request has succeeded

Body
Object
id
string GUID

The fulfillment policy identifier

Example:
d892c9b4-0a6b-baf9-8a32-913c932bd2ab
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/order_fulfillment_policies/ HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "supply_methods": "",
    "milestones_enabled": true,
    "minimum_amount": 1,
    "expiration_settings": {
        "type": "NEVER_EXPIRES",
        "expires_in": 3,
        "expiration_UOT": "DAYS"
    },
    "quotation_settings": {
        "enabled": true,
        "enforce_acceptance": true,
        "expiration_type": "NEVER_EXPIRES",
        "expires_in": 3,
        "expiration_UOT": "DAYS"
    },
    "average_completion_time": {
        "time_to_complete": 30,
        "time_to_complete_UOT": "MINUTES"
    },
    "expenses": [
        {
            "supply_method": "DELIVERY",
            "product_id": ""
        }
    ],
    "milestones": [
        {
            "ordering": 1,
            "type": "ON_STARTING_PROGRESS",
            "pricing_directive": "AMOUNT",
            "pricing_directive_value": 10,
            "due_date_setting": {
                "due_in": "X_PERIOD_AFTER",
                "due_period": "MINUTES",
                "due_period_value": 30
            }
        }
    ],
    "organisation_id": "",
    "queues": [
        ""
    ]
}

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": ""
}
Update Order Fulfillment Policy
PUT /order_fulfillment_policies/{id}

Path variables

id
string GUID required

The order fulfillment policy that will be updated

Example:
d892c9b4-0a6b-baf9-8a32-913c932bd2ab

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string
supply_methods
string
milestones_enabled
boolean
Example:
true
minimum_amount
integer
Example:
1
expiration_settings
Object
type
string
Example:
NEVER_EXPIRES
expires_in
integer
Example:
3
expiration_UOT
string
Example:
DAYS
quotation_settings
Object
enabled
boolean
Example:
true
enforce_acceptance
boolean
Example:
true
expiration_type
string
Example:
NEVER_EXPIRES
expires_in
integer
Example:
3
expiration_UOT
string
Example:
DAYS
average_completion_time
Object
time_to_complete
integer
Example:
30
time_to_complete_UOT
string
Example:
MINUTES
expenses
Array
Object
supply_method
string
Example:
DELIVERY
product
Object
id
string
sku
string
milestones
Array
Object
ordering
integer
Example:
1
type
string
Example:
ON_START_PROGRESS
pricing_directive
string
Example:
BASED_ON_DELIVERED_ITEMS
pricing_directive_value
integer
Example:
1
due_date_setting
Object
due_in
string
Example:
X_PERIOD_AFTER
due_period
string
Example:
MINUTES
due_period_value
integer
Example:
30
organisation_id
string
queues
Array of string

A list of order queues unique identifiers

Responses

200 OK

The request has succeeded

Body
Object
id
string GUID

The order fulfillment policy identifier

Example:
d892c9b4-0a6b-baf9-8a32-913c932bd2ab
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/order_fulfillment_policies HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "supply_methods": "",
    "milestones_enabled": true,
    "minimum_amount": 1,
    "expiration_settings": {
        "type": "NEVER_EXPIRES",
        "expires_in": 3,
        "expiration_UOT": "DAYS"
    },
    "quotation_settings": {
        "enabled": true,
        "enforce_acceptance": true,
        "expiration_type": "NEVER_EXPIRES",
        "expires_in": 3,
        "expiration_UOT": "DAYS"
    },
    "average_completion_time": {
        "time_to_complete": 30,
        "time_to_complete_UOT": "MINUTES"
    },
    "expenses": [
        {
            "supply_method": "DELIVERY",
            "product": {
                "id": "",
                "sku": ""
            }
        }
    ],
    "milestones": [
        {
            "ordering": 1,
            "type": "ON_START_PROGRESS",
            "pricing_directive": "BASED_ON_DELIVERED_ITEMS",
            "pricing_directive_value": 1,
            "due_date_setting": {
                "due_in": "X_PERIOD_AFTER",
                "due_period": "MINUTES",
                "due_period_value": 30
            }
        }
    ],
    "organisation_id": "",
    "queues": [
        ""
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Delete Order Fulfillment Policy
DELETE /order_fulfillment_policies/{id}

Path variables

id
string GUID required

The order fulfillment poilicy that will be deleted

Example:
d892c9b4-0a6b-baf9-8a32-913c932bd2ab

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/order_fulfillment_policies/{id} HTTP/1.1 

HTTP/1.1 200 OK 
List Order Fulfillement Policies
GET /order_fulfillment_policies

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search by name or description

fulfilled_by
string optional
supply_method
string optional
Enumeration:
DELIVERY
PICK_UP

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
name
string
description
string
supply_methods
string
Enumeration:
DELIVERY
PICK_UP
ALL
organisation
Object
id
string
name
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_fulfillment_policies HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "name": "",
            "description": "",
            "supply_methods": "ALL",
            "organisation": {
                "id": "",
                "name": ""
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Order Fulfillment Policy
GET /order_fulfillment_policies/{id}

Returns detailed information for an Order fulfillment policy

Path variables

id
string GUID required

The order fulfillment policy that will be retrieved

Example:
c011cb43-b76e-7e5a-436c-f5917e358849

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK

The request has succeeded

Body
Object
name
string
description
string
supply_methods
string
Enumeration:
DELIVERY
PICK_UP
ALL
milestones_enabled
boolean
Example:
true
minimum_amount
number
currency
string
Example:
EUR
expiration_settings
Object
type
string
Example:
NEVER_EXPIRES
expires_in
integer
Example:
3
expiration_UOT
string
Example:
DAYS
quotation_settings
Object
enabled
boolean
Example:
true
enforce_acceptance
boolean
Example:
true
expiration_type
string
Example:
NEVER_EXPIRES
expires_in
integer
Example:
3
expiration_UOT
string
Example:
DAYS
average_completion_time
Object
time_to_complete
integer
Example:
30
time_to_complete_UOT
string
Example:
MINUTES
organisation
Object
id
string
name
string
expenses
Array
Object
supply_method
string
Example:
DELIVERY
product
Object
id
string
sku
string
milestones
Array
Object
ordering
integer
Example:
1
type
string
Example:
ON_STARTING_PROGRESS
pricing_directive
string
Example:
PERCENTAGE
pricing_directive_value
integer
Example:
1
due_date_setting
Object
due_in
string
Example:
X_PERIOD_AFTER
due_period
string
Example:
MINUTES
due_period_value
integer
Example:
30
queues
Array
Object
id
string
name
string
state
string
Enumeration:
ACTIVE
INACTIVE
Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_fulfillment_policies/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "supply_methods": "PICK_UP",
    "milestones_enabled": true,
    "minimum_amount": 1,
    "currency": "EUR",
    "expiration_settings": {
        "type": "NEVER_EXPIRES",
        "expires_in": 3,
        "expiration_UOT": "DAYS"
    },
    "quotation_settings": {
        "enabled": true,
        "enforce_acceptance": true,
        "expiration_type": "NEVER_EXPIRES",
        "expires_in": 3,
        "expiration_UOT": "DAYS"
    },
    "average_completion_time": {
        "time_to_complete": 30,
        "time_to_complete_UOT": "MINUTES"
    },
    "organisation": {
        "id": "",
        "name": ""
    },
    "expenses": [
        {
            "supply_method": "DELIVERY",
            "product": {
                "id": "",
                "sku": ""
            }
        }
    ],
    "milestones": [
        {
            "ordering": 1,
            "type": "ON_STARTING_PROGRESS",
            "pricing_directive": "PERCENTAGE",
            "pricing_directive_value": 1,
            "due_date_setting": {
                "due_in": "X_PERIOD_AFTER",
                "due_period": "MINUTES",
                "due_period_value": 30
            }
        }
    ],
    "queues": [
        {
            "id": "",
            "name": "",
            "state": "INACTIVE"
        }
    ]
}
Completion Rules
GET /order_completion_rules
GET /order_completion_rules/{id}
POST /order_completion_rules
PUT /order_completion_rules/{id}
DELETE /order_completion_rules/{id}
List Order Completion Rules
GET /order_completion_rules

List order cmpletion rules

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
additional_completion_time
integer
Example:
5
additional_completion_time_UOT
string
Example:
MINUTES
min_number_of_running_orders
integer
Example:
5
max_number_of_running_orders
integer
Example:
10
organisation
Object
id
string
name
string
product_conditions
Array
Object
item_type
string
Example:
TYPE
item_id
string
timing_conditions
Array
Object
day_of_week
string
Enumeration:
MONDAY
TUESDAY
start_time
string
Example:
09:00
end_time
string
Example:
11:00
min_number_of_pending_items
integer
max_number_of_pending_items
integer
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_completion_rules HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [ 
        {
            "id": "",
            "additional_completion_time": 5,
            "additional_completion_time_UOT": "MINUTES",
            "min_number_of_running_orders": 5,
            "max_number_of_running_orders": 10,
            "organisation": {
                "id": "",
                "name": ""
            },
            "product_conditions": [
                {
                    "item_type": "TYPE",
                    "item_id": ""
                }
            ],
            "timing_conditions": [
                {
                    "day_of_week": "TUESDAY",
                    "start_time": "09:00",
                    "end_time": "11:00"
                }
            ],
            "min_number_of_pending_items": 1,
            "max_number_of_pending_items": 1
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Order Completion Rule
GET /order_completion_rules/{id}

Get order completion rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
additional_completion_time
integer
Example:
5
additional_completion_time_UOT
string
Example:
MINUTES
min_number_of_running_orders
integer
Example:
5
max_number_of_running_orders
integer
Example:
10
organisation
Object
id
string
name
string
product_conditions
Array
Object
item_type
string
Example:
TYPE
item_id
string
name
string

The name of the product type or the product SKU depending on the condition type

timing_conditions
Array
Object
day_of_week
string
Example:
MONDAY
start_time
string
Example:
09:00
end_time
string
Example:
11:00
min_number_of_pending_items
integer
Example:
1
max_number_of_pending_items
integer
Example:
1
Example 1
GET https://stagingapi.crm.com/backoffice/v1/order_completion_rules/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "",
    "additional_completion_time": 5,
    "additional_completion_time_UOT": "MINUTES",
    "min_number_of_running_orders": 5,
    "max_number_of_running_orders": 10,
    "organisation": {
        "id": "",
        "name": ""
    },
    "product_conditions": [
        {
            "item_type": "TYPE",
            "item_id": "",
            "name": ""
        }
    ],
    "timing_conditions": [
        {
            "day_of_week": "MONDAY",
            "start_time": "09:00",
            "end_time": "11:00"
        }
    ],
    "min_number_of_pending_items": 1,
    "max_number_of_pending_items": 1
}
Add Order Completion Rule
POST /order_completion_rules

Creates a new rule for completing orders

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
additional_completion_time
integer
Example:
5
additional_completion_time_UOT
string
Example:
MINUTES
min_number_of_running_orders
integer
Example:
5
max_number_of_running_orders
integer
Example:
10
organisation_id
string
product_conditions
Array
Object
item_type
string
Enumeration:
PRODUCT
TYPE
item_id
string
timing_conditions
Array
Object
day_of_week
string
Example:
MONDAY
start_time
string
Example:
09:00
end_time
string
Example:
11:00
min_number_of_pending_items
integer
max_number_of_pending_items
integer

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/order_completion_rules HTTP/1.1 

Content-Type: application/json

{
    "additional_completion_time": 5,
    "additional_completion_time_UOT": "MINUTES",
    "min_number_of_running_orders": 5,
    "max_number_of_running_orders": 10,
    "organisation_id": "",
    "product_conditions": [
        {
            "item_type": "PRODUCT", 
            "item_id": ""
        }
    ],
    "timing_conditions": [
        {
            "day_of_week": "MONDAY",
            "start_time": "09:00",
            "end_time": "11:00"
        }
    ],
    "min_number_of_pending_items": 1,
    "max_number_of_pending_items": 1
}
Update Order Completion Rule
PUT /order_completion_rules/{id}

Update a existing rule for completing orders

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
additional_completion_time
integer
Example:
5
additional_completion_time_UOT
string
Example:
MINUTES
min_number_of_running_orders
integer
Example:
5
max_number_of_running_orders
integer
Example:
10
organisation_id
string
product_conditions
Array
Object
item_type
string
Enumeration:
PRODUCT
TYPE
item_id
string
timing_conditions
Array
Object
day_of_week
string
Example:
MONDAY
start_time
string
Example:
09:00
end_time
string
Example:
11:00
min_number_of_pending_items
integer
max_number_of_pending_items
integer

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/order_completion_rules/{id} HTTP/1.1 

Content-Type: application/json

{
    "additional_completion_time": 5,
    "additional_completion_time_UOT": "MINUTES",
    "min_number_of_running_orders": 5,
    "max_number_of_running_orders": 10,
    "organisation_id": "",
    "product_conditions": [
        {
            "item_type": "TYPE", 
            "item_id": ""
        }
    ],
    "timing_conditions": [
        {
            "day_of_week": "MONDAY",
            "start_time": "09:00",
            "end_time": "11:00"
        }
    ],
    "min_number_of_pending_items": 1,
    "max_number_of_pending_items": 1
}
Delete Order Completion Rule
DELETE /order_completion_rules/{id}

Delete an existing order completion rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

204 No Content
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/order_completion_rules/{id} HTTP/1.1 

HTTP/1.1 204 No Content 
Passes
POST /pass_types
PUT /pass_types/{id}
DELETE /pass_types/{id}
GET /pass_types
GET /pass_types/{id}
Create Pass Type
POST /pass_types

Create the pass types

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The name of the pass type

Example:
Xmas Gift Cards
description
string

A description of the pass type

Example:
Gift Cards for Christmas
classification
string required

The classification of the pass type

Enumeration:
PROMOTION
GIFT
TOPUP
promotion_id
string GUID

The promotion that the promotion pass will consume. Only applicable for classifications PROMOTION

Example:
4AD9C84FA60F9FE407140E20F707726A
reward_offer_id
string GUID

The reward offer that the promotion pass will consume. Only applicable for classifications PROMOTION

Example:
4AD9C84FA60F9FE407140E20F707726A
distribution_method
string

The distribution method of the Passes to be created. Applicable only for PROMOTION

Enumeration:
MULTIPLE
SINGLE
usage
Object

The usage settings that define how the passes will be used

method
string

The usage method

Enumeration:
SINGLE
MULTIPLE
maximum_usage
string

The maximum usage allowed in case of method Multiple

Example:
2
validity
Object

The validity of the passes

type
string

The validity type

Enumeration:
PERIOD
DATE
NEVER
period
integer

The validity period

Example:
1
uot
string

The UOT of the period

Enumeration:
DAY
MONTH
YEAR
to_date
integer epoch

The “valid until” date in case of DATE type

Example:
1591703675
value
Object

The value of the pass in case of GIFT and TOPUP

type
string
Enumeration:
FIXED
VARIABLE
fixed_amount
number

The fixed amount of value

Example:
200
minimum
number

The minimum allowed value for the VARIABLE range

Example:
50
maximum
number

The maximum allowed value for the VARIABLE range

code_format
Object

The code format

type
string

The type of the code format

Enumeration:
ALPHANUMERIC
ALPHABETIC
NUMERIC
prefix
string

The prefix of the code

Example:
SUM
suffix
string

The suffix of the code

Example:
20
length
integer

The length of the code

Example:
10
otp_required
boolean

It denotes whether an OTP will be required to validate the pass, providing the code. Default value is false

Example:
true
pin_required
boolean

Defines whether generated passes will need a pin

Default:
false
Example:
true
products
Array

The set of products that will conume the pass’s money.

Object
item_type
string required

Defines whether a specific product or products of a specific family will consume the pass’s money

Enumeration:
PRODUCT
FAMILY
item_id
string required

The unique identifier of either a product or a product family

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the pass type

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/pass_types HTTP/1.1 

Content-Type: application/json

{
    "name": "Xmas Gift Cards",
    "description": "Gift Cards for Christmas",
    "classification": "GIFT",
    "promotion_id": "4AD9C84FA60F9FE407140E20F707726A",
    "reward_offer_id": "4AD9C84FA60F9FE407140E20F707726A",
    "distribution_method": "MULTIPLE",
    "usage": {
        "method": "MULTIPLE",
        "maximum_usage": "2"
    },
    "validity": {
        "type": "PERIOD",
        "period": 1,
        "uot": "YEAR",
        "to_date": 1591703675
    },
    "value": {
        "type": "VARIABLE",
        "fixed_amount": 200,
        "minimum": 50,
        "maximum": 1
    },
    "code_format": {
        "type": "ALPHANUMERIC",
        "prefix": "SUM",
        "suffix": "20",
        "length": 10,
        "otp_required": "true"
    },
    "products": [
        {
            "item_type": "FAMILY",
            "item_id": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Update Pass Type
PUT /pass_types/{id}

Update a specific pass type

Path variables

id
string GUID required

The ID of the pass type to be updated

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the pass type

Example:
Xmas Gift Cards
description
string

A description of the pass type

Example:
Gift Cards for Christmas
usage
Object

The usage settings that define how the passes will be used

method
string

The usage method

Enumeration:
SINGLE
MULTIPLE
maximum_usage
string

The maximum usage allowed in case of method Multiple

Example:
2
validity
Object

The validity of the passes

type
string
Enumeration:
PERIOD
DATE
NEVER
period
integer

The validity period

Example:
1
uot
string

The UOT of the period

Enumeration:
DAY
MONTH
YEAR
to_date
integer epoch

The “valid until” date in case of DATE type

Example:
1591703675
code_format
Object

The code format

type
string

The type of the code format

Enumeration:
ALPHANUMERIC
ALPHABETIC
NUMERIC
prefix
string

The prefix of the code

Example:
SUM
suffix
string

The suffix of the code

Example:
20
length
integer

The length of the code

Example:
10
otp_required
boolean

It denotes whether an OTP will be required to validate the pass, providing the code. Default value is false

Example:
true
pin_required
boolean

Defines whether generated passes will need a pin

Example:
true
products
Array

The set of products that will conume the pass’s money.

Object
item_type
string required

Defines whether a specific product or products of a specific family will consume the pass’s money

item_id
string required

The unique identifier of either a product or a product family

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the pass type

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/pass_types/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

Content-Type: application/json

{
    "name": "Xmas Gift Cards",
    "description": "Gift Cards for Christmas",
    "usage": {
        "method": "SINGLE",
        "maximum_usage": "2"
    },
    "validity": {
        "type": "DATE",
        "period": 1,
        "uot": "DAY",
        "to_date": 1591703675
    },
    "code_format": {
        "type": "ALPHABETIC",
        "prefix": "SUM",
        "suffix": "20",
        "length": 10,
        "otp_required": "true"
    },
    "products": [
        {
            "item_type": "",
            "item_id": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Delete Pass Type
DELETE /pass_types/{id}

Delete an existing pass type

Path variables

id
string GUID required

The pass type identifier that will be deleted

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/pass_types/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List Pass Types
GET /pass_types

List all the available pass types

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

The value of the search across Pass Type Name

Example:
Xmas

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
name
string

The name of the pass type

Example:
Xmas Gift Cards
description
string

The description of the pass type

Example:
Gift Cards for Christmas
classification
string

The classification of the pass type

Enumeration:
GIFT
TOPUP
PROMOTION
number_of_lots
integer

The total number of lots of the pass type

Example:
1542
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/pass_types HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "name": "Xmas Gift Cards",
            "description": "Gift Cards for Christmas",
            "classification": "TOPUP",
            "paging": {
                "page": 2,
                "size": 20,
                "total": 5124
            }
        }
    ]
}
Get Pass Type
GET /pass_types/{id}

Gets an existing pass type

Path variables

id
string GUID required

The ID of the pass type to be retrieved

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
name
string

The name of the pass type

Example:
Xmas Gift Cards
description
string

The description of the pass type

Example:
Gift Cards for Christmas
classification
string

The classification of the pass type

Enumeration:
GIFT
TOPUP
PROMOTION
promotion
Object

The promotion that the passes will consume

id
string GUID

The ID of the promotion

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the promotion

Example:
XMAS 50% off
reward_offer
Object

The reward offer that the promotion pass will consume.

id
string GUID

The ID of the reward offer

Example:
4AD9C84FA60F9FE407140E20F707726A
name
string

The name of the reward offer

Example:
Birthday Offer
distribution_method
string

The distribution method of the pass type

Enumeration:
SINGLE
MULTIPLE
usage
Object

The usage settings of the pass type

method
string
Enumeration:
SINGLE
MULTIPLE
maximum_usage
integer

The maximum usage allowed in case of method Multiple

Example:
1
validity
Object

The validity of the pass of classification GIFT and TOPUP

type
string
Enumeration:
PERIOD
DATE
NEVER
period
integer

The validity period

Example:
1
uot
string

The UOT of the period

Enumeration:
DAY
MONTH
YEAR
to_date
integer epoch

The “valid until” date in case of DATE type

Example:
1591703675
value
Object

The value of the pass in case of GIFT and TOPUP

type
string
Enumeration:
FIXED
VARIABLE
fixed_amount
number

The fixed amount of value

Example:
200.5
minimum
number

The minimum allowed value for the VARIABLE range

Example:
10.5
maximum
number

The maximum allowed value for the VARIABLE range

Example:
100.5
code_format
Object

The code format

type
string

The type of the code format

Enumeration:
ALPHANUMERIC
ALPHABETIC
NUMERIC
prefix
string

The prefix of the code

Example:
SUM
suffix
string

The suffix of the code

Example:
20
length
integer

The length of the code

Example:
10
otp_required
boolean

It denotes whether an OTP will be required to validate the pass, providing the code. Default value is false

Example:
true
pin_required
boolean

Defines whether generated passes will need a pin

Example:
true
products
Array

The set of products that will conume the pass’s money.

Object
item_type
string required

Defines whether a specific product or products of a specific family will consume the pass’s money

Enumeration:
PRODUCT
FAMILY
item_id
string required

The unique identifier of either a product or a product family

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/pass_types/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "Xmas Gift Cards",
    "description": "Gift Cards for Christmas",
    "classification": "GIFT",
    "promotion": {
        "id": "4AD9C84FA60F9FE407140E20F707726A",
        "name": "XMAS 50% off"
    },
    "reward_offer": {
        "id": "4AD9C84FA60F9FE407140E20F707726A",
        "name": "Birthday Offer"
    },
    "distribution_method": "MULTIPLE",
    "usage": {
        "method": "MULTIPLE",
        "maximum_usage": 1
    },
    "validity": {
        "type": "PERIOD",
        "period": 1,
        "uot": "MONTH",
        "to_date": 1591703675
    },
    "value": {
        "type": "FIXED",
        "fixed_amount": 200.5,
        "minimum": 10.5,
        "maximum": 100.5
    },
    "code_format": {
        "type": "NUMERIC",
        "prefix": "SUM",
        "suffix": "20",
        "length": 10,
        "otp_required": true
    },
    "products": [
        {
            "item_type": "PRODUCT",
            "item_id": ""
        }
    ]
}
Product Catalog
GET /product_synchronisation_settings
PUT /product_synchronisation_settings
Get Product Synchronisation Settings
GET /product_synchronisation_settings

Retrieve the setting of the product synchronisation process

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
auto_generated_config
boolean
Example:
true
product_brand
Object
id
string
name
string
product_family
Object
id
string
name
string
product_category
Object
id
string
name
string
product_type
Object
id
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/product_synchronisation_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "auto_generated_config": true,
    "product_brand": {
        "id": "",
        "name": ""
    },
    "product_family": {
        "id": "",
        "name": ""
    },
    "product_category": {
        "id": "",
        "name": ""
    },
    "product_type": {
        "id": "",
        "name": ""
    }
}
Update Product Sychronisation Settings
PUT /product_synchronisation_settings

Update the settings of the product synchronisation process

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
auto_generated_config
boolean
Example:
true
product_brand_id
string
product_family_id
string
product_category_id
string
product_type_id
string

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/product_synchronisation_settings HTTP/1.1 

Content-Type: application/json

{
    "auto_generated_config": true,
    "product_brand_id": "",
    "product_family_id": "",
    "product_category_id": "",
    "product_type_id": ""
}
Product Variant Attributes
GET /variants/
POST /variants
PUT /variants/{id}
DELETE /variants/{id}
GET /variant_attributes/
POST /variant_attributes
PUT /variant_attributes/{id}
DELETE /variant_attributes/{id}
List Variants - DEL
GET /variants/

Returns a list of product Variants

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for variants based on name and description

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
key
string
label
string
description
string
values
Array of string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/variants/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "key": "",
            "label": "",
            "description": "",
            "values": [
                ""
            ]
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Create Variant - DEL
POST /variants

Creates a new Variant

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
key
string
label
string
description
string
values
Array of string required
Min items: 1
Unique items: YES

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/variants HTTP/1.1 

Content-Type: application/json

{
    "key": "",
    "label": "",
    "description": "",
    "values": [
        ""
    ]
}
Update Variant - DEL
PUT /variants/{id}

Updates an existing Variant

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
key
string
label
string
description
string
values
Array of string required
Min items: 1
Unique items: YES

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/variants/{id} HTTP/1.1 

Content-Type: application/json

{
    "key": "",
    "label": "",
    "description": "",
    "values": [
        ""
    ]
}
Delete Variant - DEL
DELETE /variants/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 200

The request has succeeded

Example 1
DELETE https://devapi.crm.com/backoffice/v1/variants/{id} HTTP/1.1 

HTTP/1.1 200 OK 
List Variant Attributes
GET /variant_attributes/

Returns a list of product Variant Attributes

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for variants based on name and description

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
key
string
label
string
description
string
values
Array of string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/variant_attributes/ HTTP/1.1 
Create Variant Attribute
POST /variant_attributes

Creates a new Variant Attribute

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
key
string
label
string
description
string
values
Array of string required
Min items: 1
Unique items: YES

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/variant_attribute HTTP/1.1 

Content-Type: application/json

{
    "key": "",
    "label": "",
    "description": "",
    "values": [
        ""
    ]
}
Update Variant Attributes
PUT /variant_attributes/{id}

Updates an existing Variant Attribute

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
key
string
label
string
description
string
values
Array of string required
Min items: 1
Unique items: YES

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://sandbox.crm.com/backoffice/v1/variant_attributes/{id} HTTP/1.1 

Content-Type: application/json

{
    "key": "",
    "label": "",
    "description": "",
    "values": [
        ""
    ]
}
Delete Variant Attribute
DELETE /variant_attributes/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 200

The request has succeeded

Example 1
DELETE https://devapi.crm.com/backoffice/v1/variants/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Product Families
GET /product_families/
POST /product_families
PUT /product_families/{id}
DELETE /product_families/{id}
List Product Families
GET /product_families/

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for product family based on name and description

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
description
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/product_families/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
    {
        "id":"",
        "name": "",
        "description": ""
    }
]
}
Create Product Family
POST /product_families

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
descripion
string

Responses

201 Created
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/product_families HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "descripion": ""
}
Update Product Family
PUT /product_families/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
descripion
string
Delete Product Family
DELETE /product_families/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

200 200

The request has succeeded

Example 1
DELETE https://devapi.crm.com/backoffice/v1/product_families/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Product Brands
GET /product_brands/{id}
POST /product_brands
GET /product_brands/
PUT /product_brands/{id}
DELETE /product_brands/{id}
Get Product Brand
GET /product_brands/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
name
string
description
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/product_brands/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "",
    "name": "",
    "description": ""
}
Create Product Brand
POST /product_brands

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string

Responses

201 Created
Body
Object
id
string

The unique identifier of the newlly created product brand

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/product_brands HTTP/1.1 

Content-Type: application/json

{
    "name": "Set Top Boxes",
    "description": "STB brands"
}
List Product Brands
GET /product_brands/

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for a brand based on its name and description

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
description
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/product_brands/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "",
            "description": ""
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Update Product Brand
PUT /product_brands/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated product brand

Example:
4AD9C84FA60F9FE407140E20F707726A
Example 1
PUT https://devapi.crm.com/backoffice/v1/product_brands/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": ""
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Delete Product Brand
DELETE /product_brands/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/product_brands/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 
Product Categories
POST /product_categories
PUT /product_categories/{id}
DELETE /product_categories/{id}
GET /product_categories
Create Product Category
POST /product_categories

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
code
string
descripion
string
parent_id
string
available_in_order_menus
boolean required
Default:
false
Example:
false

Responses

201 Created
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/product_categories HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "descripion": "",
    "parent_id": "",
    "available_in_order_menus": "false"
}
Update Product Category
PUT /product_categories/{id}

Updates an existing product category.

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
code
string
description
string
parent_id
string
available_in_order_menus
boolean required
Default:
false
Example:
false
Examples
{
    "name": "",
    "code": "",
    "description": "",
    "parent_id": "",
    "available_in_order_menus": "false"
}
Delete Product Category
DELETE /product_categories/{id}

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

204 No Content
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

List Product Categories
GET /product_categories

Return a list of product categories

Request parameters

parent_id
string optional

If specified, then all categories under the parent node will be returned. If not specified, then all root nodes of the tree are returned.

return_all
boolean optional

Returns all categories of the tree if set to True, ignoring parent_id and include_chid_nodes parameters

Default:
false
search_value
string optional

Search for a category based on name and description

description
string optional
available_in_order_menus
boolean optional

Filter product categories on whether to include in the order menu or not

Example:
true
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
code
string
description
string
child_nodes
integer
Example:
2
parent
Object
id
string
name
string
available_in_order_menus
boolean
Example:
false
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/product_categories?include_child_nodes=false HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "",
            "description": "",
            "child_nodes": 2,
            "parent": {
                "id": "",
                "name": ""
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Product Types
POST /product_types
PUT /product_types/{id}
DELETE /product_types/{id}
GET /product_types/
GET /product_types/{id}
Create Product Type
POST /product_types

Create a new product type. A single Product Type can be created per Web API call

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
Example:
Decoders
description
string
classification
string required
Enumeration:
TERMED_SERVICE
USAGE_SERVICE
ONE_TIME_SERVICE
TRACEABLE_PHYSICAL_GOOD
NON_TRACEABLE_PHYSICAL_GOOD
composition_method
string
Enumeration:
FLAT
FLEXIBLE_BUNDLE
FIXED_BUNDLE
COMPOSITE
is_stockable
boolean
unit_of_measurement_id
string

Mandarory for products classified as usage services

variant_attributes
Array
Object
id
string required
mandatory
boolean
values
Array of string

Required only if not all variant attribute values are required

Responses

201 Created
Body
Object
id
string

The unique indentifier of the newlly created product type

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://sandbox.crm.com/backoffice/v1/product_types HTTP/1.1 

Content-Type: application/json

{
    "name": "Decoders",
    "description": "",
    "classification": "NON_TRACEABLE_PHYSICAL_GOOD",
    "composition_method": "COMPOSITE",
    "is_stockable": true,
    "unit_of_measurement_id": "",
    "variant_attributes": [
        {
            "id": "",
            "mandatory": true,
            "values": [
                ""
            ]
        }
    ]
}
Update Product Type
PUT /product_types/{id}

Path variables

id
string GUID required

The product type identifier that will be updated

Example:
d76f36ef-824f-a57c-4642-0afb4901d5a1

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
Example:
Decoders
description
string
composition_method
string
Example:
FLAT
is_stockable
boolean
Example:
true
unit_of_measurement_id
string
variant_attributes
Array
Object
id
string GUID required
Example:
d76f36ef-824f-a57c-4642-0afb4901d5a1
mandatory
boolean
values
Array of string

Required only if not all variant attribute values will be used

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated product type

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://sandbox.crm.com/backoffice/v1/product_types/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "Decoders",
    "description": "",
    "composition_method": "FLAT",
    "is_stockable": true,
    "unit_of_measurement_id": "",
    "variant_attributes": [
        {
            "id": "",
            "mandatory": true,
            "values": [
                ""
            ]
        }
    ]
}
Delete Product Types
DELETE /product_types/{id}

Deletes a Product Type

Path variables

id
string GUID required

The product type identifier that will be deleted

Example:
d76f36ef-824f-a57c-4642-0afb4901d5a1

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/product_types/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 
List Product Types
GET /product_types/

Returns a list of product types

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for product types based on their Name or Description

classifications
array of string optional
Collection format: csv
Unique items: YES

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
Example:
Decoders
description
string
classification
string
Enumeration:
TERMED_SERVICE
EXPENSE_SERVICE
ONE_TIME_SERVICE
USAGE_SERVICE
TRACEABLE_PHYSICAL_GOOD
NON_TRACEABLE_PHYSICAL_GOOD
composition_method
string
Example:
FLEXIBLE_BUNDLE
is_stockable
boolean
Example:
true
number_of_variant_attributes
integer
Example:
3
unit_of_measurement
Object
id
string
name
string
Example:
GBytes
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/product_types/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "Decoders",
            "description": "",
            "classification": "NON_TRACEABLE_PHYSICAL_GOOD",
            "composition_method": "FLEXIBLE_BUNDLE",
            "is_stockable": true,
            "number_of_variants": 3,
            "unit_of_measurement": {
                "id": "",
                "name": "GBytes"
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Product Type
GET /product_types/{id}

Returns a single Product Type

Path variables

id
string GUID required

The product type identifier that will be retrieved

Example:
d76f36ef-824f-a57c-4642-0afb4901d5a1

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string GUID
Example:
d76f36ef-824f-a57c-4642-0afb4901d5a1
name
string
Example:
Decoders
description
string
classification
string
Example:
TRACEABE_PHYSICAL_GOOD
composition_method
string
Example:
FLAT
is_stockable
boolean
Example:
true
unit_of_measurement
Object
id
string GUID
Example:
d76f36ef-824f-a57c-4642-0afb4901d5a1
name
string
Example:
GBytes
variant_attributes
Array
Object
id
string GUID
Example:
d76f36ef-824f-a57c-4642-0afb4901d5a1
key
string
values
Array of string
Min items: 1
mandatory
boolean
label
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://sandbox.crm.com/backoffice/v1/product_types/100 HTTP/1.1 
Tier Rules
GET /tier_paths/
GET /tier_paths/{id}
POST /tier_paths
PUT /tier_paths/{id}
DELETE /tier_paths/{id}
List Tier Paths
GET /tier_paths/

Returns a list of product tier paths

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for product types based on their Name or Description

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
Example:
Decoders
description
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/tier_paths/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "3Play Services",
            "description": ""
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Tier Path
GET /tier_paths/{id}

Returns a single product tier path

Path variables

id
string required

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for product types based on their Name or Description

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
name
string
Example:
Main
description
string
product_tiers
Array
Object
product
Object
id
string
sku
string
name
string
level
integer
Example:
1
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/tier_paths/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "Main",
    "description": "",
    "product_tiers": [
        {
            "product": {
                "id": "",
                "sku": "",
                "name": ""
            },
            "level": 1
        }
    ]
}
Create Tier Path
POST /tier_paths

Creates a new tier path

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
description
string
product_tiers
Array required
Min items: 2
Object
product_id
string required

The unique identifier of a product. The product must be classified as a tiered service

level
integer required

The tier level fo the product within the path

Responses

201 Created
Body
Object
id
string

The unique identifier of the newlly created tier path

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/tier_paths HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "product_tiers": [
        {
            "product_id": "",
            "level": 1
        }
    ]
}

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Update Tier Path
PUT /tier_paths/{id}

Updates an existing tier path

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required
description
string
product_tiers
Array required
Min items: 1
Object
product_id
string required

The unique identifier of a product. The product must be classified as a tiered service

level
integer required

The tier level of the product within the path

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated tier path

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/tier_paths/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "product_tiers": [
        {
            "product_id": "",
            "level": 1
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Delete Tier Path
DELETE /tier_paths/{id}

Deletes a tier path

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/tier_paths/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Dependencies
GET /dependency_rules
GET /dependency_rules/{id}
POST /dependency_rules
PUT /dependency_rules/{id}
DELETE /dependency_rules/{id}
List Dependency Rules
GET /dependency_rules

Returns a list of all product dependency rules

Request parameters

search_value
string optional

Search by name of product or product type name

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
description
string
item_type
string
Enumeration:
PRODUCT
TYPE
item_name
string

The name of the product or the product type for which the dependency rule is set up

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/dependency_rules HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "description": "",
            "item_type": "TYPE",
            "item_name": ""
        }
    ]
}
Get Dependency Rule
GET /dependency_rules/{id}

Returns a single product dependency rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
description
string
item_type
string
Enumeration:
PRODUCT
TYPE
item_id
string

The product for which the dependency is defined. Ether a product or a product type identifier is returned

item_name
string

The name of the product or the product type according to item_type value

type
string required
Enumeration:
REQUIRES
CANNOT_COEXIST
operator
string
Enumeration:
ALL
ANY
dependencies
Array
Object
item_type
string
Enumeration:
PRODUCT
TYPE
item_id
string
item_name
string

The name of the product or the product type according to item_type value

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/dependency_rules/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "description": "",
            "item_type": "PRODUCT",
            "item_id": "",
            "item_name": "",
            "type": "REQUIRES",
            "operator": "ANY",
            "dependencies": [
                {
                    "item_type": "TYPE",
                    "item_id": "",
                    "item_name": ""
                }
            ]
        }
    ]
}
Create Dependency Rule
POST /dependency_rules

Creates a new product dependency rule

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
description
string
item_type
string required
Enumeration:
PRODUCT
TYPE
item_id
string required

The unique identifier of the product or the product type

type
string required
Enumeration:
REQUIRES
CANNOT_COEXIST
Default:
REQUIRES
operator
string required
Enumeration:
ALL
ANY
Default:
ALL
dependencies
Array required
Min items: 1
Object
item_type
string required
Enumeration:
PRODUCT
TYPE
item_id
string required

Responses

201 Created
Body
Object
id
string

The unique identifier of the product dependency rule

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/dependency_rules HTTP/1.1 

Content-Type: application/json

{
    "description": "",
    "item_type": "TYPE",
    "item_id": "",
    "type": "REQUIRES",
    "operator": "ALL",
    "dependencies": [
        {
            "item_type": "PRODUCT",
            "item_id": ""
        }
    ]
}

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": ""
}
Update Dependency Rule
PUT /dependency_rules/{id}

Updates an existing product dependency rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
description
string
item_type
string required
Enumeration:
PRODUCT
TYPE
item_id
string required
type
string required
Enumeration:
REQUIRES
CANNOT_COEXIST
operator
string required
Enumeration:
ALL
ANY
dependencies
Array required
Min items: 1
Object
item_type
string required
Enumeration:
PRODUCT
TYPE
item_id
string required

Responses

200 OK
Body
Object
id
string

The unique identifier of the product dependency rule

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/dependency_rules/{id} HTTP/1.1 

Content-Type: application/json

{
    "description": "",
    "item_type": "TYPE",
    "item_id": "",
    "type": "REQUIRES",
    "operator": "ANY",
    "dependencies": [
        {
            "item_type": "TYPE",
            "item_id": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Delete Dependency Rule
DELETE /dependency_rules/{id}

Deletes a product dependency rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/dependency_rules/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Rewards
PUT /rewards_generic_settings
GET /rewards_generic_settings
Set Reward Generic Settings
PUT /rewards_generic_settings

Update the generic reward settings for an organisation

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
resolution_settings
Object nullable

Details about resolution settings (which offers will award customers)

resolution_method
string required

Defines which reward offers will be provided

Enumeration:
ALL_MATCHED_OFFERS
BEST_OFFER_ACROSS_SCHEMES
BEST_OFFER_FROM_EACH_SCHEME
Default:
ALL_MATCHED_OFFERS
only_best_discount
boolean nullable

Defines only if the best instant discount offer will be provided. Applicable only if the resolution method = ALL_MATCHED_OFFERs

Example:
true
tier_settings
Object nullable

Details about reward tiers settings

enable_tier
boolean required

Defines whether reward tiers are supported

Example:
true
conversion_rate
integer nullable

Defines the conversion rate between real currency and value units

Default:
1000
Example:
1000
tier_evaluation
string nullable

Defines whether the period value units will be calculated based on customers sign up date or at a configurable interval (e.g. every 12 months)

Enumeration:
SIGN_UP_DATE
TIME_INTERVAL
Default:
SIGN_UP_DATE
tier_interval
integer nullable

Defines the interval based on which customer will be advanced/downgraded to a tier (Applicable only if the tier evaluation is based on time interval)

Default:
12
Example:
12
initial_month
string nullable

The first month when customers will be tiered for the first time (Applicable only if the tier evaluation is based on time interval)

Enumeration:
JANUARY
FEBRUARY
MARCH
APRIL
MAY
JUNE
JULY
AUGUST
SEPTEMBER
OCTOBER
NOVEMBER
DECEMBER
Default:
JANUARY
auto_advance
boolean required nullable

Defines whether customers can advance to the next tier as soon as the next tier’s value units are reached

Default:
false
Example:
true
tiers
Array required

Supported reward tiers

Min items: 1
Object
name
string required

The tier name

Example:
Gold
description
string nullable

The tier description

Example:
Gold Customers
color
string required

The tier color (used for marketing purposes)

Example:
#d4af37
value_units
integer required

The tier value units (inclusive)

Example:
150000
reduction_settings
Object nullable

Details about back-end reduction settings

refund_type_id
string GUID nullable

The refund financial transaction type identifier

Default:
Back End Reduction Refund
Example:
REFUND1234543212345678UJIKY76HJR
settlement_settings
Object nullable

Details about settlement settings

enable_settlement
boolean required

Defines whether reward settlement is enabled or not

Default:
false
Example:
false
settlement_evaluation
string required

Defines when settlement will take place

Enumeration:
DAILY
WEEKLY
MONTHLY
REAL_TIME
HOURLY
Default:
DAILY
day
string nullable

The day on which the settlement will be performed (applicable when evaluation is weekly)

Enumeration:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
time
string nullable

The time that settlement will be performed (applicable when evaluation is not real time)

Example:
05:00
month_day
string nullable

The month day on which the settlement will be performed (applicable when evaluation is monthly)

Enumeration:
LAST_DAY

The last day of the month

1-28

The 1-28 days of the month (30 and 31 not applicable since not all months have 30/31 days)

hours
integer nullable

The time perid in hours that the settlement will be performed (required when evaluation is hourly)

Example:
2
contact_transaction_fee
number

Define the transaction (percentage) fee that will applied on the contact for each award

Example:
49.99

Responses

200 200

Successful Request

Body
Object
id
string GUID

The organisation identifier

Example:
QWERTY1234543212345678UJIKY76HJR
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/rewards_generic_settings HTTP/1.1 

Content-Type: application/json

{
    "resolution_settings": {
        "resolution_method": "ALL_MATCHED_OFFERS",
        "only_best_discount": "true"
    },
    "tier_settings": {
        "enable_tier": "true",
        "conversion_rate": 1000,
        "tier_evaluation": "SIGN_UP_DATE",
        "auto_advance": "true",
        "tiers": [
            {
                "name": "Gold",
                "description": "Gold Customers",
                "color": "#d4af37",
                "value_units": 150000
            }
        ]
    },
    "reduction_settings": {
        "refund_type_id": "REFUND1234543212345678UJIKY76HJR"
    },
    "settlement_settings": {
        "enable_settlement": "true",
        "settlement_evaluation": "REAL_TIME"
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "QWERTY1234543212345678UJIKY76HJR"
}
Get Reward Generic Settings
GET /rewards_generic_settings

Update the generic reward settings for an organisation

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
resolution_settings
Object

Details about resolution settings (which reward offers will award customers on their purchases)

resolution_method
string

Defines which reward offers will be provided

Enumeration:
ALL_MATCHED_OFFERS
BEST_OFFER_ACROSS_SCHEMES
BEST_OFFER_FROM_EACH_SCHEME
only_best_discount
boolean

Defines only if the best instant discount offer will be provided. Applicable only if the resolution method = ALL_MATCHED_OFFERs

Example:
true
reduction_settings
Object

Details about back-end reduction settings

refund_type
Object

The refund financial transaction type that will be used for returning the reduced amount (spend) to the customers

id
string GUID

The refund financial transaction type identifier

Example:
QWERTY1234543212345678UJIKY76HMK
name
string

The refund financial transaction type name

Example:
Back End Refund
tier_settings
Object

Details about reward tiers

enable_tier
boolean

Defines whether reward tiers are supported or not

Example:
true
conversion_rate
integer

Defines the conversion rate between real currency and value units

Example:
1000
tier_evaluation
string

Defines the unit of time that tiering will be applied

Enumeration:
SIGN_UP_DATE
TIME_INTERVAL
tier_interval
integer

Defines the interval based on which customer will be advanced/downgraded to a tier

Example:
12
initial_month
string

The date when customers will be tiered for the first time

Enumeration:
JANUARY
FEBRUARY
MARCH
APRIL
MAY
JUNE
JULY
AUGUST
SEPTEMBER
OCTOBER
NOVEMBER
DECEMBER
auto_advance
boolean

Defines whether customers can advance to the next tier as soon as the next tier’s value units are reached

Example:
false
tiers
Array

Information about the reward tiers

Object
id
string GUID

The tier identifier

Example:
TIER001234543212345678UJIKY76HJR
name
string

The tier name

Example:
Gold
description
string

The tier description

Example:
Gold Customers
color
string

The tier color (used for marketing purposes)

Example:
#d4af37
value_units
integer

The tier value units (inclusive)

Example:
150000
settlement_settings
Object

Details about settlement settings

enable_settlement
boolean

Defines whether reward settlement is enabled or not

Example:
true
settlement_evaluation
string

Defines when settlement will take place

Enumeration:
REAL_TIME
DAILY
WEEKLY
MONTHLY
HOURLY
day
string

The day on which the settlement will be performed (applicable when evaluation is weekly)

Example:
MONDAY
time
string

The time that settlement will be performed (applicable when evaluation is not real time)

Example:
05:00
month_day
string

The month day on which the settlement will be performed (applicable when evaluation is monthly)

Enumeration:
LAST_DAY

The last day of the month

1-28

The 1-28 days of the month (30 and 31 not applicable since not all months have 30/31 days)

hours
integer

The time perid in hours that the settlement will be performed (required when evaluation is hourly)

Example:
2
contact_transaction_fee
number

Defiens the management (percentage) fee that will be applied on the contact for each award

Example:
49.99
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/rewards_generic_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "resolution_settings": {
        "resolution_method": "BEST_OFFER_FROM_EACH_SCHEME"
    },
    "reduction_settings": {
        "refund_type": {
            "id": "QWERTY1234543212345678UJIKY76HMK",
            "name": "Back End Refund"
        }
    },
    "tier_settings": {
        "enable_tier": "true",
        "conversion_rate": 1000,
        "tier_evaluation": "SIGN_UP_DATE",
        "auto_advance": "false",
        "tiers": [
            {
                "id": "TIER001234543212345678UJIKY76HJR",
                "name": "Gold",
                "description": "Gold Customers",
                "color": "#d4af37",
                "value_units": 150000
            }
        ]
    },
    "settlement_settings": {
        "enable_settlement": true,
        "settlement_evaluation": "REAL_TIME",
        "day": "MONDAY",
        "time": "05:00",
        "month_day": "1-28"
    }
}
Service Owner Details

Allows to provide details about the service owner branding for the entire back-office experience

PUT /service_owner
GET /service_owner
Update Service Owner Details
PUT /service_owner

Update the service owner details

Notes

Applicable to be configured only by “Service Owner” organisations and will be applied across their business network (e.g. Businesses, Subsidiaries, Merchants)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
terms_service
string nullable

The terms of service URL

Default:
https://www.crm.com/terms-and-conditions/
Example:
https://www.crm.com/terms-and-conditions/
privacy_policy
string nullable

The privacy policy URL

Default:
https://www.crm.com/privacy-policy/
Example:
https://www.crm.com/privacy-policy/

Responses

200 OK

Success

Body
Object
id
string GUID

The organisation identifier

Example:
7cc1b26a-459f-4b47-a09f-6b121ae947da
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://devapi.crm.com/backoffice/v1/service_owner HTTP/1.1 

Content-Type: application/json
authorization: 4AD9C84FA60F9FE407140E20F707726A

{
    "terms_service": "https://www.crm.com/terms-and-conditions/",
    "privacy_policy": "https://www.crm.com/privacy-policy/"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "7cc1b26a-459f-4b47-a09f-6b121ae947da"
}
Get Service Owner Details
GET /service_owner

Returns the service owner details

Notes

Service Owner Details (configured by a “Service Owner” organisation) can be retrieved from every organisation within the business network (e.g. Businesses, Subsidiaries, Merchants)

Request parameters

cloud_name
string required

The organisation (service owner) cloud name

Example:
superpos

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e
api_key
string optional

The public api key required for API calls to identify the organisation

Example:
8c54d563-b991-4b76-8a83-557c08166f95

Responses

200 200

The request has succeeded

Body
Object
public_key
string

The default (live) public key of the service owner

Example:
sdf3ref32rwerf324r134rw23rfd32r23r23r32r
organisation
Object

Details about the service owner organisation

id
string GUID

The organisation identifier

Example:
a47fb812-9d74-392c-ee52-443cc940e014
name
string

The organisation name

Example:
CRM.COM
cloud_name
string

The organisation cloud name

Example:
crmdotcom
terms_service
string

The terms of service URL

Example:
https://www.crm.com/terms-and-conditions/
privacy_policy
string

The privacy policy URL

Example:
https://www.crm.com/privacy-policy/
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
width
integer

The creative width

Example:
2159
height
integer

The creative height

Example:
3075
format
string

The creative format

Example:
jpg
url
string

The creative content URL

Example:
https://assets.crm.com/image/logo.jpg
public_id
string

The creative public identifier

Example:
crm-com/image
media
Array

Information about the creative transformations

Object
width
integer

The transformed creative width

Example:
200
height
integer

The transformed creative height

Example:
300
url
string

The transformed creative URL

Example:
https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/service_owner HTTP/1.1 

authorization: 4AD9C84FA60F9FE407140E20F707726A

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "terms_service": "https://www.crm.com/terms-and-conditions/",
    "privacy_policy": "https://www.crm.com/privacy-policy/",
    "creatives": [
        {
            "id": "CA123456789AQWSXZAQWS1236547896541",
            "type": "PROFILEIMAGE",
            "width": 2159,
            "height": 3075,
            "format": "jpg",
            "url": "https://assets.crm.com/image/logo.jpg",
            "public_id": "crm-com/image",
            "media": [
                {
                    "width": 200,
                    "height": 300,
                    "url": "https://asset.crm.com/image/offer/c_scale,w_200/logo.jpg"
                }
            ]
        }
    ]
}
Stock
POST /device_statuses
PUT /device_statuses
DELETE /device_statuses/{id}
GET /device_statuses
PUT /renting_rules
GET /renting_rules
Create Device Status
POST /device_statuses

Creates devices status, additional to the default ones: AVAILABLE, INACTIVE, SOLD, RENTED, IMPORTED

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the device status

Example:
Refurbished
description
string

A description of the device status

Example:
Devices that have been fixed and will be sold with discount
cloned_status
string

Defines ones of the default statuses, that the specific one will clone its behaviour

Enumeration:
AVAILABLE
INACTIVE
SOLD
RENTED
IMPORTED

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the device status

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/device_statuses HTTP/1.1 

Content-Type: application/json

{
    "name": "Refurbished",
    "description": "Devices that have been fixed and will be sold with discount",
    "cloned_status": "AVAILABLE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Update Device Status
PUT /device_statuses

Updates an additional device status

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the device status

Example:
Refurbished
description
string

A description of the device status

Example:
Devices that have been fixed and will be sold with discount
cloned_status
string

Defines ones of the default statuses, that the specific one will clone its behaviour

Enumeration:
AVAILABLE
INACTIVE
SOLD
RENTED
IMPORTED

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the device status

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/device_statuses HTTP/1.1 

Content-Type: application/json

{
    "name": "Refurbished",
    "description": "Devices that have been fixed and will be sold with discount",
    "cloned_status": "INACTIVE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4AD9C84FA60F9FE407140E20F707726A"
}
Delete Device Status
DELETE /device_statuses/{id}

Deletes an additionally defined device status

Path variables

id
string GUID required

The ID of the device status to be deleted

Example:
4AD9C84FA60F9FE407140E20F707726A

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/device_statuses/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 
List Device Statuses
GET /device_statuses

List all available device statuses

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
content
Array
Object
name
string

The name of the device status

Example:
Refurbished
description
string

A description of the device status

Example:
Devices that have been fixed and will be sold with discount
cloned_status
string

Defines ones of the default statuses, that the specific one will clone its behaviour.

Enumeration:
AVAILABLE
INACTIVE
SOLD
RENTED
IMPORTED
paging
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/device_statuses HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "name": "Refurbished",
            "description": "Devices that have been fixed and will be sold with discount",
            "cloned_status": "IMPORTED"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Update Renting Rules
PUT /renting_rules

Updates the business’ renting rules

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
products
Array

The products that are allowed to be rented

Object
id
string GUID

The id of the product

Example:
4AD9C84FA60F9FE407140E20F707726A
stock
integer

The stock allowed to be rented in a period of time

Example:
100
period
integer

The renting period

Example:
1
period_uot
string

The UOT of the renting period

Enumeration:
DAYS
MONTHS
YEARS
product_families
Array

The product families that allow renting their stockable/traceable products

Object
id
string GUID

The ID of the product family

Example:
4AD9C84FA60F9FE407140E20F707726A
stock
integer

The stock allowed to be rented in a period of time

Example:
100
period
integer

The renting period

Example:
1
period_uot
string

The UOT of the renting period

Enumeration:
DAYS
MONTHS
YEARS

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/renting_rules HTTP/1.1 

Content-Type: application/json

{
    "products": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "stock": 100,
            "period": 1,
            "period_uot": "YEARS"
        }
    ],
    "product_families": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "stock": 100,
            "period": 1,
            "period_uot": "MONTHS"
        }
    ]
}

HTTP/1.1 200 OK 
List Renting Rules
GET /renting_rules

Lists the business’ renting rules

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
products
Array

The products that are allowed to be rented

Object
id
string GUID

The id of the product

Example:
4AD9C84FA60F9FE407140E20F707726A
stock
integer

The stock allowed to be rented in a period of time

Example:
100
period
integer

The renting period

Example:
1
period_uot
string

The UOT of the renting period

Enumeration:
DAYS
MONTHS
YEARS
product_families
Array

The product families that allow renting their stockable/traceable products

Object
id
string GUID

The ID of the product family

Example:
4AD9C84FA60F9FE407140E20F707726A
stock
integer

The stock allowed to be rented in a period of time

Example:
100
period
integer

The renting period

Example:
1
period_uot
string

The UOT of the renting period

Enumeration:
DAYS
MONTHS
YEARS
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/renting_rules HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "products": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "stock": 100,
            "period": 1,
            "period_uot": "DAYS"
        }
    ],
    "product_families": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "stock": 100,
            "period": 1,
            "period_uot": "MONTHS"
        }
    ]
}
Subscriptions
GET /billing_settings
PUT /billing_settings
GET /subscription_settings
PUT /subscription_settings
Get Billing Settings
GET /billing_settings

Retrieve general billing settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
calendar_billing
Object required
type
string required
Enumeration:
ANNIVERSARY
PERIOD
Default:
ANNIVERSARY
billing_day
integer

Applicable and mandatory for Period calendar billing only

Example:
1
additional_non_creditable_states
Object
service_states
Array required
Min items: 1
Example:
["CANCELLED"]
string
Enumeration:
NOT_EFFECTIVE
PAUSED
CANCELLED
rating
Object
bill_in_advance
Object
period
integer required
Example:
3
uot
string required
Enumeration:
DAYS
WEEKS
MONTHS
prorate_period
Object

Applicable only for Period calendar billing

enabled
boolean required
Default:
false
threshold_day
integer

Required only if prorating is enabled

Example:
15
invoicing
Object
invoice_type_id
string
credit_not_type_id
string
invoice_issue_date
Object
period
integer required
Example:
1
uot
string required
Enumeration:
HOURS
DAYS
Default:
DAYS
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/billing_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "calendar_billing": {
        "type": "ANNIVERSARY",
        "billing_day": 1
    },
    "additional_non_creditable_states": {
        "service_states": [
            "CANCELLED"
        ]
    },
    "rating": {
        "bill_in_advance": {
            "period": 3,
            "uot": "WEEKS"
        },
        "prorate_period": {
            "enabled": true,
            "threshold_day": 15
        }
    },
    "invoicing": {
        "invoice_type_id": "",
        "credit_not_type_id": "",
        "invoice_issue_date": {
            "period": 1,
            "uot": "DAYS"
        }
    }
}
Update Billing Settings
PUT /billing_settings

Update general billing settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
calendar_billing
Object
type
string
Example:
ANNIVERSARY
billing_day
integer
Example:
1
reset_on
Array
Example:
["ON_SERVICE_ACTIVATION"]
string
Example:
ON_SERVICE_ACTIVATION
additional_billable_states
Object
service_states
Array
Example:
["NOT_EFFECTIVE"]
string
Example:
NOT_EFFECTIVE
additional_non_creditable_states
Object
service_states
Array
Example:
["NOT_EFFECTIVE"]
string
Example:
NOT_EFFECTIVE
activation_rules
Object
maximum_outstanding_amount
integer
Example:
1
maximum_deactivation_period
integer
Example:
1
deativation_rules
Object
minimum_outstanding_amount
integer
Example:
1
deactivation_method
string
Example:
BASED_ON_DAY_HOUR
failed_payment_grace_period_days
integer
Example:
1

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/billing_settings HTTP/1.1 

Content-Type: application/json

{
    "calendar_billing": {
        "type": "ANNIVERSARY",
        "billing_day": 1,
        "reset_on": [
            "ON_SERVICE_ACTIVATION"
        ]
    },
    "additional_billable_states": {
        "service_states": [
            "NOT_EFFECTIVE"
        ]
    },
    "additional_non_creditable_states": {
        "service_states": [
            "NOT_EFFECTIVE"
        ]
    },
    "activation_rules": {
        "maximum_outstanding_amount": 1,
        "maximum_deactivation_period": 1
    },
    "deativation_rules": {
        "minimum_outstanding_amount": 1,
        "deactivation_method": "BASED_ON_DAY_HOUR",
        "failed_payment_grace_period_days": 1
    },
    "cancellation_rules": {
        "canccellation_type": "SUBSCRIPTION",
        "minimum_deactivation_period": 1
    }
}

HTTP/1.1 200 OK 
Get Subscription Settings
GET /subscription_settings

Retrieve Subscription Settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
automatic_disconnections
Object
deactivation_method
string required
Enumeration:
BASED_ON_DAY
BASED_ON_DAY_AND_HOUR
Default:
BASED_ON_DAY
automatic_cancellations
Object
minimum_deactivation_period
integer required
Example:
3
period_uot
string required
Enumeration:
DAYS
MONTHS
Default:
MONTHS
out_of_service_terms_cancellation
Object
allow_cancellation
string required
Enumeration:
ON_NOTICE
IMMEDIATELY
ON_NEXT_BILLING_CYCLE
Default:
IMMEDIATELY
notice_period
Object

Applicable and required only if cancellation is allowed On notice

value
string required
uot
string required
in_service_terms_cancellation
Object
allow_cancellation
string required
Enumeration:
IMMEDIATELY
ON_SERVICE_TERMS_END_DATE
ON_NEXT_BILLING_CYCLE
Default:
IMMEDIATELY
regret
Object
allow_regret
integer required
Example:
15
period_uot
string required
Enumeration:
DAYS
WEEKS
MONTHS
Default:
DAYS
starting_from
string required
Enumeration:
SERVICE_EFFECTIVE_DATE
SERVICE_TERMS_START_DATE
paused_period
Object
days_per_year
Object nullable
allowed_days
integer required
Example:
30
year_starting_from
string required
Enumeration:
FIRST_DAY_OF_YEAR
SERVICE_EFFECTIVE_DATE
SERVICE_TERMS_START_DATE
Default:
FIRST_DAY_OF_YEAR
times_per_year
Object nullable
allowed_times
integer required
Example:
3
year_starting_from
string required
Enumeration:
FIRST_DAY_OF_YEAR
SERVICE_EFFECTIVE_DATE
SERVICE_TERMS_START_DATE
Default:
FIRST_DAY_OF_YEAR
days_per_pause
Object nullable
minimum
integer nullable
maximum
integer nullable
Example:
5
service_changes
Array
Object
change_classification
string required
Enumeration:
UPGRADE
DOWGRADE
SWITCH
allow_change
string required
Enumeration:
IMMEDIATELY
ON_NEXT_BILLING_CYCLE
SERVICE_TERMS_END_DATE
Default:
IMMEDIATELY
service_restrictions
Array
Object
maximum_number_of_services
integer
Example:
5
account_classification_id
string
life_cycle_state
string
Enumeration:
EFFECTIVE
NOT_EFFECTIVE
PAUSED
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/subscription_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "automatic_disconnections": {
        "deactivation_method": "BASED_ON_DAY"
    },
    "automatic_cancellations": {
        "minimum_deactivation_period": 3,
        "period_uot": "MONTHS"
    },
    "out_of_service_terms_cancellation": {
        "allow_cancellation": "IMMEDIATELY",
        "notice_period": {
            "value": "",
            "uot": ""
        }
    },
    "in_service_terms_cancellation": {
        "allow_cancellation": "IMMEDIATELY"
    },
    "regret": {
        "allow_regret": 15,
        "period_uot": "DAYS",
        "starting_from": "SERVICE_EFFECTIVE_DATE"
    },
    "paused_period": {
        "days_per_year": {
            "allowed_days": 30,
            "year_starting_from": "FIRST_DAY_OF_YEAR"
        },
        "times_per_year": {
            "allowed_times": 3,
            "year_starting_from": "FIRST_DAY_OF_YEAR"
        },
        "days_per_pause": {
            "minimum": 1,
            "maximum": 5
        }
    },
    "service_changes": [
        {
            "change_classification": "DOWGRADE",
            "allow_change": "IMMEDIATELY"
        }
    ],
    "service_restrictions": [
        {
            "maximum_number_of_services": 5,
            "account_classification_id": "",
            "life_cycle_state": "EFFECTIVE"
        }
    ]
}
Update Subscription Settings
PUT /subscription_settings

Updates the settings related to subscription services

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
automatic_disconnections
Object
deactivation_method
string
Example:
BASED_ON_DAY
automatic_cancellations
Object
minimum_deactivation_period
integer
Example:
3
period_uot
string
Example:
MONTHS
out_of_service_terms_cancellation
Object
allow_cancellation
string
Example:
IMMEDIATELY
notice_period
Object
value
string
uot
string
in_service_terms_cancellation
Object
allow_cancellation
string
Example:
IMMEDIATELY
regret
Object
allow_regret
integer
Example:
15
period_uot
string
Example:
DAYS
starting_from
string
Example:
SERVICE_EFFECTIVE_DATE
paused_period
Object
days_per_year
Object
allowed_days
integer
Example:
30
year_starting_from
string
Example:
FIRST_DAY_OF_YEAR
times_per_year
Object
allowed_times
integer
Example:
3
year_starting_from
string
Example:
FIRST_DAY_OF_YEAR
days_per_pause
Object
minimum
integer
Example:
1
maximum
integer
Example:
5
service_changes
Array
Object
change_classification
string
Example:
DOWGRADE
allow_change
string
Example:
IMMEDIATELY
service_restrictions
Array
Object
maximum_number_of_services
integer
Example:
5
account_classification_id
string
life_cycle_state
string
Example:
EFFECTIVE

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/subscription_settings HTTP/1.1 

Content-Type: application/json

{
    "automatic_disconnections": {
        "deactivation_method": "BASED_ON_DAY"
    },
    "automatic_cancellations": {
        "minimum_deactivation_period": 3,
        "period_uot": "MONTHS"
    },
    "out_of_service_terms_cancellation": {
        "allow_cancellation": "IMMEDIATELY",
        "notice_period": {
            "value": "",
            "uot": ""
        }
    },
    "in_service_terms_cancellation": {
        "allow_cancellation": "IMMEDIATELY"
    },
    "regret": {
        "allow_regret": 15,
        "period_uot": "DAYS",
        "starting_from": "SERVICE_EFFECTIVE_DATE"
    },
    "paused_period": {
        "days_per_year": {
            "allowed_days": 30,
            "year_starting_from": "FIRST_DAY_OF_YEAR"
        },
        "times_per_year": {
            "allowed_times": 3,
            "year_starting_from": "FIRST_DAY_OF_YEAR"
        },
        "days_per_pause": {
            "minimum": 1,
            "maximum": 5
        }
    },
    "service_changes": [
        {
            "change_classification": "DOWGRADE",
            "allow_change": "IMMEDIATELY"
        }
    ],
    "service_restrictions": [
        {
            "maximum_number_of_services": 5,
            "account_classification_id": "",
            "life_cycle_state": "EFFECTIVE"
        }
    ]
}

HTTP/1.1 200 OK 
Subscription Action Classifications
GET /action/classifications
GET /action_classifications/{id}
POST /action_classifications
PUT /action_classifications/{id}
DELETE /action_classifications/{id}
List Subscription Action Classifications
GET /action/classifications

Returns a list of subscription actions classifications

Request parameters

search_value
string optional

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
description
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/action/classifications HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "",
            "description": ""
        }
    ]
}
Get Subscription Action Classifications
GET /action_classifications/{id}

Returns a single subscription actions classification

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
name
string
description
string
actions
Array
Object
behaviour_code
string
business_classification_code
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/action_classifications/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "name": "",
            "description": "",
            "actions": [
                {
                    "behaviour_code": "",
                    "business_classification_code": ""
                }
            ]
        }
    ]
}
Create Subscription Action Classification
POST /action_classifications

Creates a new subscription action classification

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string
actions
Array
Object
behaviour_code
string
business_classification_code
string

Responses

200 OK
Body
Object
id
string

The unique identifier of the subscription action classification

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/action_classifications HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "actions": [
        {
            "behaviour_code": "",
            "business_classification_code": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Update Subscription Action Classification
PUT /action_classifications/{id}

Updates an existing subscription action classification

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string
description
string
actions
Array
Object
behaviour_code
string
business_classification_code
string

Responses

200 OK
Body
Object
id
string

The unique identifier of the subscription action classification

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/action_classifications/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "actions": [
        {
            "behaviour_code": "",
            "business_classification_code": ""
        }
    ]
}
Delete Subscription Action Classification
DELETE /action_classifications/{id}

Deletes a subscrpion action classification

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

The request has succeeded

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/action_classifications/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Event-based Charges

List of Web aPIs for creating and managing Event-based Charges

GET /event_based_charges
GET /event_based_charges/{id}
POST /event_based_charges
PUT /event_based_charges/{id}
DELETE /event_based_charges/{id}
List Event-based Charges
GET /event_based_charges

Returns a list of event-based, charge rules

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
apply_on
string
Enumeration:
EVENT
NEXT_BILLING
expense
Object
id
string
sku
string
name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/event_based_charges HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "apply_on": "NEXT_BILLING",
            "expense": {
                "id": "",
                "sku": "",
                "name": ""
            }
        }
    ]
}
Get Event-based Charge
GET /event_based_charges/{id}

Returns a single event-based, conditional expense rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
apply_on
string
Enumeration:
EVENT
NEXT_BILLING
event
string
Enumeration:
INITIATION
ACTIVATION
DEACTIVATION
DOWNGRADE
SWITCH
CANCELLATION
charge_type
string
Enumeration:
FIXED
PERCENTAGE
Default:
FIXED
charge_percentage
number

Aplicable and required only if the applied charge will be a percentage of the service’s amount pending to be billed

expense
Object
id
string
sku
string
name
string
conditions
Array
Object
in_service_terms
boolean
Example:
true
service_terms
Object
duration
integer
Example:
12
uot
string
Example:
MONTHS
existing_service
Object
item_type
string
Enumeration:
PRODUCT
TYPE
FAMILY
item_id
string
item_name
string
change_to_service
Object
item_type
string
Enumeration:
PRODUCT
TYPE
FAMILY
item_id
string
item_name
string
period_before_service_terms_end
Object
period
string
uot
string
Enumeration:
DAYS
MONTHS
Default:
MONTHS
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/event_based_charges/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "",
    "apply_on": "EVENT",
    "event": "DEACTIVATION",
    "charge_type": "FIXED",
    "charge_percentage": 1,
    "expense": {
        "id": "",
        "sku": "",
        "name": ""
    },
    "conditions": [
        {
            "in_service_terms": true,
            "service_terms": {
                "duration": 12,
                "uot": "MONTHS"
            },
            "existing_service": {
                "item_type": "PRODUCT",
                "item_id": "",
                "item_name": ""
            },
            "change_to_service": {
                "item_type": "TYPE",
                "item_id": "",
                "item_name": ""
            },
            "period_before_service_terms_end": {
                "period": "",
                "uot": "MONTHS"
            }
        }
    ]
}
Create Event-based Charges
POST /event_based_charges

Creates a new event-based, conditional expense rule

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
apply_on
string required
Enumeration:
EVENT
NEXT_BILLING
Default:
NEXT_BILLING
event
string required
Enumeration:
INITIATION
ACTIVATION
DEACTIVATION
DOWNGRADE
SWITCH
CANCELLATION
charge_type
string required
Enumeration:
FIXED
PERCENTAGE
Default:
FIXED
charge_percentage
number nullable

Applicable and required onlt if charge type is a Percentage

Example:
2.5
expense_product_id
string nullable

Applicable and mandatory only in Fixed charges. Only expense services are accepted

conditions
Array
Object
in_service_terms
boolean nullable
Example:
true
service_terms
Object nullable
duration
integer required
Example:
12
uot
string required
Enumeration:
DAYS
MONTHS
WEEKS
YEARS
existing_service
Object nullable
item_type
string required
Enumeration:
PRODUCT
TYPE
FAMILY
item_id
string required
change_to_service
Object nullable
item_type
string required
Enumeration:
PRODUCT
TYPE
FAMILY
item_id
string required
period_before_service_terms_end
Object nullable
period
integer required
Example:
1
uot
string required
Enumeration:
DAYS
MONTHS

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/event_based_charges HTTP/1.1 

Content-Type: application/json

{
    "apply_on": "NEXT_BILLING",
    "event": "SWITCH",
    "charge_type": "FIXED",
    "charge_percentage": 2.5,
    "expense_product_id": "",
    "conditions": [
        {
            "in_service_terms": true,
            "service_terms": {
                "duration": 12,
                "uot": "YEARS"
            },
            "existing_service": {
                "item_type": "TYPE",
                "item_id": ""
            },
            "change_to_service": {
                "item_type": "TYPE",
                "item_id": ""
            },
            "period_before_service_terms_end": {
                "period": 1,
                "uot": "MONTHS"
            }
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Update Event-based Charges
PUT /event_based_charges/{id}

Updates a single event-based, conditional expense rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
apply_on
string
Example:
NEXT_BILLING
event
string
Example:
SWITCH
charge_type
string
Example:
FIXED
charge_percentage
number
Example:
2.5
expense_product_id
string
conditions
Array
Object
in_service_terms
boolean nullable
Example:
true
service_terms
Object nullable
duration
integer required
Example:
12
uot
string required
Example:
YEARS
existing_service
Object nullable
item_type
string required
Example:
TYPE
item_id
string required
change_to_service
Object nullable
item_type
string required
Example:
TYPE
item_id
string required
period_before_service_terms_end
Object nullable
period
integer required
Example:
1
uot
string required
Example:
MONTHS

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/event_based_charges/{id} HTTP/1.1 

Content-Type: application/json

{
    "apply_on": "NEXT_BILLING",
    "event": "SWITCH",
    "charge_type": "FIXED",
    "charge_percentage": 2.5,
    "expense_product_id": "",
    "conditions": [
        {
            "in_service_terms": true,
            "service_terms": {
                "duration": 12,
                "uot": "YEARS"
            },
            "existing_service": {
                "item_type": "TYPE",
                "item_id": ""
            },
            "change_to_service": {
                "item_type": "TYPE",
                "item_id": ""
            },
            "period_before_service_terms_end": {
                "period": 1,
                "uot": "MONTHS"
            }
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Delete Event-based Charges
DELETE /event_based_charges/{id}

Deletes an existing event-based, conditional expense rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

204 No Content
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/event_based_charges/{id} HTTP/1.1 

HTTP/1.1 200 OK 
Event-based Recurring Charges
GET /event_based_recurring_charges
GET /event_based_recurring_charges/{id}
POST /event_based_recurring_charges
PUT /event_based_recurring_charges/{id}
DELETE /event_based_recurring_charges/{id}
List Events-based Recurring Charges
GET /event_based_recurring_charges

Returns a list of event-based, recurring expense rules

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
event_to_apply
string
Enumeration:
INITIATION
ENABLE_ON_DEVICE
event_to_terminate
string
Enumeration:
TERMINATION
DISABLE_FROM_DEVICE
expense
Object
id
string
sku
string
name
string
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/event_based_recurring_charges HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "event_to_apply": "ENABLE_ON_DEVICE",
            "event_to_terminate": "TERMINATION",
            "expense": {
                "id": "",
                "sku": "",
                "name": ""
            }
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Event-based Recurring Charge
GET /event_based_recurring_charges/{id}

Returns a single event-based, recurring expense rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
event_to_apply
string
Enumeration:
INITIATION
ENABLE_ON_DEVICE
event_to_terminate
string
Enumeration:
TERMINATION
DISABLE_FROM_DEVICE
expense
Object
id
string
sku
string
name
string
conditions
Array
Object
in_service_terms
boolean
Example:
true
service_terms
Object
duration
integer
Example:
12
uot
string
Enumeration:
DAYS
WEEKS
MONTHS
YEARS
service
Object
item_type
string
Enumeration:
PRODUCT
TYPE
FAMILY
item_id
string
item_name
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/event_based_recurring_charges/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "",
    "event_to_apply": "ENABLE_ON_DEVICE",
    "event_to_terminate": "DISABLE_FROM_DEVICE",
    "expense": {
        "id": "",
        "sku": "",
        "name": ""
    },
    "conditions": [
        {
            "in_service_terms": true,
            "service_terms": {
                "duration": 12,
                "uot": "WEEKS"
            },
            "service": {
                "item_type": "PRODUCT",
                "item_id": "",
                "item_name": ""
            }
        }
    ]
}
Create Event-based Recurring Charge
POST /event_based_recurring_charges

Creates a new event-based, recurring expense rule

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
event_to_apply
string required
Example:
ENABLE_ON_DEVICE
event_to_terminate
string required
Example:
DISABLE_FROM_DEVICE
expense_product_id
string required
conditions
Array
Object
in_service_terms
boolean nullable
Example:
true
service_terms
Object nullable
duration
integer required
Example:
12
uot
string required
Example:
WEEKS
service
Object nullable
item_type
string required
Example:
PRODUCT
item_id
string required

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://stagingapi.crm.com/backoffice/v1/event_based_recurring_charges HTTP/1.1 

Content-Type: application/json

{
    "event_to_apply": "ENABLE_ON_DEVICE",
    "event_to_terminate": "DISABLE_FROM_DEVICE",
    "expense_product_id": "",
    "conditions": [
        {
            "in_service_terms": true,
            "service_terms": {
                "duration": 12,
                "uot": "WEEKS"
            },
            "service": {
                "item_type": "PRODUCT",
                "item_id": ""
            }
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Update Event-based Recurring Charge
PUT /event_based_recurring_charges/{id}

Updates an existing event-based, recurring expense rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
event_to_apply
string
Example:
ENABLE_ON_DEVICE
event_to_terminate
string
Example:
DISABLE_FROM_DEVICE
expense_product_id
string
conditions
Array
Object
in_service_terms
boolean nullable
Example:
true
service_terms
Object nullable
duration
integer required
Example:
12
uot
string required
Example:
WEEKS
service
Object nullable
item_type
string required
Example:
PRODUCT
item_id
string required

Responses

200 OK
Body
Object
id
string
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/event_based_recurring_charges/{id} HTTP/1.1 

Content-Type: application/json

{
    "event_to_apply": "ENABLE_ON_DEVICE",
    "event_to_terminate": "DISABLE_FROM_DEVICE",
    "expense_product_id": "",
    "conditions": [
        {
            "in_service_terms": true,
            "service_terms": {
                "duration": 12,
                "uot": "WEEKS"
            },
            "service": {
                "item_type": "PRODUCT",
                "item_id": ""
            }
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Delete Event-based Recurring Charge
DELETE /event_based_recurring_charges/{id}

Deletes an existing event-based, recurring expense rule

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

204 No Content
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://stagingapi.crm.com/backoffice/v1/event_based_recurring_charges/{id} HTTP/1.1 

HTTP/1.1 204 No Content 
Taxes
POST /tax_rates/
PUT /tax_rates/{id}
DELETE /tax_rates/{id}
GET /tax_rates/
GET /tax_rates/{id}
Create Tax Rate
POST /tax_rates/

Creates a new Tax Rate. A single Tax Rate can be created per Web API call.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string required

The name of the tax rate

description
string

The description of the tax rate

rate_percentage
number required

Tax rate percentage

country_code
string required

The country at which the tax rate is applied

Example:
GR
tax_code
string required

The tax rate’s reated tax code

Enumeration:
VAT
SALES_TAX
TAX_EXEMPT
OTHER
as_of_date
integer epoch

The date from which the tax rate is applied. If not specified, it defautls to the date on which the rate % is set.

Example:
23123123232
supply_method
string
Enumeration:
ON_SITE
DELIVERY
PICK_UP

Responses

200 OK
Body
Object
id
string

The unique identifier of the new Tax Rate

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
POST https://devapi.crm.com/backoffice/v1/tax_rates/ HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "rate_percentage": 1,
    "country_code": "GR",
    "tax_code": "SALES_TAX",
    "as_of_date": 23123123232,
    "supply_method": "DELIVERY"
}
Update Tax Rate
PUT /tax_rates/{id}

Updates an existing Tax Rate. A single Tax Rate can be updated per Web API call.

Path variables

id
string required

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
name
string

The name of the tax rate

description
string

The description of the tax rate

rate_percentage
number

Tax rate percentage

as_of_date
integer epoch

The date from which the tax rate is applied. If not specified, it defautls to the date on which the rate % is set.

Example:
4234234234
country_code
string

The country at which the tax rate is applied

Example:
GR
tax_code
string

The tax rate’s related tax code

Enumeration:
VAT
SALES_TAX
TAX_EXEMPT
OTHER
product_conditions
Array
Object
id
string required

The product’s unique identifier

id_type
string required

The product family’s unique identifier

Enumeration:
PRODUCT
FAMILY
location_conditions
Array
Object
town_city
string
state_province_county
string
supply_method
string
Enumeration:
ON_SITE
DELIVERY
PICK_UP

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated Tax Rate

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/tax_rates/{id} HTTP/1.1 

Content-Type: application/json

{
    "name": "",
    "description": "",
    "rate_percentage": 1,
    "as_of_date": 4234234234,
    "country_code": "GR",
    "tax_code": "SALES_TAX",
    "product_conditions": [
        {
            "id": "",
            "id_type": "PRODUCT"
        }
    ],
    "location_conditions": [
        {
            "town_city": "",
            "state_province_county": ""
        }
    ],
    "supply_method": "ON_SITE"
}
Delete Tax Rate
DELETE /tax_rates/{id}

Deletes an existing Tax Rate. A single Tax Rate can be deleted per Web API call.

Path variables

id
string required

The Tax rate identifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
DELETE https://devapi.crm.com/backoffice/v1/tax_rates/4AD9C84FA60F9FE407140E20F707726A HTTP/1.1 

HTTP/1.1 200 OK 
List Tax Rates
GET /tax_rates/

Returns a list of all configured Tax Rates

Request parameters

coutry_code
string optional

Filters Tax Rates per country

Example:
GRE
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAME
order
string optional

Defines how the results will be ordered

Default:
DESC
page
integer optional

The page number that should be retrieved

Default:
1
size
integer optional

The size (total records) of each page

Default:
10
search_value
string optional

Search for Tax rates based on their Name or Description

product_id
string optional
product_family_id
string optional

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
3FD9C84FA60F9FE407140E20F707726A
name
string
Example:
Standard VAT
description
string
rate_percentage
integer
Example:
1
country_code
string
Example:
GRE
tax_code
string
Enumeration:
VAT
TAX_EXEMPT
SALES_TAX
OTHER
pages
Object
page
integer

The page number

Example:
2
size
integer

The number of records per page

Example:
20
total
integer

The overal number of records

Example:
5124
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://devapi.crm.com/backoffice/v1/tax_rates/ HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "3FD9C84FA60F9FE407140E20F707726A",
            "name": "Standard VAT",
            "description": "",
            "rate_percentage": 1,
            "country_code": "GR",
            "tax_code": "OTHER",
            "is_default": "true"
        }
    ],
    "pages": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Tax Rate
GET /tax_rates/{id}

Returns detailed information of a Tax Rate. A single Tax Rate is returned in each Web API call.

Path variables

id
string required

The Tax rate’s identifier

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 OK
Body
Object
id
string
Example:
3FD9C84FA60F9FE407140E20F707726A
name
string
Example:
Standard VAT
description
string
rate_percentage
number
as_of_date
integer epoch

The date from which the tax rate is applied.

Example:
3234234234
country_code
string
Example:
GR
tax_code
string
Enumeration:
VAT
SALES_TAX
TAX_EXEMPT
OTHER
product_conditions
Array
Object
id
string required

The identfier of the product or the product family

id_type
string required
Enumeration:
PRODUCT
FAMILY
location_conditions
Array
Object
town_city
string
state_province_county
string
supply_method
string
Enumeration:
ON_SITE
DELIVERY
PICK_UP
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/tax_rates/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "3FD9C84FA60F9FE407140E20F707726A",
    "name": "Standard VAT",
    "description": "",
    "rate_percentage": 1,
    "as_of_date": 3234234234,
    "country_code": "GR",
    "tax_code": "OTHER",
    "product_conditions": [
        {
            "id": "",
            "id_type": "PRODUCT"
        }
    ],
    "location_conditions": [
        {
            "town_city": "",
            "state_province_county": ""
        }
    ],
    "supply_method": "PICK_UP"
}
Units of Measurement
POST /units_of_measurement
GET /units_of_measurement/
PUT /units_of_measurement/{id}
PUT /units_of_measurement/{id}
Create Unit of Measurement
POST /units_of_measurement
Get Units of Measurement
GET /units_of_measurement/
Update Unit of Measurement
PUT /units_of_measurement/{id}

Path variables

id
string required
Delete Units of Measurement
PUT /units_of_measurement/{id}

Path variables

id
string required
Wallets
PUT /wallet_settings
GET /wallet_settings
Update Wallet Settings
PUT /wallet_settings

Update the wallet settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Request body

Object
minimum_balance
number

The minimum wallet balance threshold applied on all wallets unless overriden

Example:
10
limit_rules
Array

Defines the limit rules applied on specific wallet. Applied on all wallets unless overriden

Object
name
string

The name of the rule

Example:
VIP
minimum_amount
number

The minimum amount allowed

Example:
100
maximum_amount
number

The maximum amount allowed

Example:
200
period
string

The period for which the limit is applied

Enumeration:
DAILY
MONTHLY
ANNUAL
transaction_type
Array

The wallet transaction type for which the limit is applied

string
Enumeration:
CREDIT
DEBIT
TOPUP
TRANSFER
conditions
Array

The conditions for which the limit is applied

Object
name
string

The entity for which the condition applies

Enumeration:
ACCOUNT_CLASSIFICATION
KYC_PROFILE
CONTACT_CATEGORY
value
string

The entity’s ID or Name

Example:
4AD9C84FA60F9FE407140E20F707726A
fees_rules
Array

Defines the global fees to be applied over a period or on transactions executed against wallets

Object
name
string

The name of the rule

Example:
VIP
value
number

The value of the fee

Example:
0.1
value_type
string

The value type of the fee

Enumeration:
AMOUNT
PERCENTAGE
applied_on
string

The event to apply the fee

Enumeration:
TRANSACTION
PERIOD
applied_transaction
Array

The transactions that the fee will be applied on

string
Enumeration:
CREDIT
DEBIT
TOPUP
TRANSFER
period
integer

The period when the fees will be applied

Example:
1
period_uot
string

The UOT of the period

Enumeration:
DAY
MONTH
YEAR
conditions
Array

The conditions for which the fee is applied

Object
name
string

The entity for which the condition applies

Enumeration:
ACCOUNT_CLASSIFICATION
KYC_PROFILE
CONTACT_CATEGORY
value
string

The entity’s ID or Name

Example:
4AD9C84FA60F9FE407140E20F707726A

Responses

200 200

Successful Request

400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
PUT https://stagingapi.crm.com/backoffice/v1/wallet_settings HTTP/1.1 

Content-Type: application/json

{
    "minimum_balance": 10,
    "limit_rules": [
        {
            "name": "VIP",
            "minimum_amount": 100,
            "maximum_amount": 200,
            "period": "MONTHLY",
            "transaction_type": [
                "DEBIT"
            ],
            "conditions": [
                {
                    "name": "ACCOUNT_CLASSIFICATION",
                    "value": "4AD9C84FA60F9FE407140E20F707726A"
                }
            ]
        }
    ],
    "fees_rules": [
        {
            "name": "VIP",
            "value": 0.1,
            "value_type": "PERCENTAGE",
            "applied_on": "TRANSACTION",
            "applied_transaction": [
                "CREDIT"
            ],
            "period": 1,
            "period_uot": "DAY",
            "conditions": [
                {
                    "name": "ACCOUNT_CLASSIFICATION",
                    "value": "4AD9C84FA60F9FE407140E20F707726A"
                }
            ]
        }
    ]
}

HTTP/1.1 200 OK 
Get Wallet Settings
GET /wallet_settings

Get the wallet settings

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_key
string optional

The secret api key required for API calls to ensure that the client is trusted

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e

Responses

200 200

Successful Request

Body
Object
minimum_balance
number

The minimum wallet balance threshold applied on all wallets unless overriden

Example:
10
limit_rules
Array

Defines the limit rules applied on specific wallet. Applied on all wallets unless overriden

Object
name
string

The name of the rule

Example:
VIP
minimum_amount
number

The minimum amount allowed

Example:
100
maximum_amount
number

The maximum amount allowed

Example:
200
period
string

The period for which the limit is applied

Enumeration:
DAILY
MONTHLY
ANNUAL
transaction_type
Array

The wallet transaction type for which the limit is applied

string
Enumeration:
CREDIT
DEBIT
TOPUP
TRANSFER
conditions
Array

The conditions for which the limit is applied

Object
name
string

The entity for which the condition applies

Enumeration:
ACCOUNT_CLASSIFICATION
KYC_PROFILE
CONTACT_CATEGORY
value
string

The entity’s ID or Name

Example:
4AD9C84FA60F9FE407140E20F707726A
fees_rules
Array

Defines the global fees to be applied over a period or on transactions executed against wallets

Object
name
string

The name of the rule

Example:
VIP
value
number

The value of the fee

Example:
0.1
value_type
string

The value type of the fee

Enumeration:
AMOUNT
PERCENTAGE
applied_on
string

The event to apply the fee

Enumeration:
TRANSACTION
PERIOD
applied_transaction
Array

The transactions that the fee will be applied on

string
Enumeration:
CREDIT
DEBIT
TOPUP
TRANSFER
period
integer

The period when the fees will be applied

Example:
1
period_uot
string

The UOT of the period

Enumeration:
DAY
MONTH
YEAR
conditions
Array

The conditions for which the fee is applied

Object
name
string

The entity for which the condition applies

Enumeration:
ACCOUNT_CLASSIFICATION
KYC_PROFILE
CONTACT_CATEGORY
value
string

The entity’s ID or Name

Example:
4AD9C84FA60F9FE407140E20F707726A
400 400

The input request was invalid or incorrect, often due to missing a required parameter

401 401

The provided API Key or Token is invalid

403 403

The API key or Token does not have permissions to perform the request

404 404

The requested resource does not exist

500 500

The server encountered an unexpected condition which prevented it from fulfilling the request

502 502

The server received an invalid response from the upstream server it accessed in attempting to fulfill the request

503 503

The server is currently unable to handle the request due to a temporary overloading or maintenance

504 504

The server did not receive a timely response from the upstream server

Example 1
GET https://stagingapi.crm.com/backoffice/v1/wallet_settings HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "minimum_balance": 10,
    "limit_rules": [
        {
            "name": "VIP",
            "minimum_amount": 100,
            "maximum_amount": 200,
            "period": "MONTHLY",
            "transaction_type": [
                "CREDIT"
            ],
            "conditions": [
                {
                    "name": "KYC_PROFILE",
                    "value": "4AD9C84FA60F9FE407140E20F707726A"
                }
            ],
            "fees_rules": [
                {
                    "name": "VIP",
                    "value": 0.1,
                    "value_type": "PERCENTAGE",
                    "applied_on": "TRANSACTION",
                    "applied_transaction": [
                        "DEBIT"
                    ],
                    "period": 1,
                    "period_uot": "DAY",
                    "conditions": [
                        {
                            "name": "CONTACT_CATEGORY",
                            "value": "4AD9C84FA60F9FE407140E20F707726A"
                        }
                    ]
                }
            ]
        }
    ]
}