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.

API Documentation
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.

API Reference

CRM.COM API is organized around REST. Our API has specific resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses and uses standard HTTP response codes, authentication & verbs.

You can use the entire API in test mode, which does not affect your live data. The API Key used to authenticate any of your requests will determine whether the request is on live mode or test mode.

The API may differ based on each CRM.COM release. For every new release with noticable changes that might alter backwards compatibility, a new version will be created.

Authentication

CRM.COM Back-Office API uses either API Keys to authenticate requests or an authentication JWT token obtained from a user successful logging in.

SECURITY NOTICE

All API requests must be made over HTTPS. Any request made over plain HTTP or without authentication will fail. In addition, 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 or client-side code.

API KEY AUTHORIZATION HEADER EXAMPLE

curl -X $HTTP_METHOD -H "api_key: 2189341e-981e-9ad5-9912-11101670314a" 

AUTH TOKEN AUTHORIZATION HEADER EXAMPLE

curl -X $HTTP_METHOD -H "authorization: Bearer JWT_TOKEN" 
Requests

API requests should be made using the HTTPS protocol so that traffic is encrypted. The interface responds to different methods depending on the action required.

Method Usage
POST To create a new object, your request should specify the POST method. The POST request includes all of the attributes necessary to create a new object to the targeted endpoint.
PUT To update the information on an existing object, the PUT method should be used. This will update the specified object if it is found using the provided values, regardless of their current values. If it is not found, the operation will return a response indicating that the object was not found. This idempotency means that you do not have to check for a resource’s availability prior to issuing an update command, the final state will be the same regardless of its existence. Requests using the PUT method do not need to check the current attributes of the object.
DELETE To remove an existing object from your environment, the DELETE method should be used. Similar to PUT method, the DELETE method is idempotent.
GET For retrieving information about contacts, purchases or orders, the GET method should be used. Any requested information will be returned as a JSON object. The attributes defined by the JSON object can be used to form additional requests. Any request using the GET method is read-only and will not affect any of the retrieved objects.
Responses

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

In the event of a problem, the status will contain the error code, while the body of the response will usually contain additional information about the problem that was encountered.

HTTP Status Description
2XX Return codes in the 200 range indicate that the request was fulfilled successfully and that no error was encountered.
4XX Return codes in the 400 range, typically, indicate that there was an issue with the request that was sent. Most common reasons could be an invalid authentication method, unauthorised requests or the object that you are requesting does not exist.
5XX Return codes in the 500 range indicate that there is a server-side problem and CRM.COM cannot fulfill your request at the moment.

Most of our 4XX range errors that could be handled programmatically contain all the necessary details for a better integration handling. Such details are

  • HTTP Status Code & Error are used for programmatic consumption
  • Message is human-readable and can be used as a default error message
  • Parameters are used for programmatic consumption and can be used for enhancing the interface error message with additional information

4XX ERROR RESPONSE EXAMPLE

An example of a customer not found error is as follows

HTTP/1.1 404 Not Found
    {
        "status": 404,
        "message": "Record not found.",
        "error": "CRM.EXCEPTIONS.NOTFOUNDEXCEPTION",
        "parameters": [
            "contact",
            "789dacae-cf71-414f-9483-ca88acaa46432"
        ]
    }
Response Codes

Below is a list of our common HTTP response codes that can be returned.

200 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Operations
Accounts

What is an account

POST /contacts/{id}/accounts
PUT /accounts/{id}
GET /contacts/{id}/accounts
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:
EUR
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 it exists) will be provided

Example:
E407140E20F707726A4AD9C84FA60F9F

Responses

201 201

OK

Body
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Content-Type: application/json

{
    "classification_id": "4AD9C84FA60F9FE407140E20F707726A",
    "currency_code": "EUR",
    "is_primary": true,
    "billing_address_id": "E407140E20F707726A4AD9C84FA60F9F"
}
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

Example:
200
payment_terms_id
string

Sets the Account’s Payment Terms.

Example:
4AD9C84FA60F9FE407140E20F707726A

Responses

200 200

OK

Body
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
PUT https://sandbox.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,
    "payment_terms_id": "4AD9C84FA60F9FE407140E20F707726A"
}
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

Example:
true
life_cycle_state
string optional

Retrieve accounts with a specific life cycle state

Pattern: csv
Example:
ACTIVE
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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 if this is 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
Example:
ACTIVE
currency_code
string

The account’s currency

Example:
EUR
classification
Object

Details about the event classification

id
string GUID

The classification identifier

Example:
c8d83493-3f50-40df-adb0-762ec5f41863
name
string

The classification name

Example:
Delivery Purchase
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
payment_terms
Object

The account’s Payment Terms

id
string
Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string
Example:
Net 7
wallet
Object

Wallet related to the Account

id
string

Wallet identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

Wallet code

Example:
9005455565111112
balance
number

Wallet total balance

Example:
9.99
currency_code
string

Currency code

Example:
EUR
life_cycle_state
string

Wallet’s state

Enumeration:
EFFECTIVE
TERMINATED
Example:
EFFECTIVE
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "is_primary": true,
            "name": "Default",
            "number": "AC123456",
            "life_cycle _state": "ACTIVE",
            "currency_code": "EUR",
            "classification": {
                "id": "c8d83493-3f50-40df-adb0-762ec5f41863",
                "name": "Delivery Purchase"
            },
            "balance": 200,
            "credit_limit": 100,
            "overdue_amount": 50,
            "payment_terms": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Net 7"
            },
            "wallet": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "code": "9005455565111112",
                "balance": 9.99,
                "currency_code": "EUR",
                "life_cycle_state": "EFFECTIVE"
            }
        }
    ]
}
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:
SUSPENDED
ACTIVE
TERMINATED
Example:
SUSPENDED
transfer_to_account_id
string GUID nullable

The account to which any account balance will get transfered, in case of Termination. Required when terminating the account

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Responses

200 200

Successful Request

Body
Object
id
string GUID

The unique identifier of the account

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/accounts/CAD1E31269B76D7A65ACCE45B2E68DFD/life_cycle_state HTTP/1.1 

Content-Type: application/json

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

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Account Financials
GET /accounts/{id}/financials
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
opening_balance
number

The opening balance brought forwards after the latest closed accounting period

Example:
100.5
classification
Object

Details about the event classification

id
string GUID

The classification identifier

Example:
c8d83493-3f50-40df-adb0-762ec5f41863
name
string

The classification name

Example:
Delivery Purchase
accounting_period
Object

The latest accounting period for which the account’s opening balance was calculated

id
string

The ID of the latest closed accounting period

name
string

The name of the account’s latest accounting period

Example:
OCTOBER2018
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
payment_terms
Object

The account’s payment terms

id
string

Payment terms identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

Payment terms name

Example:
Net 7
wallet
Object

The account’s related Wallet

id
string

Wallet identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
code
string

Wallet code

Example:
9000004434321111
life_cycle_state
string

The wallet life cycle state

Enumeration:
EFFECTIVE
TERMINATED
balance
number

Total balance

Example:
9.99
open_balance
number

Open balance

Example:
5.45
commerce_balance
number

Commerce balance

Example:
4.54
currency_code
string
Example:
EUR
minimum_balance
number

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

Example:
5.99
limits
Array
Object
minimum_amount
number

The minimum amount allowed

Example:
5.99
maximum_amount
number

The maximum amount allowed

Example:
99.99
period
string

The period for which the limit is applied

Enumeration:
DAILY
MONTHLY
ANNUAL
Example:
MONTHLY
transaction_type
string

The wallet transaction type for which the limit is applied

Enumeration:
DEBIT
CREDIT
TOPUP
TRANSFER
Example:
CREDIT
auto_topup
Object
threshold
number

Sets the threshold for the auto topup to be performed

Example:
99.99
amount
string

The amount to get topped up

Example:
9.99
payment_method
string

Indicates the method of collecting money

Enumeration:
CARD
WALLET
ACCOUNT_DEBIT
Example:
CARD
payment_method_id
string

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

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.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": "TERMINATED",
    "currency_code": "EUR",
    "balance": 200,
    "overdue_amount": 100.5,
    "credit_limit": 98,
    "opening_balance": 100.5,
    "classification": {
        "id": "c8d83493-3f50-40df-adb0-762ec5f41863",
        "name": "Delivery Purchase"
    },
    "accounting_period": {
        "id": "",
        "name": "OCTOBER2018"
    },
    "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"
    },
    "payment_terms": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Net 7"
    },
    "wallet": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "code": "9000004434321111",
        "life_cycle_state": "TERMINATED",
        "balance": 9.99,
        "open_balance": 5.45,
        "commerce_balance": 4.54,
        "currency_code": "EUR",
        "minimum_balance": 5.99,
        "limits": [
            {
                "minimum_amount": 5.99,
                "maximum_amount": 99.99,
                "period": "MONTHLY",
                "transaction_type": "CREDIT"
            }
        ],
        "auto_topup": {
            "threshold": 99.99,
            "amount": "9.99",
            "payment_method": "CARD",
            "payment_method_id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
        }
    }
}
Account Rewards
PUT /accounts/{id}/rewards
GET /accounts/{id}/rewards
POST /accounts/{id}/reward_schemes
DELETE /accounts/{id}/reward_schemes/{reward_scheme_id}
POST /accounts/{id}/merchants
DELETE /accounts/{id}/merchants/{merchant_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

Responses

200 200

OK

Body
Object
id
string GUID

The account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Get a single account, along with its reward details

Path variables

id
string GUID required

The account (identifier) which reward details will 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
sign_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 (Deprecated, replaced by Organisations)

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
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
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/accounts/41dc3d8a-5ab2-3dc8-83d5-33501eb1949f/rewards HTTP/1.1 

api_key: adea79a6-fe7f-2e92-56c7-9a0685ffa290

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "name": "John Smith AC00123456",
    "number": "AC00123456",
    "currency_code": "EUR",
    "reward_tier": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "Gold",
        "color": "#d4af37",
        "period_value_units": 222,
        "lifetime_value_units": 333,
        "next_tier_progression": 45.98
    }
}
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 (identifier) 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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 (identifier) 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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 
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 merchant preferencees 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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 
Account Wallets
POST /accounts/{id}/wallets
Add Wallet for Account
POST /accounts/{id}/wallets

Adds a new Wallet to an Account. This is allowed only if the account is not related to any wallet or if the account’s related wallet was previously Terminated. So an Account can only be related to a single Effective Wallet at a time.

Path variables

id
string required

Account identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Request body

Object
minimum_balance
integer

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

Example:
10.99
limit_rules
Array

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

Object
limit_amount
integer

The maximum amount allowed

Example:
100.99
transaction_type
string

The wallet transaction type for which the limit is applied

Enumeration:
DEBIT
CREDIT
Example:
DEBIT
period
string

The period for which the limit is applied

Enumeration:
DAILY
MONTHLY
ANNUAL
Example:
MONTHLY

Responses

201 Created
Body
Object
id
string

The Wallet identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Content-Type: application/json

{
    "minimum_balance": 10.99,
    "limit_rules": [
        {
            "limit_amount": 100.99,
            "transaction_type": "DEBIT",
            "period": "MONTHLY"
        }
    ]
}

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Wallets
PUT /wallets/{id}
POST /wallets/{id}/actions
GET /wallets/{id}/commerce_balances
POST /journals
Update Wallet
PUT /wallets/{id}

Updates a single Wallet.

Path variables

id
string required

The unique identifier of the Wallet to be updated

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

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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_topup
Object

Wallet’s auto top up settings.

threshold
number

The wallet’s minimim balance threshold that triggers this rules once it is reached

Example:
0.01
amount
number

The auto top up’s amount

Example:
10.5
payment_method
Object

The payment method from which funds will be automatically retrieved

type
string
Enumeration:
CARD
WALLET
ACCOUNT_DEBIT
Example:
CARD
id
string

The contact’s payment method identifier.

Example:
4dc0809f-ed91-4b68-b912-5bd6064d901e
termed_topup
Object
amount
number
Example:
10.5
frequency
Object
period
string
Example:
MONTHS
value
integer
Example:
1
topup_day
Object
day_of_month
integer
Example:
1
day_of_week
string
Example:
MONDAY
payment_method
Object
type
string
id
string
limit_rules
Array
Object
name
string
Example:
VIP
maximum_amount
number
Example:
9.99
maximum_number
integer
Example:
10
period
string
Example:
ANNUAL
transaction_type
Array
Example:
["TOPUP"]
string
Example:
TOPUP

Responses

200 OK
Body
Object
id
string

The unique identifier of the updated Wallet

Example:
3ac0809f-ed91-4b68-b912-5bd6064d901e
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
PUT https://sandbox.crm.com/backoffice/v1/wallets/4dc0809f-ed91-4b68-b912-5bd6064d901e HTTP/1.1 

Content-Type: application/json

{
    "auto_topup": {
        "threshold": 0.01,
        "amount": 10.5,
        "payment_method": {
            "type": "CARD",
            "id": "4dc0809f-ed91-4b68-b912-5bd6064d901e"
        }
    },
    "termed_topup": {
        "amount": 10.5,
        "frequency": {
            "period": "MONTHS",
            "value": 1
        },
        "topup_day": {
            "day_of_month": 1,
            "day_of_week": "MONDAY"
        },
        "payment_method": {
            "type": "",
            "id": ""
        }
    },
    "limit_rules": [
        {
            "name": "VIP",
            "maximum_amount": 9.99,
            "maximum_number": 10,
            "period": "ANNUAL",
            "transaction_type": [
                "TOPUP"
            ]
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "3ac0809f-ed91-4b68-b912-5bd6064d901e"
}
Actions on Wallet
POST /wallets/{id}/actions

Updates an existing Wallet’s state

Path variables

id
string required

Wallet identifier

Example:
234fbc54-bc32-1990-ce59-76c45e6377a8

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

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:
EFFECTIVE
TERMINATED
Example:
TERMINATED

Responses

201 Created
Body
Object
id
string

The updated wallet’s identifier

Example:
234fbc54-bc32-1990-ce59-76c45e6377a8
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/wallets/234fbc54-bc32-1990-ce59-76c45e6377a8/actions HTTP/1.1 

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

{
    "action": "TERMINATED"
}

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": "234fbc54-bc32-1990-ce59-76c45e6377a8"
}
List Wallet Commerce Balances
GET /wallets/{id}/commerce_balances

Retrieves a wallet’s business balance breakdown. The balance is returned per spend condition which credited the wallet’s business balance, along with the spend condition’s details

Path variables

id
string GUID required

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

Example:
234fbc54-bc32-1990-ce59-76c45e6377a8

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:
234fbc54-bc32-1990-ce59-76c45e6377a8
include_expiration
boolean optional

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

Example:
true
currency_code
string optional

If not specified, then the balance breakdown of the wallet’s primary currency will be returned by default.

Example:
EUR
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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
id
string GUID

The spend condition group identifier

Example:
234fbc54-bc32-1990-ce59-76c45e6377a8
name
string

The name of the spend condition group

Example:
Happy Hour
amount
number

The amount that is allocated to the specified spend condition

Example:
100.5
curency_code
string
organisations
Array

The organisations where the amount can be spent at

Object
id
string GUID

The organsiation identifier

Example:
234fbc54-bc32-1990-ce59-76c45e6377a8
name
string

The name of the organisation

Example:
Cafe
locations
Array

The location of the organisation

Object

Information about the organisation’s location

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
lat
number

The latitude of the location

Example:
35.157115
lon
number

The longitude of the location

Example:
33.313719
google_place_id
string

The Google textual identifier that uniquely identifies a location

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:
234fbc54-bc32-1990-ce59-76c45e6377a8
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/wallets/234fbc54-bc32-1990-ce59-76c45e6377a8/commerce_balances HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "234fbc54-bc32-1990-ce59-76c45e6377a8",
        "name": "Happy Hour",
        "amount": 100.5,
        "curency_code": "",
        "organisations": [
            {
                "id": "234fbc54-bc32-1990-ce59-76c45e6377a8",
                "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,
                        "google_place_id": "ChIJrTLr-GyuEmsRBfy61i59si0"
                    }
                ]
            }
        ],
        "products": [
            {
                "id_type": "BRAND",
                "id": "234fbc54-bc32-1990-ce59-76c45e6377a8",
                "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

Creates a Wallet Journal Entry that either debits or credits the wallet. A single journal entry is 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
wallet_id
string GUID required

The unique identifier for which the journal entry will be created

Example:
234fbc54-bc32-1990-ce59-76c45e6377a8
amount
number required

The amount of the journal

Example:
10
currency_code
string

If not specified, then the wallet’s primary currency is used to log the journal entry

Example:
EUR
description
string

The description of the journal

Example:
Credit adjustment by 10 EUR
type
string required

The type of the journal

Enumeration:
CREDIT
DEBIT
Example:
CREDIT
spend_condition_id
string GUID

The unique identifier of the related spend condition. If specified, then the journal entry’s amount is move to the wallet’s business balance

Example:
234fbc54-bc32-1990-ce59-76c45e6377a8
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:
234fbc54-bc32-1990-ce59-76c45e6377a8
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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"
}
Activities
POST /activities
PUT /activities/{id}
DELETE /activities/{id}
PUT /activities/{id}/status
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
name
string required

The activity name

Example:
Call customer
description
string nullable

The activity description

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

The GUID of the activity type.

Example:
CEEE83D6E0804A30966F684B0269AD91
date
integer epoch

The date of the activity.

Example:
8634785
from_time
string

The date and time that is scheduled for the activity to take place

Example:
09:00
to_time
string

The date and time that is scheduled for the activity to be completed.

Example:
09:30
address_id
string nullable

The id of the address associated with the contact. Either the address_id or the use_entity_address can be specified, not both

Example:
JHGDSYGSDY656GFHGF
use_entity_address
boolean

Use the entity address as the Activity address. In cases where an Activity is being created for an entity which has an address (e.g. Contact, Order, Service Request) then use that address as the default Activity address. Either the address_id or the use_entity_address can be specified, not both

Example:
false
linked_to
Array

Related linked entity details.

Object
type
string

The type of related entity.

Enumeration:
CONTACT
LEAD
SERVICE_REQUEST
ORDER
id
string

The related entity identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
assign_to
Object nullable
user_id
string GUID

The user identifier

Example:
1edef819-0a1d-4d41-9d2a-d4bbc2ddbedf
team_id
string GUID

The team identifier

Example:
a43f08ca-998b-afbc-6ed4-c9dc2d136935
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

Responses

200 200

Successful Request

Body
Object
id
string GUID

The activity identifier that was created

Example:
QWERTY1234543212345678UJIKY76HJR
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Content-Type: application/json

{
    "name": "Call customer",
    "description": "We need to call the customer (after 4pm) in order to schedule a demo",
    "type_id": "CEEE83D6E0804A30966F684B0269AD91",
    "date": 8634785,
    "from_time": "09:00",
    "to_time": "09:30",
    "address_id": "JHGDSYGSDY656GFHGF",
    "use_entity_address": "false",
    "linked_to": [
        {
            "type": "ORDER",
            "id": "CEEE83D6E0804A30966F684B0269AD91"
        }
    ],
    "user_id": "CEEE83D6E0804A30966F684B0269USER",
    "assign_to": {
        "user_id": "1edef819-0a1d-4d41-9d2a-d4bbc2ddbedf",
        "team_id": "a43f08ca-998b-afbc-6ed4-c9dc2d136935"
    },
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ]
}
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
name
string nullable

The activity name

Example:
Approve Offers
description
string nullable

The activity description

Example:
Require 4 approvals for an offer
address_id
string

The address id associated to the contact and the activity

Example:
GNEHDFHDBFDFFDSD
date
integer epoch

The date that the activity is scheduled.

Example:
863478
from_time
string

The start time of the scheduled activity.

Example:
09:00
to_time
string

The end time of the scheduled activity.

Example:
09:30
linked_to
Array

Related linked entity details.

Object
type
string

The type of the related entity

Enumeration:
CONTACT
LEAD
SERVICE_REQUEST
ORDER
id
string

The related entity identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
assign_to
Object
user_id
string GUID

The user identifier

Example:
1edef819-0a1d-4d41-9d2a-d4bbc2ddbedf
team_id
string GUID

The team identifier

Example:
a43f08ca-998b-afbc-6ed4-c9dc2d136935
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

Responses

200 200

Successful Request

Body
Object
id
string GUID

The activity identifier that was updated

Example:
QWERTY1234543212345678UJIKY76HJR
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Content-Type: application/json

{
    "name": "Approve Offers",
    "description": "Require 4 approvals for an offer",
    "address_id": "GNEHDFHDBFDFFDSD",
    "date": 863478,
    "from_time": "09:00",
    "to_time": "09:30",
    "linked_to": [
        {
            "type": "ORDER",
            "id": "CEEE83D6E0804A30966F684B0269AD91"
        }
    ],
    "user_id": "CEEE83D6E0804A30966F684B0269USER",
    "assign_to": {
        "user_id": "1edef819-0a1d-4d41-9d2a-d4bbc2ddbedf",
        "team_id": "a43f08ca-998b-afbc-6ed4-c9dc2d136935"
    },
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ]
}
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 State
PUT /activities/{id}/status

Update an existing activity’s status

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
status
string required

Defines the new life cycle state of the activity

Enumeration:
PENDING

The activity will be created with this status.

COMPLETED

The activity will be closed with this status.

CANCELLED

The activity will be cancelled with this status.

Responses

200 200

Successful Request

Body
Object
id
string GUID

The activity identifier that was updated

Example:
QWERTY1234543212345678UJIKY76HJR
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Content-Type: application/json

{
    "status": "CANCELLED"
}
List Activities
GET /activities

Search for activities

Request parameters

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
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
contact_id
string GUID optional

Filter based on the related Order

Example:
c0a0c2bf-55fa-4a22-b151-a8660c3877b1
order_id
string optional
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
type_id
string optional

The id of the activity type

Example:
HJGDJSHFSDHGFu77566HFVDHGSF
search_value
string optional

Search for an activity based on name

Example:
installation job
created_on
string optional

Filter based on the created date, which may fall within a given date range. The value can be a string with a date in epoch format. Each option must also include an operator. Use up to two options based on the required search (e.g. created_on[gte]=1618395497&created_on[lt]=1618395497).

Enumeration:
created_on[gt]

Returns results where the created date is greater than this value

created_on[gte]

Returns results where the created date is greater than or equal to this value

created_on[lt]

Returns results where the created date is less than this value

created_on[lte]

Returns results where the created date is less then or equal to this value

statuses
array of string optional

Details pertaining to the statuses of the activities.

Collection format: csv
tag_ids
array of string optional

The id’s of the tags to filter by

Collection format: csv
user_id
string GUID optional

Filter based on the User who is responsible to complete it

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

Filters based on specific assign to user

Example:
c45903ff-4a00-49bd-93b4-6b2f0373ce20
assign_to_team_id
string GUID optional

Filters based on specific assign to team

Example:
5beb415c-3246-1a10-f806-3f975e4898dc
include_custom_fields
boolean optional

Retrieve custom fields?

Default:
true
Example:
true
custom_fields
string optional

Filters based on custom fields (key/value set should be semicolon separated)

Example:
key;value,key;value

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
name
string

The activity name

Example:
Call customer
description
string

The activity description

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

The activity life cycle state

Enumeration:
PENDING
COMPLETED
date
integer epoch

The date of the scheduled activity

Example:
198735487
from_time
string

The time from when the activity is scheduled.

Example:
09:00
to_time
string

The time that the activity is scheduled to finish.

Example:
09:30
activity_type
Object

The activity type

id
string

The id of the activity type

Example:
JKHGFSD878JHGDHJGD
name
string

The name of the activity type

Example:
site visit
colour
string

The colour code of the activity type

Example:
7GH86H7
contact
Object

Details about the related contact

id
string GUID

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The contact full name

Example:
John Johnson
code
string

The contact unique code

Example:
C123
lead
Object

The details of the lead

id
string GUID

The lead identifier

Example:
AJBGJHFGKSF78676JHGS56
title
string

The name of the lead

Example:
ASOS
service_request
Object

The service request ticket number

id
string GUID

The service request unique identifier

Example:
AJBGJHFGKSF78676JHGS56
number
string

The ticket number of the service request

Example:
SR10001
order
Object

The order that the activity was created through

id
string

The order id

Example:
JGDAKJHDAKJHAJK87897
number
string

The order number

Example:
O101367
assign_to
Object
user
Object

Details about the user that the record is assigned to

id
string GUID

The user identifier

Example:
47ac694d-6281-b873-bf46-3fd8da334a3a
name
string

The user name

Example:
John Doe
username
string

The username of the user

Example:
j_doe@crm.com
team
Object

Details about the team that the record is assigned to

id
string GUID

The team identifier

Example:
bf1370a1-73ad-0bbf-6fef-f2ce1938d4fe
name
string

The team name

Example:
Support
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
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "name": "Call customer",
            "number": "ACT1001",
            "description": "We need to call the customer to arrange a demo",
            "status": "COMPLETED",
            "date": 198735487,
            "from_time": "09:00",
            "to_time": "09:30",
            "activity_type": {
                "id": "JKHGFSD878JHGDHJGD",
                "name": "site visit",
                "colour": "7GH86H7"
            },
            "contact": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "John Johnson",
                "code": "C123"
            },
            "lead": {
                "id": "AJBGJHFGKSF78676JHGS56",
                "title": "ASOS"
            },
            "service_request": {
                "id": "AJBGJHFGKSF78676JHGS56",
                "number": "SR10001"
            },
            "order": {
                "id": "JGDAKJHDAKJHAJK87897",
                "number": "O101367"
            },
            "user": {
                "id": "CEEE83D6E0804A30966F684B0269AD91",
                "name": "John Doe"
            },
            "assign_to": {
                "user": {
                    "id": "47ac694d-6281-b873-bf46-3fd8da334a3a",
                    "name": "John Doe",
                    "username": "j_doe@crm.com"
                },
                "team": {
                    "id": "bf1370a1-73ad-0bbf-6fef-f2ce1938d4fe",
                    "name": "Support"
                }
            },
            "custom_fields": [
                {
                    "key": "back_office",
                    "value": "0001-12345"
                }
            ]
        }
    ],
    "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
name
string

The activity name

Example:
Call customer
description
string

The activity description

Example:
Arrange a call with the customer after 4pm to schedule a demo for next week
date
integer epoch

The date and time that the activity is scheduled for

Example:
7675675
from_time
string

The time that the activity is scheduled to start.

Example:
09:00
to_time
string

The time that the activity is scheduled to be completed.

Example:
09:30
created_date
integer epoch

The date the activity was created.

type
Object

The type of activity

id
string

The id of the type

Example:
HGJDHGSJDHG
name
string

the name of the type

Example:
site visit
color
string

the colour of the type.

Example:
876FD5
contact
Object

Details about the related contact

id
string GUID

The contact identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
name
string

The contact full name

Example:
John Johnson
code
string

The contact unique code

Example:
C123
service_request
Object

The details of the sercice request

id
string GUID

The id of the service request

Example:
JHGHGF7576HGFTGD564654
number
string

The ticket number of the service request

Example:
SRV78001
lead
Object

The details of the lead

id
string

The id of the lead

Example:
JHGSD6576JKDGSFKJG
title
string

The name of the lead

Example:
ASOS
order
Object
id
string

The order ID

Example:
JGKDJSHSHDKAJHAKJD
number
string

The order number

Example:
O10306P
address
Object

The address of the activity

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
Example:
523654.098795
lon
string
Example:
880932.981221
googleplaceid
string
Example:
ad23rewf4472vnm90001
statuses
Array

The life cycle states of the activity

Object
status
string
Enumeration:
PENDING
COMPLETED
CANCELLED
date
string date

The date that the activity enetered that stated

assign_to
Object
user
Object

Details about the user that the record is assigned to

id
string GUID

The user identifier

Example:
47ac694d-6281-b873-bf46-3fd8da334a3a
name
string

The user name

Example:
John Doe
username
string

The username of the user

Example:
j_doe@crm.com
team
Object

Details about the team that the record is assigned to

id
string GUID

The team identifier

Example:
bf1370a1-73ad-0bbf-6fef-f2ce1938d4fe
name
string

The team name

Example:
Support
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CEEE83D6E0804A30966F684B0269AD91",
    "name": "Call customer",
    "number": "ACT1001",
    "description": "Arrange a call with the customer after 4pm to schedule a demo for next week",
    "date": 7675675,
    "from_time": "09:00",
    "to_time": "09:30",
    "created_date": 1,
    "type": {
        "id": "HGJDHGSJDHG",
        "name": "site visit",
        "color": "876FD5"
    },
    "contact": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
        "name": "John Johnson",
        "code": "C123"
    },
    "service_request": {
        "id": "JHGHGF7576HGFTGD564654",
        "number": "SRV78001"
    },
    "lead": {
        "id": "JHGSD6576JKDGSFKJG",
        "title": "ASOS"
    },
    "order": {
        "id": "JGKDJSHSHDKAJHAKJD",
        "number": "O10306P"
    },
    "address": {
        "address_line_1": "Elia Papakyriakou",
        "address_line_2": "7 Tower Stars",
        "state_province_county": "Egkomi",
        "town_city": "Nicosia",
        "postal_code": "2000",
        "country": "CY",
        "lat": "523654.098795",
        "lon": "880932.981221",
        "googleplaceid": "ad23rewf4472vnm90001"
    },
    "statuses": [
        {
            "status": "PENDING",
            "date": ""
        }
    ],
    "user": {
        "id": "CEEE83D6E0804A30966F684B0269AD91",
        "name": "John Doe"
    },
    "assign_to": {
        "user": {
            "id": "47ac694d-6281-b873-bf46-3fd8da334a3a",
            "name": "John Doe",
            "username": "j_doe@crm.com"
        },
        "team": {
            "id": "bf1370a1-73ad-0bbf-6fef-f2ce1938d4fe",
            "name": "Support"
        }
    },
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ]
}
Activity Tags

The following functionality relates to tags for activities

POST /activities/{id}/tags
PUT /activities/{id}/tags
DELETE /activities/{id}/tags/{tag_id}
GET /activities/{id}/tags
Add Activity Tags
POST /activities/{id}/tags

The following process adds tags to an activity

Path variables

id
string GUID required

The activity GUID

Example:
HRDGSWRSFVSDSDBSDSSDDE

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

Object
tags
Array

the content relating to the tag

Object
id
string GUID

The tag id

Example:
FDHNFDBR675765ghdh
Example 1
POST https://sandbox.crm.com/backoffice/v1/activities/HRDGSWRSFVSDSDBSDSSDDE/tags HTTP/1.1 

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

{
    "tags": [
        {
            "id": "FDHNFDBR675765ghdh"
        }
    ]
}
Update Activity Tags
PUT /activities/{id}/tags

The following process updates tags for an activity

Path variables

id
string GUID required

The activity GUID

Example:
JGSDGJKAJKGDAKJGS

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

Object
tags
Array

the content relating to the tag

Object
id
string GUID

The tag id

Example:
JGFJHGJHSDGHJSG
Example 1
PUT https://sandbox.crm.com/backoffice/v1/activities/JGSDGJKAJKGDAKJGS/tags HTTP/1.1 

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

{
    "tags": [
        {
            "id": "JGFJHGJHSDGHJSG"
        }
    ]
}
Delete Activity Tag
DELETE /activities/{id}/tags/{tag_id}

Deletes a tag on a activity.

Path variables

id
string GUID required

The id of the activity.

Example:
ef9a1f84-2d4b-c9eb-afc7-a142e202a9ef
tag_id
string GUID required

The id of the tag

Example:
KJDFHKJGFSJHG

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/activities/ef9a1f84-2d4b-c9eb-afc7-a142e202a9ef/tags/KJDFHKJGFSJHG HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
Get Activity Tags
GET /activities/{id}/tags

The following process retrieves the tags for a activity

Path variables

id
string GUID required

The id of the activity.

Example:
JHGSDJHGAHJGD

Responses

200 OK
Body
Object
content
Array
Object
id
string GUID

the tag ID

Example:
JKGJHFSDJHGDSJHGA
name
string

Name of Tag

Example:
Maintenance
colour
string

Colour of tag

Example:
The colour of the tag
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/activities/JHGSDJHGAHJGD/tags HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "JKGJHFSDJHGDSJHGA",
            "name": "Maintenance",
            "colour": "The colour of the tag"
        }
    ]
}
Analytics
GET /organisations/{id}/analytics
GET /contacts/{id}/analytics
Insights
POST /insights
PUT /insights/{id}
DELETE /insights/{id}/
GET /insights
GET /insights/{id}
POST /insights/{id}/events
POST /insights/{id}/filters
POST /insights/{id}/breakdowns
GET /insights/{id}/results
POST /insights/{id}/preview
POST /insights/{id}/exports
Create Insight
POST /insights

Create a new insight

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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 insight name

Example:
Marketing customers
description
string nullable

The insight description

Example:
A list of customers that own an account

Responses

200 OK
Body
Object
id
string GUID

The insight identifier

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05
200 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/insights HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Marketing customers",
    "description": "A list of customers that own an account"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "c0d4712e-6688-4604-b3d6-d084e4d2dc05"
}
Update Insights
PUT /insights/{id}

Updates the basic information of an insight

Path variables

id
string GUID required

The insight identifier that will be updated

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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 insight name

Example:
Rewards Award
description
string nullable

The insight’s description

Example:
List of contacts owning a non-terminated account
refresh_frequency
integer
Example:
1

Responses

200 200
Body
Object
id
string GUID

The insight identifier

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
PUT https://sandbox.crm.com/backoffice/v1/insights/c0d4712e-6688-4604-b3d6-d084e4d2dc05 HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Rewards Award",
    "description": "List of contacts owning a non-terminated account",
    "refresh_frequency": 1
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "c0d4712e-6688-4604-b3d6-d084e4d2dc05"
}
Delete Insights
DELETE /insights/{id}/

Delete an existing insight

Path variables

id
string GUID required

The insight identifier that will be deleted

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/insights/c0d4712e-6688-4604-b3d6-d084e4d2dc05/ HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List Insights
GET /insights

Returns a list of insights

Request parameters

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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
Body
Object
content
Array
Object
id
string GUID

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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/insights HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4AD9C84FA60F9FE407140E20F707726A",
            "name": "Marketing customers",
            "descripion": "List customers owning an account"
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Insight
GET /insights/{id}

Get all data for a single insight

Path variables

id
string GUID required

The insight identifier that will be retrieved

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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 insight identifier

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05
name
string

The insight name

Example:
Rewards Award
events
Array
Object
id
string GUID

The event identifier

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05
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 GUID

The filter identifier

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05
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 GUID

The breakdown identifier

Example:
c0d4712e-6688-4604-b3d6-d084e4d2dc05
name
string

simple naming A, B, C used for ordering

type
string
Example:
CONTACT
property_name
string
Example:
city
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/insights/c0d4712e-6688-4604-b3d6-d084e4d2dc05 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "c0d4712e-6688-4604-b3d6-d084e4d2dc05",
    "name": "Rewards Award",
    "events": [
        {
            "id": "c0d4712e-6688-4604-b3d6-d084e4d2dc05",
            "name": "Purchases",
            "event_name": "SPEND",
            "totals": {
                "is_frequency": true,
                "property_name": "amount"
            },
            "criteria": [
                {
                    "name": "A",
                    "property": {
                        "property": "venue.name",
                        "operator": "IS",
                        "value_list": [
                            "Costa Coffee Nicosia"
                        ]
                    }
                }
            ]
        }
    ],
    "filters": [
        {
            "id": "c0d4712e-6688-4604-b3d6-d084e4d2dc05",
            "name": "",
            "type": "CONTACT",
            "property_name": "",
            "operator": "NOT_EQUAL",
            "min_value": "",
            "max_value": "",
            "value_list": [
                ""
            ]
        }
    ],
    "breakdowns": [
        {
            "id": "c0d4712e-6688-4604-b3d6-d084e4d2dc05",
            "name": "",
            "type": "CONTACT",
            "property_name": "city"
        }
    ]
}
Add Insight Events
POST /insights/{id}/events

Adds a set of events on an insight

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

Responses

200 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Adds a set of filters on an insight

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

200 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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 Insight Breakdowns
POST /insights/{id}/breakdowns

Adds a set of breakdowns on an insight

Path variables

id
string GUID required

The insight identifier which breakdown will be set

Example:
96578cce-9a50-575e-ed6a-46ae13c9219f

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

200 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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 Insight Results
GET /insights/{id}/results

Retrieve results of a specific insight

Path variables

id
string GUID required

The insight identifier which results will be retrieved

Example:
04f28639-5ceb-a25e-1e44-b1109e533f42

Request parameters

start_date
integer epoch optional

The start date of the insight sequence

Example:
1612953199
end_date
integer epoch optional

The end date of the insight sequence

Example:
1612953199

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
breakdown
Object
id
string GUID

A temporary identifier to link child levels

Example:
bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f
parent_id
string GUID

The identifier of the previous level

Example:
bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f
level
integer

The breakdown level 0 = EVENTS

Example:
1
property_name
string

The name of the property within the group

Example:
venue.name
property_value
string

The value of the property

Example:
Costa Coffee Larnaca
event_name
string

The name of the event

count
integer

The number of points can be used for frequency

Example:
1
amount
number

The decimal amounts for the level

Example:
12.8
list_name
string

Applicable only if the property is a list and represents the list name

Example:
products
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/insights/04f28639-5ceb-a25e-1e44-b1109e533f42/results HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "breakdown": {
                "id": "bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f",
                "parent_id": "bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f",
                "level": 1,
                "property_name": "venue.name",
                "property_value": "Costa Coffee Larnaca",
                "event_name": "",
                "count": 1,
                "amount": 12.8,
                "list_name": "products"
            }
        }
    ]
}
Preview Insight Results
POST /insights/{id}/preview

Preview the results of a specific insight

Path variables

id
string GUID required

The insight identifier which results will be previewed

Example:
62cb9ada-3a7b-cafb-b7a7-7c103011fa48

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
start_date
integer epoch required

The start date of the insight sequence

Example:
1612953199
end_date
integer epoch required

The end date of the insight sequence

Example:
1612953199
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

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
breakdowns
Array
Object
name
string
type
string
Enumeration:
EVENT
CONTACT
property_name
string

name of the property to create the breakdown

Responses

200 OK
Body
Object
content
Array
Object
breakdown
Object
id
string GUID

A temporary identifier to link child levels

Example:
bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f
parent_id
string GUID

The identifier of the previous level

Example:
bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f
level
integer

The breakdown level 0 = EVENTS

Example:
1
property_name
string

The name of the property within the group

Example:
venue.name
property_value
string

The value of the property

Example:
Costa Coffee Larnaca
event_name
string

The name of the event

count
integer

The number of points can be used for frequency

Example:
1
amount
number

The decimal amounts for the level

Example:
12.8
list_name
string

Applicable only if the property is a list and represents the list name

Example:
products
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/insights/62cb9ada-3a7b-cafb-b7a7-7c103011fa48/preview HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "start_date": 1612953199,
    "end_date": 1612953199,
    "events": [
        {
            "name": "Purchases",
            "event_name": "PURCHASE",
            "totals": {
                "is_frequency": true,
                "property_name": ""
            },
            "criteria": [
                {
                    "name": "A",
                    "property": {
                        "property": "venue.name",
                        "operator": "IS_NOT",
                        "value_list": [
                            ""
                        ]
                    }
                }
            ]
        }
    ],
    "filters": [
        {
            "name": "",
            "type": "CONTACT",
            "property_name": "",
            "operator": "DOES_NOT_CONTAIN",
            "min_value": "",
            "max_value": "",
            "value_list": [
                ""
            ]
        }
    ],
    "breakdowns": [
        {
            "name": "",
            "type": "CONTACT",
            "property_name": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "breakdown": {
                "id": "bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f",
                "parent_id": "bb686ff0-e7a4-a8a6-05a6-cfe8e39f675f",
                "level": 1,
                "property_name": "venue.name",
                "property_value": "Costa Coffee Larnaca",
                "event_name": "",
                "count": 1,
                "amount": 12.8,
                "list_name": "products"
            }
        }
    ]
}
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"
    }
]
Export Insight Results
POST /insights/{id}/exports

Export the results of a specific insight

Path variables

id
string GUID required

The insights (identifier) that will be exported

Example:
efc5c8af-56ba-3d6f-d180-18be6dd04cc8

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

Request body

Object
type
string required

Defines what data should be exported from the related insight results

Enumeration:
RESULTS

Export results in a tabular format, excluding underlying data

UGD

Export all underlying granular data that were used for this Insight

format
string nullable

Defines the file format in which the exported data should be exported

Enumeration:
csv

CSV file

Default:
csv

Responses

200 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/insights/efc5c8af-56ba-3d6f-d180-18be6dd04cc8/exports HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "type": "UGD",
    "format": "csv"
}

HTTP/1.1 200 OK 
Reports
POST /reports/{name}/preview
POST /reports/{name}
PUT /reports/{id}
DELETE /reports/{id}
GET /reports/{id}
Preview Report
POST /reports/{name}/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

name
string required

The report (unique name) that will be previewed

Enumeration:
contacts_summary
contacts_orders_analysis
order_details
contacts_rewards_analysis
organisations_rewards_analysis
organisations_rewards_statement
reward_offer_performance
devices_summary
subscriptions_summary
service_requests_summary
service_requests_analysis

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
filters_set
Array required

Set of filters based on which the report runs

Object
key
string required

The filter’s name

Example:
period_from
value
string required

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

Example:
This month
columns_set
Array required

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

200 OK
Body
Object
content
Array
Object
fields
Array
Object
key
string
Example:
Name
value
string
Example:
Jane Smith
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/reports/contacts_summary/preview HTTP/1.1 

Content-Type: application/json

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

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "fields":[
                {            
                    "key": "Name",
                    "value": "Jane Smith"
                }
            ]
        }
    ]
}
Run Report
POST /reports/{name}

Schedule a report and sends its results via email to a group of recipients

Path variables

name
string required

The report (unique name) that will be scheduled

Enumeration:
contacts_summary
contacts_orders_analysis
order_details
contacts_rewards_analysis
organisations_rewards_analysis
organisations_rewards_statement
reward_offer_performance
devices_summary
subscriptions_summary
service_requests_summary
service_requests_analysis

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
format
string required

The report’s format

Enumeration:
PDF
CSV
filters_set
Array required

Set of filters based on which the report runs

Min items: 1
Unique items: YES
Object
label
string required

The filter’s label

Example:
Registration date
key
string required

The filter’s name

Example:
period_from
value
string required

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

Example:
THIS_MONTH
type
string required

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 required

The ordering of the columns from left to right

Example:
1
label
string required

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

Example:
Code
key
string required

The field’s name

Example:
product_code
type
string required

The data type of the filter

Enumeration:
TEXT
NUMBER
INTEGER
DATE
group_by_set
Array nullable

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

Object
order
integer required

The grouping’s ordering

Example:
1
label
string required

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

Example:
Type
key
string required

The field’s name

Example:
product_type
type
string required

The data type of the filter

Enumeration:
TEXT
NUMBER
INTEGER
DATE
name
string nullable

Defines the scheduled report name (if not provided will be set based on the report’s unique name, e.g. Contacts Summary)

Example:
VIP Contacts
scheduler_options
Object nullable

Defines the scheduler settings that will send a report on a recurring basis (if not specified, report will be generated and send only once)

period
string required

Defines the period when report generation will take place

Enumeration:
DAILY
WEEKLY
MONTHLY
frequency
string required

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
recipients
Array nullable

Defines the recipients that will receive the report results (if not specified, will be send to the user that requested such report)

Object
recipient_type
string required

The type of recipients that will retrieve the report

Enumeration:
TEAM

Applicable only to Business organisations

USER
recipient_id
string GUID required

The recipients that will retrieve the report

Example:
b52f4dbb-0ccf-db7a-93b6-2cc35af9fc39

Responses

200 OK
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
Example 2

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

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

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "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": "INTEGER"
        }
    ],
    "group_by_set": [
        {
            "order": 1,
            "label": "Type",
            "key": "product_type",
            "type": "TEXT"
        }
    ]
}

HTTP/1.1 200 OK 

Schedule a report to be send on a recurring basis and send to users of a specific team

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

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "format": "PDF",
    "filters_set": [
        {
            "label": "Registration date",
            "key": "period_from",
            "value": "THIS_MONTH",
            "type": "TEXT"
        }
    ],
    "columns_set": [
        {
            "order": 1,
            "label": "Code",
            "key": "product_code",
            "type": "INTEGER"
        }
    ],
    "group_by_set": [
        {
            "order": 1,
            "label": "Type",
            "key": "product_type",
            "type": "INTEGER"
        }
    ],
    "scheduler_options": {
        "period": "MONTHLY",
        "frequency": "0 0 12 * * ?"
    },
    "recipients": [
        {
            "recipient_type": "TEAM",
            "recipient_id": "b52f4dbb-0ccf-db7a-93b6-2cc35af9fc39"
        }
    ]
}

HTTP/1.1 200 OK
Update Report
PUT /reports/{id}

Schedule a report and sends its results via email to a group of recipients

Path variables

id
string GUID required

The report (identifier) that will be updated

Example:
81228876-09c6-cc46-638d-be2a7a6867bf

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
format
string required

The report’s format

Enumeration:
PDF
CSV
scheduler_options
Object nullable

Defines the scheduler settings that will send a report on a recurring basis (if not specified, report will be generated and send only once)

period
string required

Defines the period when report generation will take place

Enumeration:
DAILY
WEEKLY
MONTHLY
frequency
string required

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
recipients
Array nullable

Defines the recipients that will receive the report results (if not specified, will be send to the user that requested such report)

Object
recipient_type
string required

The type of recipients that will retrieve the report

Enumeration:
TEAM

Applicable only to Business organisations

USER
recipient_id
string GUID required

The recipients that will retrieve the report

Example:
b52f4dbb-0ccf-db7a-93b6-2cc35af9fc39

Responses

200 OK
Body
Object
id
string GUID

The report identifier

Example:
81228876-09c6-cc46-638d-be2a7a6867bf
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
PUT https://sandbox.crm.com/backoffice/v1/reports/81228876-09c6-cc46-638d-be2a7a6867bf HTTP/1.1 

Content-Type: application/json

{
    "format": "CSV",
    "scheduler_options": {
        "period": "DAILY",
        "frequency": "0 0 12 * * ?"
    },
    "recipients": [
        {
            "recipient_type": "USER",
            "recipient_id": "b52f4dbb-0ccf-db7a-93b6-2cc35af9fc39"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "81228876-09c6-cc46-638d-be2a7a6867bf"
}
Delete (Scheduled) Report
DELETE /reports/{id}

Delete a scheduled report

Path variables

id
string GUID required

The report (unique name) that will be scheduled

Example:
1193d47e-f079-3f03-299b-50b7419459af

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/reports/1193d47e-f079-3f03-299b-50b7419459af HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List (Scheduled) Reports
GET /reports

Retrieve all scheduled reports

Request parameters

name
string optional

Filter based on report name

Example:
VIP Customers
type
string optional

Filter based on report type

Enumeration:
contacts_summary
contacts_orders_analysis
order_details
contacts_rewards_analysis
organisations_rewards_analysis
organisations_rewards_statement
reward_offer_performance
devices_summary
subscriptions_summary
service_requests_summary
service_requests_analysis
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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
type
string

The type of the event

Enumeration:
contacts_summary
contacts_orders_analysis
order_details
contacts_rewards_analysis
organisations_rewards_analysis
organisations_rewards_statement
reward_offer_performance
devices_summary
subscriptions_summary
service_requests_summary
service_requests_analysis
name
string

The scheduled report name

Example:
VIP Contacts
scheduler_options
Object

Defines the scheduler settings that will send a report on a recurring basis (if not specified, report will be generated and send only once)

period
string

Defines the period when report generation will take place

Enumeration:
DAILY
WEEKLY
MONTHLY
frequency
string

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
next_scheduled
integer

The next scheduled period to run the report

Example:
1639123750
recipients
Array

Defines the recipients that will receive the report results

Object
type
string

The type of recipients that will retrieve the report

Enumeration:
TEAM

Applicable only to Business organisations

USER
name
string

The recipient name

Example:
John Doe
username
string

The recipient username (applicable for recipients of type == USER)

Example:
johndoe@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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/reports HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "type": "contacts_summary",
            "name": "VIP Contacts",
            "scheduler_options": {
                "period": "DAILY",
                "next_scheduled": 1631182104
            },
            "recipients": [
                {
                    "type": "TEAM",
                    "name": "John Doe",
                    "username": "johndoe@crm.com"
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get (Scheduled) Report
GET /reports/{id}

Get details for a specific (scheduled) report

Path variables

id
string GUID required

The (scheduled) report (identifier) that will be retrieved

Example:
df97fe77-84f0-d761-39d6-6d9e1ddf4962

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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 (scheduled) report (identifier) that will be retrieved

Example:
df97fe77-84f0-d761-39d6-6d9e1ddf4962
name
string

The scheduled report name

Example:
VIP Contacts
type
string

The type of the event

Enumeration:
contacts_summary
contacts_orders_analysis
order_details
contacts_rewards_analysis
organisations_rewards_analysis
organisations_rewards_statement
reward_offer_performance
devices_summary
subscriptions_summary
service_requests_summary
service_requests_analysis
format
string

The report’s format

Enumeration:
PDF
CSV
filters_set
Array

Details about the filters based on which the report runs

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

Details about the columns that will be included in the report

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

The data type of the filter

Enumeration:
TEXT
NUMBER
INTEGER
DATE
group_by_set
Array

Details about the fields to be used to group the report’s results

Object
order
integer required

The grouping’s ordering

Example:
1
label
string required

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

Example:
Type
key
string required

The field’s name

Example:
product_type
type
string required

The data type of the filter

Enumeration:
TEXT
NUMBER
INTEGER
DATE
scheduler_options
Object

Defines the scheduler settings that will send a report on a recurring basis (if not specified, report will be generated and send only once)

period
string

Defines the period when report generation will take place

Enumeration:
DAILY
WEEKLY
MONTHLY
frequency
string

The repeat frequency provided as a cron expression pattern

Example:
0 0 12 * * ?
next_scheduled
integer

The next scheduled period to run the report

Example:
1639123750
recipients
Array

Details about the recipients that will receive the report results

Object
recipient_type
string

The type of recipients that will retrieve the report

Enumeration:
TEAM

Applicable only to Business organisations

USER
recipient_id
string GUID

The recipients that will retrieve the report

Example:
b52f4dbb-0ccf-db7a-93b6-2cc35af9fc39
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/reports/df97fe77-84f0-d761-39d6-6d9e1ddf4962 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "name": "VIP Contacts",
    "type": "contacts_summary",
    "format": "PDF",
    "filters_set": [
        {
            "label": "Registration date",
            "key": "period_from",
            "value": "THIS_MONTH",
            "type": "DATE"
        }
    ],
    "columns_set": [
        {
            "order": 1,
            "label": "Code",
            "key": "product_code",
            "type": "TEXT"
        }
    ],
    "group_by_set": [
        {
            "order": 1,
            "label": "Type",
            "key": "product_type",
            "type": "TEXT"
        }
    ],
    "scheduler_options": {
        "period": "MONTHLY",
        "frequency": "0 0 12 * * ?"
    },
    "recipients": [
        {
            "recipient_type": "TEAM",
            "recipient_id": "b52f4dbb-0ccf-db7a-93b6-2cc35af9fc39"
        }
    ]
}
Get Organisation Analytics
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
string required

Which metrics are required. A list of metrics can be included in the request, comma separated. At least one must be specified.

Enumeration:
NEW_SIGN_UPS
REWARD_PARTICIPANTS
REWARD_PARTICIPANTS_PER_TIER
OPEN_LOOP_PARTICIPANTS
CLOSE_LOOP_PARTICIPANTS
ACTIVE_REWARD_OFFERS
MOST_REWARDED_OFFER
TOTAL_AWARDS
TOTAL_SPENDS
GIVEN_AWARDS
AWARDS_SPEND
AWARDS_SPEND_PER_VISIT
TOP_10_BEST_OFFERS
TOTAL_PURCHASE_AMOUNT
NUMBER_OF_VISITS
MOST_VISITED_VENUES VISITS
MERCHANTS
VENUES
TOTAL_APPLICATIONS_USAGE
REFERRED_BY
WALLET_BALANCE_BREAK_DOWN
ACTIVE_SUBSCRIBERS
INACTIVE_SUBSCRIBERS
NEW_SERVICES
CANCELLED_SERVICES
REGRETTED_SERVICES
SERVICES_IN_TRIAL
DEACTIVATED_sERVICES
ACTIVATED_SERVICES
SERVICES_IN_TRIAL_WITH_FAILED_PAYMENTS
PAID_SERVICES_IN_TRIAL
CANCELLED_SERVICES_IN_TRIAL
CANCELLED_SERVICES_AFTER_TRIAL
NEW_SUBSCRIBERS
REACTIVATED_SUBSCRIPTIONS
REMOVED_SERVICES_AFTER_EXPIRATION
CANCELLED_SERVICES_IN_CONTRACT
CANCELLED_SERVICES_NOT_IN_CONTRACT
RENEWED_SERVICES
EXPIRED_SERVICES
SUBSCRIBER_CHURN_RATE
TRIALS_STARTED_PER_MONTH
AWARDS

Total Awarded Amount and Total Number of Awards and Previous Period Values

SPENDS

Total Spent Amount and Total Number of Spends and Previous Period Values

SPEND_ANALYSIS
TOTAL_INSTANT_SPENDS
TOTAL_REQUEST_SPENDS
TOTAL_AUTO_SPENDS
TOTAL_EXPIRED_AWARDS
TOTAL_AD_HOC_RETURN_AMOUNT
NUMBER_OF_AD_HOC_RETURNS
TOTAL_LOTTERY_AWARD_AMOUNT
TOTAL_REFERRAL_AWARD_AMOUNT
NUMBER_OF_LOTTERY_AWARDS
NUMBER_OF_REFERRALS
NUMBER_OF_ACHIEVEMENTS
REWARDS_ANALYSIS
CUSTOMER_EVENTS_ANALYSIS
AD_HOC_RETURNS
LOTTERY_WINNERS
REFERRALS
PURCHASES
TOTAL_OPEN_SERVICE_REQUESTS
TOTAL_CLOSED_SERVICE_REQUESTS
MOST_POPULAR_CLOSURE_REASON
SERVICE_REQUEST_RESOLUTION_RATE
SERVICE_REQUESTS_ANALYSIS
TOTAL_OPEN_LEADS
TOTAL_WON_LEADS
TOTAL_LOST_LEADS
LEAD_RESOLUTION_RATIO
LEADS_ANALYSIS
NEW_CONTACTS
CONTACT_REFERRALS
ACTIVE_CONTACTS
CONTACTS_USING_APPLICATIONS
CONTACTS_ACTIVITY
APPLICATIONS_USAGE_BREAKDOWN
NEW_ORDERS
COMPLETED_ORDERS
CANCELLED_ORDERS
AVERAGE_ORDER_COMPLETION
TOTAL_ORDER_AMOUNT
MOST_POPULAR_CANCELLATION_REASON
PREFERRED_ORDERING_ORGANISATION
ORDERS_ANALYSIS
frequency
string required

Frequency denotes which metric will be applied for example get the daily or monthly metrics

Enumeration:
OVERALL
DAILY
WEEKLY
MONTHLY
QUARTERLY
HALF_YEARLY
YEARLY
Default:
OVERALL

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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:
9870818f-fac2-1e36-40b0-02a9ce0a5a63
organisation_id
string GUID
Example:
64824e45-ad64-40c5-9ef4-81cb4d88d9b5
organisation_name
string
Example:
Subscription-Billing
merchants
integer
venues
integer
trials
integer
new_sign_ups
integer
referred_by
integer
reward_participants
integer
reward_participants_per_tier
integer
open_loop_reward_participants
integer
close_loop_reward_participants
integer
active_offers
integer
most_awarded_offer
string
total_awards
number
total_spends
integer
given_awards
integer
awards_spend
integer
average_spend_per_visit
number
top_10_best_offers
Array
Object
offer_id
string GUID
Example:
034de72f-2006-4a80-ba49-13c4de5cc31b
offer_name
string
Example:
Register to Sports channel and win 21 BDT
total_award_amount
number
Example:
26.25
total_purchase_amount
number
total_visits
integer
most_visited_venues
string
total_applications_usage
integer
wallets_open_balance
number
wallets_commerse_balance
number
active_subscribers
integer
inactive_subscribers
integer
new_services
integer
cancelled_services
integer
regretted_services
integer
upgraded_services
integer
downgraded_services
boolean
services_in_trial
integer
deactivated_services
integer
activated_services
integer
paid_services_in_trial
integer
cancelled_services_in_trial
integer
new_subscribers
integer
reactivated_subscriptions
integer
removed_services_after_expiration
integer
cancelled_services_in_contract
integer
cancelled_services_not_in_contract
integer
renewed_services
integer
expired_services
integer
subscriber_churn_rate
integer
active_subscriptions_per_billing_period
integer
active_services_per_month
integer
connected_wifi_contacts
integer

The number of contacts auth’d against a WiFi platform

Example:
3
total_wifi_devices
integer

The number of devices auth’d against a WiFi platform

Example:
2
data_allowance_consumption
Object

Details about data allowance (data should be aggregated from child organisations as well)

consumed_allowance
number

The consumed data allownace

Example:
12
remaining_allowance
number

The remaining data allownace

Example:
12.12
total_allowance
number

The total data allownace (consumed + remaining)

Example:
24.12
top_10_organisation_allowance
Array

Details about the top 10 organisations that allowance was consumed

Object
organisation_id
string GUID

The organisation identifier

Example:
8833bf28-e888-a21b-9619-0945f2dd47c1
organisation_name
string

The organisation name

Example:
CRM
total_consumption
number

The total allowance consumed on the organisation

Example:
123.12
total_open_service_requests
integer
total_closed_service_requests
integer
previous_total_open_service_requests
integer
previous_total_closed_service_requests
integer
most_popular_closure_reason
string
previous_most_popular_closure_reason
string
service_requests_analysis
Array
Object
month
string
open_service_requests
integer
closed_service_requests
integer
previous_total_open_leads
string
total_open_leads
integer
total_lost_leads
integer
previous_total_lost_leads
integer
total_won_leads
integer
previous_total_won_leads
integer
leads_analysis
Array
Object
month
string
open_leads
integer
won_leads
integer
lost_leads
integer
new_contacts
integer
previous_new_contacts
integer
referrals
integer
previous_referrals
integer
active_contacts
integer
previous_active_contacts
integer
contacts_using_applications
integer
previous_contacts_using_applications
integer
contacts_activity
Array
Object
month
string
contacts_registered
integer
contacts_using_applications
integer
referrals
integer
applications_usage_breakdown
Object
mobile_applications
integer
portal_applications
integer
other_applications
integer
new_orders
integer
previous_new_orders
integer
completed_orders
integer
previous_completed_orders
integer
cancelled_orders
integer
previous_cancelled_orders
integer
average_order_completion
number
previous_average_order_completion
number
total_order_amount
number
previous_total_order_amount
number
most_popular_cancellation_reason
string
previous_most_popular_cancellation_reason
string
preferred_ordering_organisation
string
previous_preferred_ordering_organisation
string
orders_analysis
Array
Object
month
string
new_orders
integer
completed_orders
integer
cancelled_orders
integer
total_mrr
number
previous_total_mrr
number
new_mrr
number
previous_new_mrr
number
mrr_growth
number
previous_mrr_growth
number
trial_paid_mrr
number
previous_trial_paid_mrr
number
reactivation_mrr
number
previous_reactivation_mrr
number
expand_mrr
number
previous_expand_mrr
string
upgrade_mrr
number
previous_upgrade_mrr
number
sub_expansion_mrr
number
previous_sub_expansion_mrr
number
restart_mrr
number
previous_restart_mrr
number
churn_mrr
number
previous_churn_mrr
number
downgrade_mrr
number
previous_downgrade_mrr
number
cancel_mrr
number
previous_cancel_mrr
number
regret_mrr
number
previous_regret_mrr
number
contact_category_mrr
Array
Object
month
string
mrr
number
service_mrr
Array
Object
month
string
mrr
number
price_term_mrr
Array
Object
month
string
mrr
number
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
Example 1
GET https://sandbox.crm.com/backoffice/v1/organisations/babc8d45-50be-4259-b1bf-c85dee46642f/analytics HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "organisation_id": "64824e45-ad64-40c5-9ef4-81cb4d88d9b5",
            "organisation_name": "Subscription-Billing",
            "merchants": 1,
            "venues": 1,
            "trials": 1,
            "new_sign_ups": 1,
            "referred_by": 1,
            "reward_participants": 1,
            "reward_participants_per_tier": 1,
            "open_loop_reward_participants": 1,
            "close_loop_reward_participants": 1,
            "active_offers": 1,
            "most_awarded_offer": "",
            "total_awards": 1,
            "total_spends": 1,
            "given_awards": 1,
            "awards_spend": 1,
            "average_spend_per_visit": 1,
            "top_10_best_offers": [
                {
                    "offer_id": "034de72f-2006-4a80-ba49-13c4de5cc31b",
                    "offer_name": "Register to Sports channel and win 21 BDT",
                    "total_award_amount": 26.25
                }
            ],
            "total_purchase_amount": 1,
            "total_visits": 1,
            "most_visited_venues": "",
            "total_applications_usage": 1,
            "wallets_open_balance": 1,
            "wallets_commerse_balance": 1,
            "active_subscribers": 1,
            "inactive_subscribers": 1,
            "new_services": 1,
            "cancelled_services": 1,
            "regretted_services": 1,
            "upgraded_services": 1,
            "downgraded_services": true,
            "services_in_trial": 1,
            "deactivated_services": 1,
            "activated_services": 1,
            "paid_services_in_trial": 1,
            "cancelled_services_in_trial": 1,
            "new_subscribers": 1,
            "reactivated_subscriptions": 1,
            "removed_services_after_expiration": 1,
            "cancelled_services_in_contract": 1,
            "cancelled_services_not_in_contract": 1,
            "renewed_services": 1,
            "expired_services": 1,
            "subscriber_churn_rate": 1,
            "active_subscriptions_per_billing_period": 1,
            "active_services_per_month": 1
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Get Contact Analytics
GET /contacts/{id}/analytics

Get analytics for a contact

Path variables

id
string GUID required

The contact (identifier) of which analytics will be retrieved

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

Request parameters

metrics
string required

Filters based on which metrics will be retrieved (a list of metrics can be included in the request, comma separated - and at least one metric should be specified)

Enumeration:
USAGE
frequency
string required

Frequency denotes which metric will be applied for example get the daily or monthly metrics

Enumeration:
OVERALL
DAILY
WEEKLY
MONTHLY
QUARTERLY
HALF_YEARLY
YEARLY
Default:
OVERALL

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
contact
Object

Details about the contact

id
string GUID

The contact identifier

Example:
fa3360fa-a246-7d1e-1c41-eda3c093dcc9
name
string

The contact (full) name

Example:
John R. Doe
usage
Object

Details about contact’s usage

consumed_usage
number

The usage that is already consumed

Example:
20
remaining_usage
number

The remaining usage that can be consumed

Example:
80
usage_percentage
number

The percentage relation between consumed and allowed usage

Example:
20
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/contacts/babc8d45-50be-4259-b1bf-c85dee46642f/analytics?metrics=USAGE&frequency=OVERALL HTTP/1.1 

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

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "contact": {
        "id": "fa3360fa-a246-7d1e-1c41-eda3c093dcc9",
        "name": "John R. Doe"
    },
    "usage": {
        "consumed_usage": 20,
        "remaining_usage": 80,
        "usage_percentage": 20
    }
}
Attachment Files & Media

Storing and managing of attachment files and creative assets for many entities

Attachment Files
POST /upload/files
DELETE /files/{id}
GET /files/{id}
Upload File
POST /upload/files

Create an upload signature for files

Notes

Uploading files into CRM is made based on the following flow & API calls

  1. Upload File Signature
  2. Connect File to a “Module” Entity, such as Service Request Files

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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

multipart/form-data
application/json
Object
file
string required

File contents provided via multipart/form-data

Example:
file object

Responses

200 OK
Body
Object
id
string GUID

The file identifier that will be used for connecting the file with a module

Example:
7279fecf-b0a6-0aab-6bcd-37881fe8c10e
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/upload/files HTTP/1.1 

Content-Type: multipart/form-data
api_key: 4dc0809f-ed91-4b68-b912-5bd6064d901e

{
    "file": "file object"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "7279fecf-b0a6-0aab-6bcd-37881fe8c10e"
}
Delete File
DELETE /files/{id}

Delete an existing file

Path variables

id
string GUID required

The file (identifier) to be deleted

Example:
5f21680e-2ce4-7b4b-7221-42cc2a41bc05

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/files/5f21680e-2ce4-7b4b-7221-42cc2a41bc05 HTTP/1.1 

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

HTTP/1.1 200 OK 
Get File
GET /files/{id}

Retrieve a specific file

Path variables

id
string GUID required

The file (identifier) to be retrieved

Example:
5f21680e-2ce4-7b4b-7221-42cc2a41bc05

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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 file identifier

Example:
3ae9d64a-8a3b-f1e1-eed6-05b307f926fb
content_url
string

The URL that can be used to access the actual content of the file

Example:
crm.com/file
mime
string

The mime type of the uploaded file

Enumeration:
csv
doc
docx
xls
xlsx
pdf
log
txt
png
jpg
jpeg
svg
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/files/5f21680e-2ce4-7b4b-7221-42cc2a41bc05 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "3ae9d64a-8a3b-f1e1-eed6-05b307f926fb",
    "content_url": "crm.com/file",
    "mime": "txt"
}
Media
POST /upload/media
DELETE /media/{id}
POST /mediagroups
POST /upload/sign
Upload Media
POST /upload/media

Create an upload media

Notes

Uploading media into CRM is made based on the following flow & API calls

  1. Create new Media Group
  2. Create “Module” Media Group, such as Product Media Groups
  3. Upload Media
  4. Perform Cloudinary Upload (where CRM will send all signature details)
  5. Cloudinary service calls back CRM media group (using an internal callback)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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_external_id
string GUID required

The media group (identifier) to associate the media item with once uploaded (external id is based on the response of Create new Media Group)

Example:
e66896ba-db0a-41e2-8093-9aca2ae02f29
media_usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
APPLE_LOCKSCREEN_ICON
APPLE_LOGO_IMAGE
APPLE_STRIP_IMAGE
GOOGLE_LOGO_IMAGE
GOOGLE_STRIP_IMAGE
LANDING_PAGE_LOGO_IMAGE
LANDING_PAGE_HEADER_IMAGE
LANDING_PAGE_BACKGROUND_IMAGE
HERO
LOGO
BACKGROUND
AVATAR
PARTNER_LOGO

Partner logos configurable by SO, applicable for Business, Merchant, Venue

DELIVERY_IMAGE

Applicable only for Applications

PICKUP_IMAGE

Applicable only for Applications

DIRECT_SALE_IMAGE

Applicable only for Applications

WALLET_IMAGE

Applicable only for Applications

LANDING_PAGE_IMAGE

Applicable only for Applications

APP_LOGO

Applicable only for Applications

CAROUSEL
folder
string required

The related Cloudinary folder (within CRM the folder is set as the media related organisation-id)

Example:
offers/hero
tracking_key
string GUID required

The key to track upload (random UUID)

Example:
26c32dfe-f8ea-9cf3-a5af-5096be4a164b

Responses

200 OK
Body
Object
api_key
string

The API key that is used for uploading media

Example:
698271538719998
cloud_name
string

The name of the cloudinary instance

Example:
crm-com
context
string

The uploaded signature context

Example:
uploadStrategy=MEDIA_UPLOAD|organisationId=8062c26a-c05f-47ca-81e4-566b3c279320|trackingKey=e3ffca89-902f-4bd6-b503-c7dcf59dd725|mediaGroupExternalId=1d7b73d2-a324-4cee-a97a-492050b101ef|usageType=ATTACHMENT
signature
string

The uploaded signature value

Example:
8f38472a40d8466f11852bd9d3a19c23bfe12f91
timestamp
integer epoch

The date/time on which such upload was made

Example:
1616056261
upload_options
Array

Details about the upload options

Object
folder
string GUID

The folder in which media will be uploaded (and located)

Example:
35d7d0a4-9846-73a7-8707-26d2507edc51
media_group_external_id
string GUID

The media group external identifier

Example:
35d7d0a4-9846-73a7-8707-26d2507edc51
media_usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
APPLE_LOCKSCREEN_ICON
APPLE_LOGO_IMAGE
APPLE_STRIP_IMAGE
GOOGLE_LOGO_IMAGE
GOOGLE_STRIP_IMAGE
LANDING_PAGE_LOGO_IMAGE
LANDING_PAGE_HEADER_IMAGE
LANDING_PAGE_BACKGROUND_IMAGE
HERO
LOGO
BACKGROUND
AVATAR
PARTNER_LOGO

Partner logos configurable by SO, applicable for Business, Merchant, Venue

DELIVERY_IMAGE

Applicable only for Applications

PICKUP_IMAGE

Applicable only for Applications

DIRECT_SALE_IMAGE

Applicable only for Applications

WALLET_IMAGE

Applicable only for Applications

LANDING_PAGE_IMAGE

Applicable only for Applications

APP_LOGO

Applicable only for Applications

CAROUSEL
options
Object

Defines how media will be used

type
string

The option type (defaults to upload)

Example:
upload
needed_signature_options
Object

Details that will be used in the signature

folder
string GUID

The folder in which media will be uploaded (and located)

Example:
6ff2469c-e473-e370-c86e-16633434607a
type
string

Defines what action will be performed on the media (always is set to “upload”)

Example:
upload
tracking_key
string GUID

The key to track the current upload

Example:
6ff2469c-e473-e370-c86e-16633434607a
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/upload/media HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "media_group_external_id": "e66896ba-db0a-41e2-8093-9aca2ae02f29",
    "media_usage_type": "LOGO",
    "folder": "offers/hero",
    "tracking_key": "26c32dfe-f8ea-9cf3-a5af-5096be4a164b"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "api_key": "698271538719998",
    "cloud_name": "crm-com",
    "context": "uploadStrategy=MEDIA_UPLOAD|organisationId=8062c26a-c05f-47ca-81e4-566b3c279320|trackingKey=e3ffca89-902f-4bd6-b503-c7dcf59dd725|mediaGroupExternalId=1d7b73d2-a324-4cee-a97a-492050b101ef|usageType=ATTACHMENT",
    "signature": "8f38472a40d8466f11852bd9d3a19c23bfe12f91",
    "timestamp": 1616056261,
    "upload_options": [
        {
            "folder": "35d7d0a4-9846-73a7-8707-26d2507edc51",
            "media_group_external_id": "35d7d0a4-9846-73a7-8707-26d2507edc51",
            "media_usage_type": "MARKETING",
            "options": {
                "type": "upload"
            },
            "needed_signature_options": {
                "folder": "6ff2469c-e473-e370-c86e-16633434607a",
                "type": "upload"
            },
            "tracking_key": "6ff2469c-e473-e370-c86e-16633434607a"
        }
    ]
}
Delete Media
DELETE /media/{id}

Delete an existing media

Path variables

id
string GUID required

The media (identifier) to be deleted

Example:
5f21680e-2ce4-7b4b-7221-42cc2a41bc05

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/media/5f21680e-2ce4-7b4b-7221-42cc2a41bc05 HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
Create Media Group
POST /mediagroups

Create a new group for upcoming uploaded media

Notes

MEDIA UPLOAD

Uploading media for an entity requires the execution of the following APIs

  1. Create new Media Group
  2. Create “Module” Media Group, such as Product Media Groups
  3. Upload Signature
  4. Perform Cloudinary Upload (where CRM will send all signature details)
  5. Cloudinary service calls back CRM media group (using an internal callback)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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 media group name

Example:
Marketing
description
string nullable

The media group description

Example:
Marketing Media Group for Creatives
externalId
string GUID required

The media group external identifier

Example:
747e5a96-24a2-7aca-7b28-da5e996ad54c

Responses

200 OK
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/media_group HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "name": "Marketing",
    "description": "Marketing Media Group for Creatives",
    "externalId": "747e5a96-24a2-7aca-7b28-da5e996ad54c"
}

HTTP/1.1 200 OK 
Upload Signature
POST /upload/sign

Create an upload signature

Notes

Uploading media into CRM is made based on the following flow & API calls

  1. Create new Media Group
  2. Create “Module” Media Group, such as Product Media Groups
  3. Upload Signature
  4. Perform Cloudinary Upload (where CRM will send all signature details)
  5. Cloudinary service calls back CRM media group (using an internal callback)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
mediaGroupExternalId
string GUID required

The media group (identifier) to associate the media item with once uploaded (external id is based on the response of Create new Media Group)

Example:
e66896ba-db0a-41e2-8093-9aca2ae02f29
mediaUsageType
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
APPLE_LOCKSCREEN_ICON
APPLE_LOGO_IMAGE
APPLE_STRIP_IMAGE
GOOGLE_LOGO_IMAGE
GOOGLE_STRIP_IMAGE
LANDING_PAGE_LOGO_IMAGE
LANDING_PAGE_HEADER_IMAGE
LANDING_PAGE_BACKGROUND_IMAGE
HERO
LOGO
BACKGROUND
AVATAR
PARTNER_LOGO

Partner logos configurable by SO, applicable for Business, Merchant, Venue

DELIVERY_IMAGE

Applicable only for Applications

PICKUP_IMAGE

Applicable only for Applications

DIRECT_SALE_IMAGE

Applicable only for Applications

WALLET_IMAGE

Applicable only for Applications

LANDING_PAGE_IMAGE

Applicable only for Applications

APP_LOGO

Applicable only for Applications

CAROUSEL
folder
string required

The related Cloudinary folder (within CRM the folder is set as the media related organisation-id)

Example:
offers/hero
trackingKey
string GUID required

The key to track upload (random UUID)

Example:
26c32dfe-f8ea-9cf3-a5af-5096be4a164b

Responses

200 OK
Body
Object
apiKey
string

The API key that is used for uploading media

Example:
698271538719998
cloudName
string

The name of the cloudinary instance

Example:
crm-com
context
string

The uploaded signature context

Example:
uploadStrategy=MEDIA_UPLOAD|organisationId=8062c26a-c05f-47ca-81e4-566b3c279320|trackingKey=e3ffca89-902f-4bd6-b503-c7dcf59dd725|mediaGroupExternalId=1d7b73d2-a324-4cee-a97a-492050b101ef|usageType=ATTACHMENT
signature
string

The uploaded signature value

Example:
8f38472a40d8466f11852bd9d3a19c23bfe12f91
timestamp
integer epoch

The date/time on which such upload was made

Example:
1616056261
uploadOptions
Array

Details about the upload options

Object
folder
string GUID

The folder in which media will be uploaded (and located)

Example:
35d7d0a4-9846-73a7-8707-26d2507edc51
mediaGroupExternalId
string GUID

The media group external identifier

Example:
35d7d0a4-9846-73a7-8707-26d2507edc51
mediaUsageType
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
APPLE_LOCKSCREEN_ICON
APPLE_LOGO_IMAGE
APPLE_STRIP_IMAGE
GOOGLE_LOGO_IMAGE
GOOGLE_STRIP_IMAGE
LANDING_PAGE_LOGO_IMAGE
LANDING_PAGE_HEADER_IMAGE
LANDING_PAGE_BACKGROUND_IMAGE
HERO
LOGO
BACKGROUND
AVATAR
PARTNER_LOGO

Partner logos configurable by SO, applicable for Business, Merchant, Venue

DELIVERY_IMAGE

Applicable only for Applications

PICKUP_IMAGE

Applicable only for Applications

DIRECT_SALE_IMAGE

Applicable only for Applications

WALLET_IMAGE

Applicable only for Applications

LANDING_PAGE_IMAGE

Applicable only for Applications

APP_LOGO

Applicable only for Applications

CAROUSEL
options
Object
type
string
Example:
upload
optionsNeededInSignature
Object
folder
string GUID
Example:
6ff2469c-e473-e370-c86e-16633434607a
type
string
Example:
upload
trackingKey
string GUID

The key to track the current upload

Example:
6ff2469c-e473-e370-c86e-16633434607a
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/upload/sign HTTP/1.1 

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

{
    "mediaGroupExternalId": "e66896ba-db0a-41e2-8093-9aca2ae02f29",
    "mediaUsageType": "AVATAR",
    "folder": "a01ad9a4-5c9f-e676-fbcb-b0d03c51f022",
    "trackingKey": "a01ad9a4-5c9f-e676-fbcb-b0d03c51f044"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "apiKey": "698271538719998",
    "cloudName": "crm-com",
    "context": "uploadStrategy=MEDIA_UPLOAD|organisationId=8062c26a-c05f-47ca-81e4-566b3c279320|trackingKey=e3ffca89-902f-4bd6-b503-c7dcf59dd725|mediaGroupExternalId=1d7b73d2-a324-4cee-a97a-492050b101ef|usageType=ATTACHMENT",
    "signature": "8f38472a40d8466f11852bd9d3a19c23bfe12f91",
    "timestamp": 1616056261,
    "uploadOptions": [
        {
            "folder": "35d7d0a4-9846-73a7-8707-26d2507edc51",
            "mediaGroupExternalId": "35d7d0a4-9846-73a7-8707-26d2507edc51",
            "mediaUsageType": "ATTACHMENT",
            "options": {
                "type": "upload"
            },
            "optionsNeededInSignature": {
                "folder": "6ff2469c-e473-e370-c86e-16633434607a",
                "type": "upload"
            },
            "trackingKey": "6ff2469c-e473-e370-c86e-16633434607a"
        }
    ]
}
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

The automation state

Enumeration:
ACTIVE
INACTIVE
Default:
INACTIVE
entity
string required

Defines the entity that its events will trigger this automation

Enumeration:
APPROVALS
CONTACTS
CUSTOMER_EVENTS
FINANCIAL_TRANSACTIONS
ORDERS
ORGANISATIONS
PASSES
PRODUCTS
REWARDS
REWARD_OFFERS
REWARD_SCHEMES
SERVICE_REQUEST
SUBSCRIPTIONS
USERS
event
string required

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

Enumeration:
APPROVE_ALL_REQUESTS

Approvals

REJECT_REQUESTS

Approvals

REFER_A_FRIEND

Contacts

REGISTER_CONTACT

Contacts

UPDATE_CONTACT

Contacts

REQUEST_ONE_TIME_PASSWORD

ContactsContacts

REQUIRE_EMAIL_VERIFICATION

Contacts

REQUEST_PASSWORD_RESET

Contacts & Users

NEW_ORDER

Orders

ORDER_INITIATION

Orders

ORDER_COMPLETION

Orders

ORDER_CANCELLATION

Orders

GENERATE_PRINTED_PASSES

Passes

GENERATE_ELECTRONIC_PASSES

Passes

AWARD_CUSTOMER

Rewards

SPEND_AWARD

Rewards

ACTIVATE_REWARD_OFFER

Reward Offers

REQ_TO_JOIN_CLOSE_LOOP_SCHEME

Reward Schemes

NEW_SERVICE_REQUEST

Service Requests

REGISTER_ORGANISATION

Organisations

VALIDATE_REGISTER_ORGANISATION

Organisations

INVITE_USER

Users

INVITE_EXISTING_USER

Users

PRODUCT_SYNCHRONISATION

Products

NEW_REFUND

Financial Transactions

NEW_INVOICE

Financial Transactions

NEW_CREDIT_NOTE

Financial Transactions

NEW_PAYMENT

Financial Transactions

NEW_TOP_UP

Financial Transactions

NEW_PURCHASE

Customer Events

CANCEL_PURCHASE

Customer Events

AD_HOC_RETURN_PURCHASE

Customer Events

NEW_SUBSCRIPTION

Subscriptions

ADD_SUB_SERV

Subscriptions

CANCEL_SUB_SERV

Subscriptions

REGRET_SUB_SERV

Subscriptions

UPGRADE_SUB_SERV

Subscriptions

DOWNGRADE_SUB_SERV

Subscriptions

ACTIVATE_SUB_SERV

Subscriptions

DEACTIVATE_SUB_SERV

Subscriptions

PAUSE_SUB_SERV

Subscriptions

RESUME_SUB_SERV

Subscriptions

OPT_SUB_SERV_IN_AUTO_RENEW

Subscriptions

OPT_SUB_SERV_OUT_AUTO_RENEW

Subscriptions

EXTEND_SUB_SERV_TERM_PERIOD

Subscriptions

EXTEND_SUB_SERV_CONT_PERIOD

Subscriptions

RENEW_SUB_SERV_TERM_PERIOD

Subscriptions

RENEW_SUB_SERV_CONT_PERIOD

Subscriptions

ADD_ONE_TIME_SERVICE

Subscriptions

PAYMENT_FAILURE

Financial Transactions

Responses

201 Created

The requested succeded

Body
Object
id
string GUID

The automation identifier

Example:
890108f6-0237-d984-a367-2f9502dc2acc
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Content-Type: application/json
authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

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

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "id": "890108f6-0237-d984-a367-2f9502dc2acc"
}
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

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

Content-Type: application/json

{
    "name": "Approve Offers",
    "description": "Require 4 approvals for an offer",
    "life_cycle_state": "ACTIVE"
}
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 
List 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_DATENAMESCHEDULED_DATE
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 state

Enumeration:
ACTIVE
INACTIVE
entity
string

Defines the entity that its events will trigger this automation

Enumeration:
APPROVALS
CONTACTS
CUSTOMER_EVENTS
FINANCIAL_TRANSACTIONS
ORDERS
ORGANISATIONS
PASSES
PRODUCTS
REWARDS
REWARD_OFFERS
REWARD_SCHEMES
SERVICE_REQUEST
SUBSCRIPTIONS
USERS
event
string

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

Enumeration:
APPROVE_ALL_REQUESTS

Approvals

REJECT_REQUESTS

Approvals

REFER_A_FRIEND

Contacts

REGISTER_CONTACT

Contacts

UPDATE_CONTACT

Contacts

REQUEST_ONE_TIME_PASSWORD

ContactsContacts

REQUIRE_EMAIL_VERIFICATION

Contacts

REQUEST_PASSWORD_RESET

Contacts & Users

NEW_ORDER

Orders

ORDER_INITIATION

Orders

ORDER_COMPLETION

Orders

ORDER_CANCELLATION

Orders

GENERATE_PRINTED_PASSES

Passes

GENERATE_ELECTRONIC_PASSES

Passes

AWARD_CUSTOMER

Rewards

SPEND_AWARD

Rewards

ACTIVATE_REWARD_OFFER

Reward Offers

REQ_TO_JOIN_CLOSE_LOOP_SCHEME

Reward Schemes

NEW_SERVICE_REQUEST

Service Requests

REGISTER_ORGANISATION

Organisations

VALIDATE_REGISTER_ORGANISATION

Organisations

INVITE_USER

Users

INVITE_EXISTING_USER

Users

PRODUCT_SYNCHRONISATION

Products

NEW_REFUND

Financial Transactions

NEW_INVOICE

Financial Transactions

NEW_CREDIT_NOTE

Financial Transactions

NEW_PAYMENT

Financial Transactions

NEW_TOP_UP

Financial Transactions

NEW_PURCHASE

Customer Events

CANCEL_PURCHASE

Customer Events

AD_HOC_RETURN_PURCHASE

Customer Events

NEW_SUBSCRIPTION

Subscriptions

ADD_SUB_SERV

Subscriptions

CANCEL_SUB_SERV

Subscriptions

REGRET_SUB_SERV

Subscriptions

UPGRADE_SUB_SERV

Subscriptions

DOWNGRADE_SUB_SERV

Subscriptions

ACTIVATE_SUB_SERV

Subscriptions

DEACTIVATE_SUB_SERV

Subscriptions

PAUSE_SUB_SERV

Subscriptions

RESUME_SUB_SERV

Subscriptions

OPT_SUB_SERV_IN_AUTO_RENEW

Subscriptions

OPT_SUB_SERV_OUT_AUTO_RENEW

Subscriptions

EXTEND_SUB_SERV_TERM_PERIOD

Subscriptions

EXTEND_SUB_SERV_CONT_PERIOD

Subscriptions

RENEW_SUB_SERV_TERM_PERIOD

Subscriptions

RENEW_SUB_SERV_CONT_PERIOD

Subscriptions

ADD_ONE_TIME_SERVICE

Subscriptions

PAYMENT_FAILURE

Financial Transactions

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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Defines the entity that its events will trigger this automation

Enumeration:
APPROVALS
CONTACTS
CUSTOMER_EVENTS
FINANCIAL_TRANSACTIONS
ORDERS
ORGANISATIONS
PASSES
PRODUCTS
REWARDS
REWARD_OFFERS
REWARD_SCHEMES
SERVICE_REQUEST
SUBSCRIPTIONS
USERS
event
string

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

Enumeration:
APPROVE_ALL_REQUESTS

Approvals

REJECT_REQUESTS

Approvals

REFER_A_FRIEND

Contacts

REGISTER_CONTACT

Contacts

UPDATE_CONTACT

Contacts

REQUEST_ONE_TIME_PASSWORD

ContactsContacts

REQUIRE_EMAIL_VERIFICATION

Contacts

REQUEST_PASSWORD_RESET

Contacts & Users

NEW_ORDER

Orders

ORDER_INITIATION

Orders

ORDER_COMPLETION

Orders

ORDER_CANCELLATION

Orders

GENERATE_PRINTED_PASSES

Passes

GENERATE_ELECTRONIC_PASSES

Passes

AWARD_CUSTOMER

Rewards

SPEND_AWARD

Rewards

ACTIVATE_REWARD_OFFER

Reward Offers

REQ_TO_JOIN_CLOSE_LOOP_SCHEME

Reward Schemes

NEW_SERVICE_REQUEST

Service Requests

REGISTER_ORGANISATION

Organisations

VALIDATE_REGISTER_ORGANISATION

Organisations

INVITE_USER

Users

INVITE_EXISTING_USER

Users

PRODUCT_SYNCHRONISATION

Products

NEW_REFUND

Financial Transactions

NEW_INVOICE

Financial Transactions

NEW_CREDIT_NOTE

Financial Transactions

NEW_PAYMENT

Financial Transactions

NEW_TOP_UP

Financial Transactions

NEW_PURCHASE

Customer Events

CANCEL_PURCHASE

Customer Events

AD_HOC_RETURN_PURCHASE

Customer Events

NEW_SUBSCRIPTION

Subscriptions

ADD_SUB_SERV

Subscriptions

CANCEL_SUB_SERV

Subscriptions

REGRET_SUB_SERV

Subscriptions

UPGRADE_SUB_SERV

Subscriptions

DOWNGRADE_SUB_SERV

Subscriptions

ACTIVATE_SUB_SERV

Subscriptions

DEACTIVATE_SUB_SERV

Subscriptions

PAUSE_SUB_SERV

Subscriptions

RESUME_SUB_SERV

Subscriptions

OPT_SUB_SERV_IN_AUTO_RENEW

Subscriptions

OPT_SUB_SERV_OUT_AUTO_RENEW

Subscriptions

EXTEND_SUB_SERV_TERM_PERIOD

Subscriptions

EXTEND_SUB_SERV_CONT_PERIOD

Subscriptions

RENEW_SUB_SERV_TERM_PERIOD

Subscriptions

RENEW_SUB_SERV_CONT_PERIOD

Subscriptions

ADD_ONE_TIME_SERVICE

Subscriptions

PAYMENT_FAILURE

Financial Transactions

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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
order
integer required

Defines the sequence’s action

Example:
1
path
string

Defines the sequence path

Example:
1
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

CUSTOMER_EVENTS
adaptor_action
string required

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

Enumeration:
USER_APPROVAL

Request User Appoval (Approval Requests adaptor)

CONTACT_APPROVAL

Request Customer 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_TEAM

Assign To Specific Team (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_TEAM

Assign To User Of A Specific Team (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)

POST_PURCHASE
CANCEL_PURCHASE
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
CUSTOMER_EVENT_CLASSIFICATION
WITHIN_ORGANISATIONS
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

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
filters
Array required

Details about the applicable filtered attributes

Object
id
string GUID nullable

The filter identiifer

Example:
edd5ac0e-05e3-e543-d38e-c6df6eed8d46
custom_field_key
string nullable

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

Example:
contact_salary
attribute
string required

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

Enumeration:
SUPPLY_METHOD
PASS_CLASSIFICATION
REWARD_OFFER_GOAL
REWARD_OFFER_TYPE
REWARD_OFFER_SPEND_METHOD("
REWARD_OFFER_AWARD_AMOUNT("
REWARD_OFFER_AWARD_PERCENTAGE
ENTITY_CUSTOM_FIELD
CONACT_CUSTOM_FIELD
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

CUSTOMER_EVENTS
adaptor_action
string

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

Enumeration:
USER_APPROVAL

Request User Appoval (Approval Requests adaptor)

CONTACT_APPROVAL

Request Customer 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_TEAM

Assign To Specific Team (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_TEAM

Assign To User Of A Specific Team (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)

POST_PURCHASE
CANCEL_PURCHASE
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
CUSTOMER_EVENT_CLASSIFICATION
WITHIN_ORGANISATIONS
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
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_CLASSIFICATION
REWARD_OFFER_GOAL
REWARD_OFFER_TYPE
REWARD_OFFER_SPEND_METHOD("
REWARD_OFFER_AWARD_AMOUNT("
REWARD_OFFER_AWARD_PERCENTAGE
ENTITY_CUSTOM_FIELD
CONACT_CUSTOM_FIELD
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)

custom_field_key
string

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

Example:
contact_rate
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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": [
                                ""
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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"
}
List 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_DATENAMESCHEDULED_DATE
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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"
        }
    ]
}
Approvals
GET /approval_requests
POST /approval_requests/{id}/actions
GET /approval_requests/my_pending_approvals
GET /approval_requests/my_requests
List Approval Requests
GET /approval_requests

Search for approval requests

Request parameters

search_value
string optional

The value of the search (case insensitive) across entity and entity reference

Example:
Bravo Brewery
state
string optional

Filter based on approval request state

Enumeration:
PENDING
APPROVED
REJECTED
automations
array of string optional

Filter based on automations that triggered such request (applicable only when org_requests is set to NETWORK_REQUESTS)

Collection format: csv
Unique items: YES
user_id
string GUID optional

Filter based on a single user that is authorised to approve/reject such request

Example:
cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0
contact_id
string GUID optional

Filter based on a single contact that is authorised to approve/reject such request

Example:
58c4a0c4-f60b-9930-c8da-89e9949a7850
authorised_type
string optional

Filter based on the condition type that are authorised to approve/reject such requests

Enumeration:
TEAM
USER
CONTACT
requested_by
string GUID optional

Filter based on the entity (contact/user) that requested such approval

Example:
b5582bc8-41ec-9c97-7446-2944e60b3ff8
entity_type
string optional

Filter based on the entity type that such requests are applied to

Enumeration:
ORGANISATION
REWARD_OFFER
ORDER
SERVICE_REQUEST
entity
string GUID optional

Filter based on entity record that such request is applied to

Example:
eebefada-399d-e892-0a20-d7963e9db19a
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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 approval request identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
state
string

The approval request state

Enumeration:
PENDING
APPROVED
REJECTED
entity
Object

Details about the entity that such approval request was applied to

id
string GUID

The entity identifier

Example:
cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0
type
string

The approval entity type

Enumeration:
ORGANISATION
REWARD_OFFER
ORDER
SERVICE_REQUEST
reference
string

The entity reference name/code/number

Example:
CO1234
automations
Object

Details about the automation

id
string GUID

The automation identifer

Example:
cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0
name
string

The automation name

Example:
Request approval on newly activated offers
responses
Array

Details about the approval request’s response

Object
message
string

The authorised user/contact response message on this request

Example:
This is a response message
state
string

The resposne state

Enumeration:
APPROVED
REJECTED
authorised_by
Object

Details about the person (user/contact) who approved/rejected such request

id
string GUID

The authorised person identifier

Example:
23490b97-dd93-3eb4-c3bc-e6828e12e2c1
name
string

The authorised person full name

Example:
John Doe
type
string

The authorised type of person

Enumeration:
CONTACT
USER
authorised_on
integer GUID

The date/time when such request was approvded/rejected

Example:
1611930210
authorised_conditions
Array

Details about the authorised by type who can approve/reject such requests

Object
id
string GUID

The authorised condition identifier

Example:
18eb40c8-ba71-fa51-9de7-5b7017962ccf
name
string

The authorised condition name (e.g. contact full name, user role name)

Example:
Support
type
string

The authorised condition type

Enumeration:
TEAM
USER
CONTACT
created_date
integer

The date that the approval was requested

Example:
1642508197
pending_requests
integer

Defines how many should approve/reject the approval

Example:
2
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/approval_requests HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "state": "APPROVED",
            "description": "The award of the offer has been changed to 100% from what it was 50%",
            "response": "Approved",
            "authorised_by": {
                "id": "23490b97-dd93-3eb4-c3bc-e6828e12e2c1",
                "name": "John Doe",
                "type": "USER"
            },
            "authorised_on": 1611930210,
            "automations": {
                "id": "cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0",
                "name": "Request approval on newly activated offers"
            },
            "entity": {
                "id": "cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0",
                "type": "REWARD_OFFER",
                "reference": "5% discount"
            },
            "authorised_conditions": [
                {
                    "id": "18eb40c8-ba71-fa51-9de7-5b7017962ccf",
                    "name": "John Doe",
                    "type": "USER"
                }
            ]
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Perform Approval Request Actions
POST /approval_requests/{id}/actions

Change the life cycle state of a single approval request

Path variables

id
string GUID required

The approval request 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 approval request state that will be changed to

Enumeration:
APPROVED
REJECTED
response
string nullable

The reason why the approval request was approved or rejected

Example:
Award cannot be 100%

Responses

200 200

Successful Request

Body
Object
id
string GUID

The approval request identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://devapi.crm.com/backoffice/v1/approval_requests/CAD1E31269B76D7A65ACCE45B2E68DFD/life_cycle_state HTTP/1.1 

Content-Type: application/json

{
    "life_cycle_state": "REJECTED"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
List Pending Approval Requests - My Approvals
GET /approval_requests/my_pending_approvals

Retrieve the pending approvals that the signed-in user is authorised to approve/reject, but not yet process them

Request parameters

search_value
string optional

The value of the search (case insensitive) across entity and entity reference

Example:
Bravo Brewery
entity_type
string optional

Filter based on the entity type that such requests are applied to

Enumeration:
ORGANISATION
REWARD_OFFER
ORDER
SERVICE_REQUEST
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The approval request identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
entity
Object

Details about the entity that such approval request was applied to

id
string GUID

The entity identifier

Example:
cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0
type
string

The approval entity type

Enumeration:
ORGANISATION
REWARD_OFFER
ORDER
SERVICE_REQUEST
reference
string

The entity reference name/code/number

Example:
CO1234
automations
Object

Details about the automation

id
string GUID

The automation identifer

Example:
cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0
name
string

The automation name

Example:
Request approval on newly activated offers
created_date
integer

The date that the approval was requested

Example:
1642508197
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/approval_requests/my_pending_approvals HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "entity": {
                "id": "cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0",
                "type": "SERVICE_REQUEST",
                "reference": "CO1234"
            },
            "automations": {
                "id": "cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0",
                "name": "Request approval on newly activated offers"
            },
            "created_date": 1642508197
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
List Approval Requests - My Requested Approvals
GET /approval_requests/my_requests

Retrieve the approvals requested by the signed-in user

Request parameters

search_value
string optional

The value of the search (case insensitive) across entity and entity reference

Example:
Bravo Brewery
state
string optional

Filter based on approval request state

Enumeration:
PENDING
APPROVED
REJECTED
entity_type
string optional

Filter based on the entity type that such requests are applied to

Enumeration:
ORGANISATION
REWARD_OFFER
ORDER
SERVICE_REQUEST
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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

Responses

200 200

The request has succeeded

Body
Object
content
Array
Object
id
string GUID

The approval request identifier

Example:
CEEE83D6E0804A30966F684B0269AD91
state
string

The approval request state

Enumeration:
PENDING
APPROVED
REJECTED
entity
Object

Details about the entity that such approval request was applied to

id
string GUID

The entity identifier

Example:
cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0
type
string

The approval entity type

Enumeration:
ORGANISATION
REWARD_OFFER
ORDER
SERVICE_REQUEST
reference
string

The entity reference name/code/number

Example:
CO1234
automations
Object

Details about the automation

id
string GUID

The automation identifer

Example:
cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0
name
string

The automation name

Example:
Request approval on newly activated offers
responses
Array

Details about the approval request’s response

Object
message
string

The authorised user/contact response message on this request

Example:
This is a response message
state
string

The resposne state

Enumeration:
APPROVED
REJECTED
authorised_by
Object

Details about the person (user/contact) who approved/rejected such request

id
string GUID

The authorised person identifier

Example:
23490b97-dd93-3eb4-c3bc-e6828e12e2c1
name
string

The authorised person full name

Example:
John Doe
type
string

The authorised type of person

Enumeration:
CONTACT
USER
authorised_on
integer GUID

The date/time when such request was approvded/rejected

Example:
1611930210
created_date
integer

The date that the approval was requested

Example:
1642508197
pending_requests
integer

Defines how many should approve/reject the approval

Example:
2
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/approval_requests/my_requests HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CEEE83D6E0804A30966F684B0269AD91",
            "state": "APPROVED",
            "entity": {
                "id": "cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0",
                "type": "ORDER",
                "reference": "CO1234"
            },
            "automations": {
                "id": "cf010c72-a2cb-48f8-a9fa-1ed99c8d6ec0",
                "name": "Request approval on newly activated offers"
            },
            "responses": [
                {
                    "message": "This is a response message",
                    "state": "APPROVED",
                    "authorised_by": {
                        "id": "23490b97-dd93-3eb4-c3bc-e6828e12e2c1",
                        "name": "John Doe",
                        "type": "USER"
                    },
                    "authorised_on": 1611930210
                }
            ],
            "created_date": 1642508197,
            "pending_requests": 2
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Webhooks
POST /webhooks
PUT /webhooks/{id}
DELETE /webhooks/{id}
GET /webhooks
GET /webhooks/{id}
GET /webhook_requests
POST /resend_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
retry_count
integer nullable

Number of times to retry

Example:
1
retry_after
integer nullable

Wait for period before retry (in seconds)

Example:
60

Responses

200 200

OK

Body
Object
id
string GUID

The webhook identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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
retry_count
integer nullable

Number of Times to Retry

Example:
1
retry_after
string nullable

Wait for period before retry (in seconds)

Example:
60

Responses

200 200

OK

Body
Object
id
string GUID

The webhook identifier

Example:
API1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 
List 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
automation_entity
string optional

Filter based on related automation entity

Example:
ORDERS
automation_event
string optional

Filter based on related automation event

Example:
NEW_PURCHASE
has_failed_requests
boolean optional

Filter based on whether webhook has at least one failed request

Example:
true
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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 will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
Default:
NO_AUTH
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
retry_count
integer

Number of times to retry

Example:
1
retry_after
integer

Wait for period before retry

Example:
60
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 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
Default:
NO_AUTH
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
retry_count
integer

Number of times to retry

Example:
1
retry_after
integer

Wait for period before retry (in seconds)

Example:
60
400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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"
        }
    ]
}
List 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_DATENAMESCHEDULED_DATE
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 will be protected

Enumeration:
NO_AUTH
USERNAME_PASSWORD
API_KEY
Default:
NO_AUTH
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 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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
    }
}
Replay Webhook
POST /resend_webhook_requests

Resend a number of failed webhook requests

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
webhooks
Array

List all failed webhook requests that should be resend

string GUID
Example:
a87901a4-6885-af33-5de8-8748b3f615ca

Responses

200 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Bulk Data Operations
Import Data
GET /imports/preview
POST /imports
GET /imports
POST /imports/{id}/actions
Import Preview
GET /imports/preview

Preview the content of a file that will be imported

Notes

IMPORT DATA FLOW

Importing Data should be made based on the following API order

  1. Upload File Signature
  2. Optionally, preview the content of the uploaded file via Import Preview
  3. Submit a request to import the content of the uploaded file, including a couple behavorial options via Import Data

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
file_id
string GUID required

The file (identiifer) that will be previewed

Example:
f56f9cd8-9cb2-bbe6-d4d9-ae14bb1f0399
preview_rows
integer nullable

Defines the number of rows that will be previewed (header row is excluded)

Default:
10
Example:
5
exclude_header
boolean required

Defines whether the header row values will be excluded from import or not

Example:
false
data_mapping
Array required

Defines the mapping between the imported file attribures and system attributes

Object
import_key
string required

The imported file attribute that will be mapped to the system’s one

Example:
contact first name
attribute_key
string required

The system attribute that will be mapped to the imported file’s one

Example:
first_name
is_custom
boolean required

Defines whether the system attribute key is a custom one or not

Example:
false

Responses

200 OK
Body
Object
content
Array

Details about the file preview per row

Object
header
string

The header attribute of the specific row

Example:
Organisation Name
values
Array

The previewed values of the specific row

Example:
[
    "CRM", "CRMI"
]
string
Example:
CRM
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/imports/preview HTTP/1.1 

Content-Type: application/json
api_key: 4dc0809f-ed91-4b68-b912-5bd6064d901e

{
    "file_id": "f56f9cd8-9cb2-bbe6-d4d9-ae14bb1f0399",
    "preview_rows": 2
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "header": "Organisation Name",
            "values": [
                "CRM", "CRMI"
            ]
        },
        {
            "header": "Organisation Type",
            "values": [
                "BUSINESS", "VENUE"
            ]
        }
    ]
}
Import Data
POST /imports

Submit a request for importing data along with processing options

Notes

IMPORT DATA FLOW

Importing Data should be made based on the following API order

  1. Upload File Signature
  2. Optionally, preview the content of the uploaded file via Import Preview
  3. Submit a request to import the content of the uploaded file, including a couple behavorial options via Import Data

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
file_id
string GUID required

The file (identifier) that will be used for importing data

Example:
1e347d4d-ab96-6957-fdb6-35e72b3d9185
type
string required

The type of the entity that data will be imported

Enumeration:
CONTACTS
DEVICES
PRODUCTS
exclude_header
boolean nullable

Defines whether the header row values will be excluded from import or not

Default:
true
Example:
true
update_data
boolean nullable

Defines whether existing records will be updated or not

Default:
false
Example:
false
auto_generate_config
boolean nullable

Defines whether missing attributes will be created automatically

Default:
false
Example:
true
data_mapping
Array required

Defines the mapping between the imported file attribures and system attributes

Object
import_key
string required

The imported file attribute that will be mapped to the system’s one

Example:
contact first name
attribute_key
string required

The system attribute that will be mapped to the imported file’s one

Example:
first_name
is_custom
boolean required

Defines whether the system attribute key is a custom one or not

Example:
false

Responses

200 OK
Body
Object
id
string GUID

The import definition identifier

Example:
1e347d4d-ab96-6957-fdb6-35e72b3d9185
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/imports HTTP/1.1 

Content-Type: application/json

{
    "file_id": "1e347d4d-ab96-6957-fdb6-35e72b3d9185",
    "type": "CONTACTS",
    "exclude_header": true,
    "update_data": "false",
    "auto_generate_config": true,
    "data_mapping": [
        {
            "import_key": "contact first name",
            "attribute_key": "first_name",
            "is_custom": "false"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "1e347d4d-ab96-6957-fdb6-35e72b3d9185"
}
List Imports
GET /imports

Search for import data definitions

Request parameters

status
string optional

Filter imports based on status

Enumeration:
PENDING
IN_PROGRESS
COMPLETED
FAILED
type
string optional

Filter imports based on imported record type

Enumeration:
CONTACTS
DEVICES
PRODUCTS
imported_on
string optional

Filter based on the imported date, which may fall within a given date range. The value can be a string with a date in epoch format. Each option must also include an operator. Use up to two options based on the required search (e.g. imported_on[gte]=1618395497&imported_on[lt]=1618395497).

Enumeration:
imported_on[gt]

Returns results where the imported date is greater than this value

imported_on[gte]

Returns results where the imported date is greater than or equal to this value

imported_on[lt]

Returns results where the imported date is less than this value

imported_on[lte]

Returns results where the imported date is less then or equal to this value

sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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 GUID

The import definition identifier

Example:
507c17d2-3976-d1e5-ccf5-cf3c1334acc7
status
string

The export definition status

Enumeration:
PENDING
IN_PROGRESS
COMPLETED
FAILED
type
string

The type of the entity that data will be imported

Enumeration:
CONTACTS
DEVICES
PRODUCTS
imported_on
integer epoch

The date that such import was made

Example:
1623677135
options
Object

Details how the import file content will be processed

exclude_header
boolean

Defines whether the header row values will be excluded from import or not

Example:
true
update_data
boolean

Defines whether existing records will be updated or not

Example:
true
auto_generate_config
boolean

Defines whether missing attributes will be created automatically

Example:
false
file
Object

Details about the uploaded file that was used for import

id
string GUID

The file identifier

Example:
507c17d2-3976-d1e5-ccf5-cf3c1334acc7
name
string

The file name

Example:
contacts.csv
error_file
Object

Details about the file that contain all failed imported data

id
string GUID

The file identifier

Example:
507c17d2-3976-d1e5-ccf5-cf3c1334acc7
name
string

The file name

Example:
contacts_errors.csv
processed_results
Object

Details about the processed data

new
integer

The records that were created successfully

Example:
19
updated
integer

The records that were updated successfully

Example:
4
unchanged
integer

The records that were not changed

Example:
4
errors
integer

The records that were failed to be processed

Example:
1
total
integer

The total number of records that were imported

Example:
28
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 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/imports HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "507c17d2-3976-d1e5-ccf5-cf3c1334acc7",
            "status": "COMPLETED",
            "type": "PRODUCTS",
            "imported_on": 1623677135,
            "options": {
                "exclude_header": true,
                "update_data": true,
                "auto_generate_config": "false"
            },
            "file": {
                "id": "507c17d2-3976-d1e5-ccf5-cf3c1334acc7",
                "name": "contacts.csv"
            },
            "error_file": {
                "id": "507c17d2-3976-d1e5-ccf5-cf3c1334acc7",
                "name": "contacts_errors.csv"
            },
            "processed_results": {
                "new": 19,
                "updated": 4,
                "unchanged": 4,
                "errors": 1,
                "total": 28
            }
        }
    ],
    "paging": {
        "page": 2,
        "size": 20,
        "total": 5124
    }
}
Import Actions
POST /imports/{id}/actions

Apply an action on an existing import definition

Path variables

id
string GUID required

The import definition (identifier) on which an action will be performed

Example:
0e2e1e37-b118-7bbc-db46-6cd954e01a89

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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

The type of action that will be performed

Enumeration:
REPLAY

Re-submit an import with FAILED status

Responses

200 OK
Body
Object
id
string GUID

The import definition identifier

Example:
0e2e1e37-b118-7bbc-db46-6cd954e01a89
400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/imports/0e2e1e37-b118-7bbc-db46-6cd954e01a89/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "REPLAY"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "0e2e1e37-b118-7bbc-db46-6cd954e01a89"
}
Business Network
POST /organisations/register
POST /organisations/{id}/network
PUT /organisations/{id}
DELETE /organisations/{id}
GET /organisations/{id}/network
GET /organisations/{id}
GET /organisations/{id}/activity_feed
POST /organisations/{id}/switch
POST /organisations/{id}/masquerade
POST /organisations/{id}/actions
POST /organisations/{id}/media_groups
POST /organisations/import
GET /organisations/{id}/billing
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
org_type
string required

The type of the organisation

Enumeration:
BUSINESS
MERCHANT
SERVICE_PROVIDER
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

The provider of the identity

Enumeration:
EMAIL
PHONE
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

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 nullable

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

Example:
c/o Company
lat
number nullable

The latitude of the location

Example:
35.157115
lon
number nullable

The longitude of the location

Example:
33.313719
google_place_id
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)

Default:
EUR
Example:
EUR
timezone
string nullable

The organisation timezone (applicable for business)

Example:
EUROPE/ATHENS
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

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 transaction processor, service owners and business

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 new organisation

Enumeration:
TRANSACTION_PROCESSOR

Applicable on the level of a Cloud 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
country_agreement
string nullable

The organisation’s country of agreement code (applicable for service owner/business)

Example:
CYP
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 organisation types of Merchant, Venue and Service Point 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

The provider of the identity

Enumeration:
EMAIL
PHONE
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

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

The type of the organisation’s contact detail

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

Example:
c/o Company
lat
number nullable

The latitude of the location

Example:
35.157115
lon
number nullable

The longitude of the location

Example:
33.313719
google_place_id
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 nullable

The transaction acquiring point description

Example:
pos system
external_ip
string nullable

IP address of External Device

Example:
82.102.93.164
external_port
string nullable

Port of the External IP

Example:
9100
tap_type
string required

The transaction acquiring point type

Enumeration:
EXTERNAL_REF
POS
PRINTER_RECEIPT
CARD_TERMINAL
external_type
string nullable

Optional specification of external reference

Enumeration:
JCC
TWINSOFT
ALOHA
WIFI_PLATFORM
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 nullable

Details about the organisation profile

registration_number
string nullable

The organisation’s registration number

Example:
1234
tax_reference_number
string nullable

The organisation’s TAX reference number

Example:
TAX1234
vat_reference_number
string nullable

The organisation’s VAT reference number

Example:
VAT1234
registration_country
string nullable

The company’s registration 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
service_organisations
Array GUID nullable

The organisations (service owners) that the organisation (transaction processor) serves

Unique items: YES
Example:
7c56cc02-48cf-9832-e412-a4ae022cd547
string GUID
Example:
7c56cc02-48cf-9832-e412-a4ae022cd547
contact_registry
boolean nullable

Defins whether organisation will support contact registry or not (applicable for Service Owner, Business, Subsidiary)

Example:
true
custom_fields
Array nullable
Object
key
string

The custom field’s unique key

Example:
back_office
value
string

The custom field’s value

Example:
0001-12345
wifi_platform
Object nullable

Details about provisioning an organisation over to WiFi

integration_id
string GUID required

The integration identifier that organisation will be provisioned for WiFi

Example:
88165da9-58a9-74cd-3da5-593b901fc0ec
site_id
string required

The site identifier that will be used to identify the organisation over to WiFi platform

Example:
88quh2m6

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/network HTTP/1.1 

Content-Type: application/json

{
    "org_type": "VENUE",
    "name": "Delicious Food Group",
    "description": "Lorem Ipsum",
    "is_business": "true",
    "country_agreement": "CYP",
    "industry_id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "industry_sectors": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "groups": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "owner": {
        "first_name": "John",
        "last_name": "Doe",
        "identity": {
            "provider": "EMAIL",
            "identity_challenge": "jd@crm.com",
            "identity_value": "12345"
        },
        "contact_info": [
            {
                "name": "",
                "type": "EXTENSION",
                "value": "4499885544",
                "country_code": "CYP"
            }
        ]
    },
    "contact_info": [
        {
            "name": "Main Office",
            "type": "EMAIL",
            "value": "johndoe@deliciousfood.com",
            "country_code": "CYP"
        }
    ],
    "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": "c/o Company",
            "lat": 35.157115,
            "lon": 33.313719,
            "google_place_id": "ChIJrTLr-GyuEmsRBfy61i59si0"
        }
    ],
    "taps": [
        {
            "name": "POS",
            "code": "02451",
            "is_active": "true",
            "description": "pos system",
            "external_ip": "82.102.93.164",
            "external_port": "9100",
            "tap_type": "CARD_TERMINAL",
            "external_type": "ALOHA"
        }
    ],
    "business_activities": [
        "CAD1E31269B76D7A65ACCE45B2E68DFD"
    ],
    "inherit_from_parent": "false",
    "organisation_profile": {
        "registration_number": "1234",
        "tax_reference_number": "TAX1234",
        "vat_reference_number": "VAT1234",
        "registration_country": "CYP"
    },
    "organisation_id": "e7251be4-89f2-8cea-7a4a-65b679cf6131",
    "cloud_name": "crmdotcom",
    "organisation_tags": [
        "Accounting"
    ],
    "service_organisations": [
        "7c56cc02-48cf-9832-e412-a4ae022cd547"
    ],
    "contact_registry": "true",
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ],
    "wifi_platform": {
        "integration_id": "88165da9-58a9-74cd-3da5-593b901fc0ec",
        "site_id": "88quh2m6"
    }
}

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

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
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

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 organisation types of Merchant, Venue and Service Point 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 nullable

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
service_organisations
Array GUID nullable

The organisations (service owners) that the organisation (transaction processor) serves

Unique items: YES
Example:
1daf80b1-134b-36eb-7146-76dec04e6c5d
string GUID
Example:
1daf80b1-134b-36eb-7146-76dec04e6c5d
contact_registry
boolean nullable

Defines whether organisation supports contact registry or not

Example:
true
locations
Object nullable

Information about the organisation’s location

id
string GUID nullable

The location identifier that will be updated

Example:
a6cc4f88-cab1-4ab2-98d3-4655789277e2
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
google_place_id
string nullable

The Google textual identifier that uniquely identifies a location

Example:
ChIJrTLr-GyuEmsRBfy61i59si0
custom_fields
Array nullable
Object
key
string

The custom field’s unique key

Example:
back_office
value
string

The custom field’s value

Example:
0001-12345
partners
Array

Defines the partners (their logos will appear on the backend) assigned on this organisation by the service owner. applicable only for organisations of BUSINESS type

Object
id
string

The partner identifier

Example:
43f394c0-ece1-43a5-ab7d-b54ce9065fe7
billing_business_id
string

The billing business identifier

default_service_id
string

The default service identifier

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
PUT https://sandbox.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

Content-Type: application/json

{
    "name": "Delicious Food Group",
    "description": "Lorem Ipsum",
    "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",
    "organisation_profile": {
        "registration_number": "1234",
        "tax_reference_number": "TAX1234",
        "vat_reference_number": "VAT1234",
        "registration_country": "CYP"
    },
    "cloud_name": "crmdotcom",
    "organisation_tags": [
        "Accounting"
    ],
    "service_organisations": [
        "1daf80b1-134b-36eb-7146-76dec04e6c5d"
    ],
    "contact_registry": "true",
    "locations": {
        "id": "a6cc4f88-cab1-4ab2-98d3-4655789277e2",
        "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,
        "google_place_id": "ChIJrTLr-GyuEmsRBfy61i59si0"
    },
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ],
    "partners": [
        {
            "id": "43f394c0-ece1-43a5-ab7d-b54ce9065fe7"
        }
    ]
}
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 OK

The request has succeeded

400 Bad Request

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

401 Unauthorized

The provided API Key or Token is invalid

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
DELETE https://sandbox.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
List Organisations in Network
GET /organisations/{id}/network

Retrieve all organisations

Path variables

id
string GUID required

Parent organisation (identifier) whose child organisations will be retrieved

Example:
d332dd8a-254e-47c9-ba1f-3f369877a9b3

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:
TRANSACTION_PROCESSOR
SERVICE_OWNER
BUSINESS
MERCHANT

(including service provider)

VENUE

(including service point)

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
organisation_tags
array of string GUID optional

Tag filter for organisation

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
town_city
string optional

Filter based on the organisation’s town/city

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
BUSINESS_ACTIVITY
INDUSTRY
INDUSTRY_SECTOR
COUNTRY
AREA
ORGANISATION_GROUP
sort
string optional

Defines on which attribute the results should be sorted

Default:
CREATED_DATE
Examples:
CREATED_DATEUPDATED_DATENAMESCHEDULED_DATE
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
operation_details
boolean optional

Defines whether the operation details of such organisations should be retrieved or not

Example:
true
include_custom_fields
boolean optional

Defines whether custom fields should be retrieved or not (via List/Get APIs)

Default:
false
Example:
true
custom_fields
string optional

Filters based on custom fields (key/value set should be semicolon separated)

Example:
key;value
status
string optional

Filter based on organisation status

Enumeration:
ACTIVE
INACTIVE
SUSPEND
tap_code
string optional

Filter based on TAP code

Example:
01-23-45-67-89-AB

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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:
TRANSACTION_PROCESSOR
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

Example:
c/o Company
lat
number

The latitude of the location

Example:
35.157115
lon
number

The longitude of the location

Example:
33.313719
google_place_id
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
APPLE_LOCKSCREEN_ICON
APPLE_LOGO_IMAGE
APPLE_STRIP_IMAGE
GOOGLE_LOGO_IMAGE
GOOGLE_STRIP_IMAGE
LANDING_PAGE_LOGO_IMAGE
LANDING_PAGE_HEADER_IMAGE
LANDING_PAGE_BACKGROUND_IMAGE
HERO
LOGO
BACKGROUND
AVATAR
PARTNER_LOGO

Partner logos configurable by SO, applicable for Business, Merchant, Venue

DELIVERY_IMAGE

Applicable only for Applications

PICKUP_IMAGE

Applicable only for Applications

DIRECT_SALE_IMAGE

Applicable only for Applications

WALLET_IMAGE

Applicable only for Applications

LANDING_PAGE_IMAGE

Applicable only for Applications

APP_LOGO

Applicable only for Applications

CAROUSEL
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:
59106518-092e-8a08-7769-29f40dced0d1
name
string

The industry name

Example:
Restaurant
industry_sectors
Array

Information about the organisaion’s industry sectors

Unique items: YES
Object

Information about the industry sectors

id
string GUID

The industry sector identifier

Example:
9a857635-5ef3-aa4c-bd2c-90434070cb5a
name
string

The industry sector name

Example:
Bar
business_activities
Array

Information about the organisaion’s business activities

Unique items: YES
Object

Information about the business activity

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
operation_details
Object

The organisation operation details (retrieved only if operation_details = true)

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
contact_registry
boolean

Defines whether organisation supports contact registry

Example:
true
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
status
string

The status of the organisation

Enumeration:
ACTIVE
INACTIVE
SUSPEND
created_date
integer epoch

The date that such entity was created

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 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
Example 2
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 https://sandbox.crm.com/backoffice/v1/organisations/d332dd8a-254e-47c9-ba1f-3f369877a9b3/network?relationship=VENUE HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "CRM.COM Cyprus",
            "description": "Lorem Ipsum",
            "groups": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "Seasonal"
                }
            ],
            "locations": [
                {
                    "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"
                }
            ],
            "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"
                        }
                    ]
                }
            ],
            "industry": {
                "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                "name": "Restaurant"
            },
            "industry_sectors": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "Bar"
                }
            ],
            "business_activities": [
                {
                    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
                    "name": "Bar & Grill"
                }
            ],
            "users_count": 24,
            "operation_details": {
                "opening_hours": [
                    {
                        "day_of_week": "MONDAY",
                        "opens": "09:00",
                        "closes": "20:00",
                        "operation": "PICK_UP"
                    }
                ],
                "short_term_operations": [
                    {
                        "operation": "DELIVERY",
                        "is_closed": "false"
                    }
                ]
            },
            "contact_registry": "true"
        }
    ],
    "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:
224ed6db-db6d-6878-58db-4381e5ef5669

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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:
224ed6db-db6d-6878-58db-4381e5ef5669
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
ORGANISATION
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
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:
CAD1E31269B76D7A65ACCE45B2E68DFD
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 name of the contact information

Example:
Main Office
type
string

The type of the contact information

Enumeration:
EMAIL
PHONE
value
string

The value of the specific contact information

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

Example:
c/o Company
lat
number

The latitude of the location

Example:
35.157115
lon
number

The longitude of the location

Example:
33.313719
google_place_id
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
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

The transaction acquiring point type

Enumeration:
EXTERNAL_REF
POS
PRINTER_RECEIPT
CARD_TERMINAL
external_type
Object

The transaction acquiring point that the event was submitted from (id or code must be specified). TAP and Organisation (id) attributes are semi-optional

id
string GUID required nullable

The transaction acquiring point identifier

Example:
4c01d5e4-02c9-ae89-4a3c-eaeb3174fcf0
code
string required nullable

The transaction acquiring point code

Example:
TAP001
industry
Object

Information about the organisation’s industry

id
string GUID

The industry identifier

Example:
59106518-092e-8a08-7769-29f40dced0d1
name
string

The industry name

Example:
Restaurant
industry_sectors
Array

Information about the organisation’s industry sectors

Unique items: YES
Object

Information about the industry sectors

id
string GUID

The industry sector identifier

Example:
9a857635-5ef3-aa4c-bd2c-90434070cb5a
name
string

The industry sector name

Example:
Bar
business_activities
Array

Information about the organisation’s business activities

Unique items: YES
Object

Information about the business activity

id
string GUID

The business activity identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
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
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
service_organisations
Array

The organisations (service owners) that the organisation (transaction processor) serves

Object

Details about the organisation from where such event was posted

id
string GUID

The organisation identifier

Example:
4248fab3-67d5-2eb1-eaf6-079ce18cd2ed
name
string

The organisation name

Example:
Bravo Coffee
creatives
Array
Object
id
string GUID

The creative identifier

Example:
CA123456789AQWSXZAQWS1236547896541
usage_type
string

Information about the creative type

Enumeration:
ATTACHMENT
PROFILEIMAGE
MARKETING
APPLE_LOCKSCREEN_ICON
APPLE_LOGO_IMAGE
APPLE_STRIP_IMAGE
GOOGLE_LOGO_IMAGE
GOOGLE_STRIP_IMAGE
LANDING_PAGE_LOGO_IMAGE
LANDING_PAGE_HEADER_IMAGE
LANDING_PAGE_BACKGROUND_IMAGE
HERO
LOGO
BACKGROUND
AVATAR
PARTNER_LOGO

Partner logos configurable by SO, applicable for Business, Merchant, Venue

DELIVERY_IMAGE

Applicable only for Applications

PICKUP_IMAGE

Applicable only for Applications

DIRECT_SALE_IMAGE

Applicable only for Applications

WALLET_IMAGE

Applicable only for Applications

LANDING_PAGE_IMAGE

Applicable only for Applications

APP_LOGO

Applicable only for Applications

CAROUSEL
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
contact_registry
boolean

Defines whether the organisation supports contact registry

Example:
true
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
status
string

The status of the organisation

Enumeration:
ACTIVE
INACTIVE
SUSPEND
partners
Array

Defines the partners that are assigned to this organisation and their logos will be shown on the back-end SPA. Applicable only for organisations of type Business, where Service Owners will be responsible for assigning such information

Object
id
string GUID

The partner identifier

Example:
f4942b1d-efe2-258e-ebc2-6be805ce8b7c
name
string

The partner name

Example:
Best Partner
created_date
integer epoch

The date that such entity was created

billing_business
Object

Details regardifn the billing business

id
string

The billing business identifier

Example:
ed27b191-34a2-4782-654c-761b84a7c312
name
string

The billing business name

default_service
Object

The default service assigned to the organisation

id
string

The service identifier

name
string

The service name

sku
string

The service SKU

400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
GET https://sandbox.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD",
    "name": "Delicious Bite",
    "description": "Lorem Ipsum",
    "org_type": "SERVICE_OWNER",
    "test_mode": "false",
    "is_sandbox_on": "false",
    "is_business": "false",
    "groups": [
        {
            "id": "OGD1E31269B76D7A65ACCE45B2E68DFD",
            "name": "Seasonal"
        }
    ],
    "contact_info": [
        {
            "id": "CON123456234567345674567895678IK",
            "name": "Main Office",
            "type": "PHONE",
            "value": "johndoe@deliciousfood.com",
            "country_code": "CYP"
        }
    ],
    "locations": [
        {
            "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": "c/o Company",
            "lat": 35.157115,
            "lon": 33.313719,
            "google_place_id": "ChIJrTLr-GyuEmsRBfy61i59si0"
        }
    ],
    "taps": [
        {
            "id": "TAP123456234567345674567895678IK",
            "name": "ePOS",
            "code": "EP12",
            "is_active": "true",
            "description": "electronic POS",
            "external_ip": "82.102.93.164",
            "external_port": "9100",
            "tap_type": "EXTERNAL_REF",
            "external_type": {
                "id": "4c01d5e4-02c9-ae89-4a3c-eaeb3174fcf0",
                "code": "TAP001"
            }
        }
    ],
    "industry": {
        "id": "CAD1E31269B76D7A65ACCE45B2E68DRT",
        "name": "Restaurant"
    },
    "industry_sectors": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DWQ",
            "name": "Bar"
        }
    ],
    "business_activities": [
        {
            "id": "CAD1E31269B76D7A65ACCE45B2E68DBU",
            "name": "Bar & Grill"
        }
    ],
    "inherit_from_parent": "false",
    "organisation_profile": {
        "registration_number": "1234",
        "tax_reference_number": "TAX1234",
        "vat_reference_number": "VAT1234",
        "registration_country": "CYP"
    },
    "organisation_id": "7e8e39de-2f80-d2fe-b1f9-25b0cf4b2fbf",
    "cloud_name": "crmdotcom",
    "organisation_tags": [
        "Accounting"
    ],
    "service_organisations": [
        {
            "id": "ed165bb7-666e-d55c-7e3d-1127909d10a3",
            "name": "CRMdotCOM"
        }
    ],
    "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"
                }
            ]
        }
    ],
    "contact_registry": "true",
    "custom_fields": [
        {
            "key": "back_office",
            "value": "0001-12345"
        }
    ],
    "status": "SUSPEND",
    "partners": [
        {
            "id": "43f394c0-ece1-43a5-ab7d-b54ce9065fe7",
            "name": "Yellow Umbrella Corp."
        }
    ]
}
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) whose activity will be retrieved

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_DATENAMESCHEDULED_DATE
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

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 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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
    }
}
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 “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 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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 
Masquerade Organisations
POST /organisations/{id}/masquerade

Switch the user to another organisation

Path variables

id
string GUID required

The organisation (identifier) that will be masqueraded to

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD

Notes

MASQUERADED USER PEMISSIONS

As part of “masquerade” flow, the masqueraded user will have the same role as the one from the initial organisation that such user signed in.

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/masquerade HTTP/1.1 

authorization: eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV

HTTP/1.1 200 OK 
Actions on Organisations
POST /organisations/{id}/actions

Perform an action on a single organisation

Path variables

id
string GUID required

The organisation (identifier) that an action will be applied on it

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
action
string required

The action that will be applied on the organisation

Enumeration:
MODE

Enable live mode on the organisation

ACTIVE
INACTIVE
SUSPEND
COPY
name
string nullable

The organisation name that will be used when copying an organisation (applicable when action == COPY)

Example:
CRM

Responses

200 200

OK

Body
Object
id
string GUID

The organisation identifier

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
400 Bad Request

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

403 Forbidden

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

404 Not Found

The requested resource does not exist

500 Internal Server Error

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

502 Bad Gateway

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

503 Service Unavailable

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

504 Gateway Timeout

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

Example 1
POST https://sandbox.crm.com/backoffice/v1/organisations/CAD1E31269B76D7A65ACCE45B2E68DFD/actions HTTP/1.1 

Content-Type: application/json

{
    "action": "MODE"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "CAD1E31269B76D7A65ACCE45B2E68DFD"
}
Organisation Media Groups
POST /organisations/{id}/media_groups

Link an organisation with one or many media groups

Path variables

id
string GUID required

The organisation (identifier) that media groups will be updated

Example:
sdfsfsdf-32-fwef-wef-wefwef23

Notes

MEDIA UPLOAD

Uploading media for an organisation requires the execution of the following APIs

  1. Create new Media Group
  2. Create Organisation Media Groups
  3. Upload Media
  4. Perform Cloudinary Upload (where CRM will send all signature details)
  5. Cloudinary service calls back CRM media group (using an internal callback)

Request headers

authorization
string optional

Authorization Token

Example:
eyJraWQiOiIvcHJpdmF0ZUtleS5wZW0iLCJ0eXAiOiJKV
api_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
media_group_id
string GUID required

The media group identifier

Example:
3f1f9e63-7f40-4e5e-bc42-11a162f7f1fb

Responses

200 OK
400 Bad Request