NAV Navbar
PHP HTTP Shell JavaScript

REST API v3.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

REST API version 3.0 is currently in Beta and is NOT stable. Please use version 2.0^ for production ready applications.

Base URLs:

Email: Reward Gateway Engineering Team Web: Reward Gateway Engineering Team License: Apache 2.0

Authentication

Scope Scope Description
user.read Read your profile information
user.write Update user's profile info
user.instrument.read View user's saved instruments
user.instrument.write Manage user's saved instruments
user.payment.read View user's stored payment card information
user.order.read View user’s completed order information
user.savings_account View user's savings account statistics, cashback balance
user.retailers Manage user's retailer preferences
programme.read View programme information
programme.modules View programme's enabled modules
programme.statistics View programme's dashboard data, milestones, timeline of events
checkout.basket.read View active basket information
checkout.basket.write Update basket by adding or removing items
checkout.payment Make payment on behalf of user
retailers.read View a list of retailers, products and offers supported through SmartSpending™
device.manage Manage registering/unregistering devices for notifications to be sent out
scim.readOnly Read member information on your programme. This will NOT allow the client to write any data.
scim.readWrite Read member information on your programme as well as be able to make changes to Eligibility Listen
user.app.review App review service
notification.read Read members notifications
notification.write Manage notifcations
notification.preferences.read Read members notification preferences
notification.preferences.write Manager members notification preferences
srw.feed.read List the Social Recognition Wall feed
srw.feed.write Add feed items the Social Recognition Wall feed
srw.feed.filter.read Filters on Social Recognition Wall
srw.feed.reaction.read List the Social Recognition Wall feed item reactions
srw.feed.reaction.write React on the Social Recognition Wall feed item
srw.feed.comment.read List the Social Recognition Wall feed item comments
srw.feed.comment.write Comment on the Social Recognition Wall feed item
srw.feed.comment.reply.read List the Social Recognition Wall feed item comment replies
srw.feed.comment.reply.write Reply on the Social Recognition Wall feed item comment
srw.feed.reaction.toolbar.read List the Social Recognition Wall toolbar reactions
srw.ecard.read List the Social Recognition Wall ecard categories within ecards
srw.user.activity.read List user SRW activity
srw.user.stats.read List user SRW statistics
user.hierarchy.read List user hierarchy
user.details.read List user details
user.search Search members
surveys.read Read surveys data
surveys.write Manage surveys data
programme.create Create a programme
programme.write Write to a programme
programme.admin Manage all programmes
trs.read Read TRS Statements for the user
recognition.external.read Get external recognition form structure.
recognition.external.write Store external recognition details.
rr.rules.admin Read and write R&R rules

Reward Gateway for Small Business

All internal endpoints related to Reward Gateway for Small Businesses

Create new check with the KYC Provider

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/kyc/check', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/kyc/check HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/kyc/check \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "applicantId": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/kyc/check',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /kyc/check

Create new check with the KYC Provider

Body parameter

{
  "applicantId": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204"
}

Parameters

Name In Type Required Description
body body Check false none

Example responses

200 Response

{
  "applicantId": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "checkId": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204"
}

Responses

Status Meaning Description Schema
200 OK Check entity Check

Delete selected addon to onboarding

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/onboarding/{uuid}/addons/{addonId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/onboarding/{uuid}/addons/{addonId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/onboarding/{uuid}/addons/{addonId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}/addons/{addonId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /onboarding/{uuid}/addons/{addonId}

Delete selected addon to onboarding

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
uuid path string true Onboarding member identifier
addonId path string true Addon configuration identifier

Example responses

200 Response

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Onboarding Addons Details Inline
400 Bad Request Data validation errors standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddonEntity] false none [Subscription's Addon entity fields and helper methods]
» addonId string false none addon id
» name string false none addon name
» description string¦null false none addon description
» price number(float) false none addon unit price
» required boolean false none addon is required
» status integer false none addon status
» planId string¦null false none id of the plan
» localeId integer¦null false none locale id
» canRemove boolean¦null false none addon can be removed

Get onboarding addons detail by prospect

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/onboarding/{uuid}/addons', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/onboarding/{uuid}/addons HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/onboarding/{uuid}/addons \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}/addons',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /onboarding/{uuid}/addons

Get onboarding addons detail by prospect

Parameters

Name In Type Required Description
languageCode query string false Locale Code
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
uuid path string true Onboarding member identifier

Example responses

200 Response

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Onboarding Addons Details Inline
400 Bad Request Data validation errors standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddonEntity] false none [Subscription's Addon entity fields and helper methods]
» addonId string false none addon id
» name string false none addon name
» description string¦null false none addon description
» price number(float) false none addon unit price
» required boolean false none addon is required
» status integer false none addon status
» planId string¦null false none id of the plan
» localeId integer¦null false none locale id
» canRemove boolean¦null false none addon can be removed

Add/Update selected addon to onboarding

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/onboarding/{uuid}/addons', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/onboarding/{uuid}/addons HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/onboarding/{uuid}/addons \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}/addons',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /onboarding/{uuid}/addons

Add/Update selected addon to onboarding

Body parameter

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Parameters

Name In Type Required Description
languageCode query string false Locale Code
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
uuid path string true Onboarding member identifier
body body AddonEntity false none

Example responses

200 Response

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Onboarding Addons Details Inline
400 Bad Request Data validation errors standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddonEntity] false none [Subscription's Addon entity fields and helper methods]
» addonId string false none addon id
» name string false none addon name
» description string¦null false none addon description
» price number(float) false none addon unit price
» required boolean false none addon is required
» status integer false none addon status
» planId string¦null false none id of the plan
» localeId integer¦null false none locale id
» canRemove boolean¦null false none addon can be removed

Collect client's onboarding feedback value

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/onboarding/{uuid}/feedback', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/onboarding/{uuid}/feedback HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/onboarding/{uuid}/feedback \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "feedbackValue": 5,
  "message": "feedback message"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}/feedback',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /onboarding/{uuid}/feedback

This endpoint collect client onboarding feedback value

Body parameter

{
  "feedbackValue": 5,
  "message": "feedback message"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
uuid path string true Onboarding member identifier
body body OnboardingFeedback false none

Example responses

200 Response

{
  "onboardingUuid": "327c1682-c7b7-11ec-9d64-0242ac120002",
  "feedbackValue": 5,
  "message": "feedback message"
}

Responses

Status Meaning Description Schema
200 OK Successful operation OnboardingFeedback
400 Bad Request Data validation errors standardModel

Fetch referral code details if exists

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/referrals/{referralCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/referrals/{referralCode} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/referrals/{referralCode} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/referrals/{referralCode}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /referrals/{referralCode}

Fetch referral code details if exists

Parameters

Name In Type Required Description
referralCode path string true The referral code

Example responses

200 Response

{
  "hash": "1be2e9b9c638ed07528a",
  "companyNumberLabel": "Company Registration Number",
  "companyNumberRule": "\\/.*\\/",
  "couponType": "FIRSTMONTHFREE",
  "durationType": "one_time",
  "promotionText": "Exclusive to RG employees",
  "discountPercentage": 50,
  "skipAllowed": true,
  "plans": [
    "plan_id"
  ],
  "customBilling": false,
  "customBillingText": "custom text",
  "headingText": "custom text",
  "subHeadingText": "custom text",
  "ribbonText": "custom text",
  "teamNameLabel": "custom text",
  "emailLabel": "custom text",
  "displayStamp": 1,
  "stampTemplate": "custom_template",
  "period": 1
}

Responses

Status Meaning Description Schema
200 OK Generic referral entity PublicReferral
404 Not Found Referral code not found None

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/magic-link

Handle get current magic link configuration

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "hash": "1be2e9b9c638ed07528a",
  "hashUrl": "https://site277.rewardgateway.dev/1be2e9b9c638ed07528a",
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "isActive": true,
  "isAutoApprove": true,
  "dateAdded": "2020-10-01",
  "domains": [
    {
      "domain": "domain.com"
    }
  ]
}
Status Meaning Description Schema
200 OK Magic Link entity MagicLink
401 Unauthorized Unauthorized Access Exception None
404 Not Found Magic Link Not Found None

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "isActive": true,
  "isAutoApprove": true,
  "domains": [
    {
      "domain": "domain.com"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/magic-link',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /schemes/{schemeUuid}/magic-link

Update client magic link configuration

Body parameter

{
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "isActive": true,
  "isAutoApprove": true,
  "domains": [
    {
      "domain": "domain.com"
    }
  ]
}
Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme
body body MagicLink false none

Example responses

200 Response

{
  "hash": "1be2e9b9c638ed07528a",
  "hashUrl": "https://site277.rewardgateway.dev/1be2e9b9c638ed07528a",
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "isActive": true,
  "isAutoApprove": true,
  "dateAdded": "2020-10-01",
  "domains": [
    {
      "domain": "domain.com"
    }
  ]
}
Status Meaning Description Schema
200 OK Magic Link Updated MagicLink
401 Unauthorized Unauthorized Access Exception None

add RGSB churn offer coupon

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/churn-offer', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/churn-offer HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/churn-offer \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/churn-offer',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/churn-offer

add RGSB churn offer coupon

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

[
  {
    "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
    "email": "john.doe@rewardgateway.com",
    "firstName": "John",
    "lastName": "Doe",
    "type": "Charity",
    "status": "Active",
    "startDate": "2021-01-01 00:00:00",
    "freeTrialEndDate": "2021-01-14 00:00:00",
    "renewalDate": "2021-01-14 00:00:00",
    "billingDate": "2021-01-14 00:00:00",
    "cancelReasonId": 2,
    "otherReason": "",
    "churnOffer": false,
    "maxSeatCount": 150,
    "currentSeatCount": 1,
    "pricePerSeat": 3.5,
    "plan": "rgsb",
    "totalInvited": 3,
    "totalRegistered": 5,
    "totalRemoved": 1,
    "hasScheduledChange": true,
    "allowedPlanSwitchOptions": [
      {
        "allowedPlanSwitchOptions": "rgsb"
      }
    ],
    "billingAddress": [
      {
        "companyName": "Reward Gateway Ltd",
        "addressLineOne": "265 Tottenham Court Road",
        "addressLineTwo": "4th Floor",
        "county": "Greater London",
        "city": "London",
        "postalCode": "SM4 4AG",
        "country": "GB"
      }
    ],
    "total": 0.1,
    "amountDue": 0.1
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Subscription entity Inline
400 Bad Request Validaton errors None
404 Not Found Not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Subscription] false none [Class RGSB clients' Subscription data]
» schemeUuid string false read-only Unique scheme identifier
» email string false none Billing email address
» firstName string false none First Name
» lastName string false none Last Name
» type string false none Subscription type
» status string false none Subscription Status
» startDate string false read-only Subscription Start Date
» freeTrialEndDate string¦null false read-only Subscription End Date
» renewalDate string¦null false read-only Subscription next Renewal Date
» billingDate string¦null false read-only Subscription next Billing Date
» cancelReasonId integer¦null false none Selected cancel subscription reason id
» otherReason string¦null false none Other reason description
» churnOffer boolean false read-only Client got already churn offer
» maxSeatCount integer false read-only Allowed members limit
» currentSeatCount integer false none Current licence count
» pricePerSeat number(float)¦null false read-only price per seat
» plan string¦null false none ChargeBee plan id
» totalInvited integer false read-only total invited members
» totalRegistered integer false read-only total registered members
» totalRemoved integer false read-only total removed members
» hasScheduledChange boolean false read-only has scheduled subscriptions change
» allowedPlanSwitchOptions [object] false read-only allowed plan switch options
»» allowedPlanSwitchOptions string false none allowedPlanSwitchOptions
» billingAddress [BillingAddress] false none [Class RGSB clients' Billing Address data]
»» companyName string false none Billing Company Name
»» addressLineOne string false none Billing Address Line One
»» addressLineTwo string¦null false none Billing Address Line Two
»» county string¦null false none Billing County
»» city string¦null false none Billing City
»» postalCode string false none Billing Postal Code
»» country string¦null false read-only Billing Country
» total number(float)¦null false read-only Estimate total amount per seat
» amountDue number(float)¦null false read-only Estimate amount due per seat

Enumerated Values

Property Value
type Charity
type Regular
type RG Test
status Active
status NotRenewing
status Cancelled
status FreeTrial

get subscription addons detail by prospect

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/subscription/addons

get subscription addons detail by prospect

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true scheme identifier

Example responses

200 Response

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Subscription Addons Details Inline
400 Bad Request Data validation errors standardModel
401 Unauthorized Unauthorized Access Exception None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddonEntity] false none [Subscription's Addon entity fields and helper methods]
» addonId string false none addon id
» name string false none addon name
» description string¦null false none addon description
» price number(float) false none addon unit price
» required boolean false none addon is required
» status integer false none addon status
» planId string¦null false none id of the plan
» localeId integer¦null false none locale id
» canRemove boolean¦null false none addon can be removed

add/update selected addons to subscription

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/addons',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /schemes/{schemeUuid}/subscription/addons

add/update selected addons to subscription

Body parameter

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true scheme identifier
body body AddonEntity false none

Example responses

200 Response

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Subscription Addons Details Inline
400 Bad Request Data validation errors standardModel
401 Unauthorized Unauthorized Access Exception None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddonEntity] false none [Subscription's Addon entity fields and helper methods]
» addonId string false none addon id
» name string false none addon name
» description string¦null false none addon description
» price number(float) false none addon unit price
» required boolean false none addon is required
» status integer false none addon status
» planId string¦null false none id of the plan
» localeId integer¦null false none locale id
» canRemove boolean¦null false none addon can be removed

Handle get RGSB client's subscription scheduled changes

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/subscription/changes

Handle get RGSB client's subscription scheduled changes

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "status": "Active",
  "renewalDate": "2021-01-14 00:00:00",
  "currentSeatCount": 1,
  "plan": "rgsb",
  "hasScheduledChange": true,
  "addons": [
    {
      "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
      "name": "Discounts",
      "description": "additional information",
      "price": 2,
      "required": true,
      "status": 1,
      "planId": "rgsb",
      "localeId": 1,
      "canRemove": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK RGSB Subscription scheduled changes entity SubscriptionChanges
400 Bad Request Bad Request Exception - No changes are scheduled for this subscription None
401 Unauthorized Unauthorized Access Exception None

Handle delete RGSB client's subscription scheduled changes

Code samples

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes HTTP/1.1
Host: api.rewardgateway.net

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes


fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/changes',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /schemes/{schemeUuid}/subscription/changes

Handle delete RGSB client's subscription scheduled changes

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Responses

Status Meaning Description Schema
200 OK RGSB Subscription scheduled changes deleted None
400 Bad Request Bad Request Exception - No changes are scheduled for this subscription None
401 Unauthorized Unauthorized Access Exception None

An estimate of the amount that will be charged when the subscription is billed next

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/renewalEstimate', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/renewalEstimate HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/renewalEstimate \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/renewalEstimate',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/subscription/renewalEstimate

An estimate of the amount that will be charged when the subscription is billed next

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier to identify a scheme
planId query string false identifier to load different subscription plan
planQuantity query integer false subscription seats count
addons query string false uri encoded list of selected subscription identifiers of the addons

Example responses

200 Response

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "total": 845,
  "amountDue": 845,
  "discountAmount": 845,
  "description": "RG for Small Business",
  "quantity": 1
}

Responses

Status Meaning Description Schema
200 OK RGSB Subscription scheduled changes entity Estimate
401 Unauthorized Unauthorized Access Exception None
404 Not Found Not Found Exception None

Handle get RGSB client's subscription data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/coupon', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/coupon HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/coupon \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/subscription/coupon',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/subscription/coupon

Handle get RGSB client's subscription data

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "isActive": true,
  "id": "discount",
  "name": "discount",
  "status": "active",
  "redemptions": 2,
  "discountType": "percentage",
  "discountPercentage": 30,
  "discountAmount": 100,
  "durationTime": "one_time",
  "durationMonth": 2
}

Responses

Status Meaning Description Schema
200 OK RGSB Subscription entity Coupon
401 Unauthorized Unauthorized Access Exception None

Update RGSB client's subscription data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/schemes/{schemeUuid}/subscription', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/schemes/{schemeUuid}/subscription HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/schemes/{schemeUuid}/subscription \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "email": "john.doe@rewardgateway.com",
  "firstName": "John",
  "lastName": "Doe",
  "type": "Charity",
  "status": "Active",
  "cancelReasonId": 2,
  "otherReason": "",
  "currentSeatCount": 1,
  "plan": "rgsb",
  "billingAddress": [
    {
      "companyName": "Reward Gateway Ltd",
      "addressLineOne": "265 Tottenham Court Road",
      "addressLineTwo": "4th Floor",
      "county": "Greater London",
      "city": "London",
      "postalCode": "SM4 4AG"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/subscription',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /schemes/{schemeUuid}/subscription

Update RGSB client's subscription data

Body parameter

{
  "email": "john.doe@rewardgateway.com",
  "firstName": "John",
  "lastName": "Doe",
  "type": "Charity",
  "status": "Active",
  "cancelReasonId": 2,
  "otherReason": "",
  "currentSeatCount": 1,
  "plan": "rgsb",
  "billingAddress": [
    {
      "companyName": "Reward Gateway Ltd",
      "addressLineOne": "265 Tottenham Court Road",
      "addressLineTwo": "4th Floor",
      "county": "Greater London",
      "city": "London",
      "postalCode": "SM4 4AG"
    }
  ]
}

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme
body body Subscription false none

Example responses

200 Response

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "email": "john.doe@rewardgateway.com",
  "firstName": "John",
  "lastName": "Doe",
  "type": "Charity",
  "status": "Active",
  "startDate": "2021-01-01 00:00:00",
  "freeTrialEndDate": "2021-01-14 00:00:00",
  "renewalDate": "2021-01-14 00:00:00",
  "billingDate": "2021-01-14 00:00:00",
  "cancelReasonId": 2,
  "otherReason": "",
  "churnOffer": false,
  "maxSeatCount": 150,
  "currentSeatCount": 1,
  "pricePerSeat": 3.5,
  "plan": "rgsb",
  "totalInvited": 3,
  "totalRegistered": 5,
  "totalRemoved": 1,
  "hasScheduledChange": true,
  "allowedPlanSwitchOptions": [
    {
      "allowedPlanSwitchOptions": "rgsb"
    }
  ],
  "billingAddress": [
    {
      "companyName": "Reward Gateway Ltd",
      "addressLineOne": "265 Tottenham Court Road",
      "addressLineTwo": "4th Floor",
      "county": "Greater London",
      "city": "London",
      "postalCode": "SM4 4AG",
      "country": "GB"
    }
  ],
  "total": 0.1,
  "amountDue": 0.1
}

Responses

Status Meaning Description Schema
200 OK Subscription is Updated Subscription
400 Bad Request Validaton errors None
401 Unauthorized Unauthorized Access Exception None

Get RGSB subscription addons detail by plan

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/rgsb/plans/{planId}/addons/{localeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/rgsb/plans/{planId}/addons/{localeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/rgsb/plans/{planId}/addons/{localeId} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/rgsb/plans/{planId}/addons/{localeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /rgsb/plans/{planId}/addons/{localeId}

Get RGSB subscription addons detail by plan

Parameters

Name In Type Required Description
planId path string true Identifier of the plan
localeId path integer true Identifier of the locale

Example responses

200 Response

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Subscription Addons Details Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddonEntity] false none [Subscription's Addon entity fields and helper methods]
» addonId string false none addon id
» name string false none addon name
» description string¦null false none addon description
» price number(float) false none addon unit price
» required boolean false none addon is required
» status integer false none addon status
» planId string¦null false none id of the plan
» localeId integer¦null false none locale id
» canRemove boolean¦null false none addon can be removed

Get all RGSB subscription addons detail filter by plan Id and/or locale Id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/rgsb/plans/addons', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/rgsb/plans/addons HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/rgsb/plans/addons \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/rgsb/plans/addons',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /rgsb/plans/addons

Get all RGSB subscription addons detail filter by plan Id and/or locale Id

Parameters

Name In Type Required Description
planId query string false Identifier of the plan
localeId query integer false Identifier of the locale
languageCode query string false Locale Code
schemeUuid query string false Unique identifier of the scheme

Example responses

200 Response

[
  {
    "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
    "name": "Discounts",
    "description": "additional information",
    "price": 2,
    "required": true,
    "status": 1,
    "planId": "rgsb",
    "localeId": 1,
    "canRemove": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Subscription Addons Details Filtered by Plan Id and/or Locale Id Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddonEntity] false none [Subscription's Addon entity fields and helper methods]
» addonId string false none addon id
» name string false none addon name
» description string¦null false none addon description
» price number(float) false none addon unit price
» required boolean false none addon is required
» status integer false none addon status
» planId string¦null false none id of the plan
» localeId integer¦null false none locale id
» canRemove boolean¦null false none addon can be removed

Get RGSB cancel subscription reasons

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/cancel-reasons', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/cancel-reasons HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/cancel-reasons \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/cancel-reasons',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/cancel-reasons

Get RGSB cancel subscription reasons

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

[
  {
    "id": 123,
    "description": "The timing is not quite right, but we’ll consider it again in future",
    "hasOffer": true,
    "detailsRequired": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Cancel Reason List Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CancelReason] false none [Class RGSB cancel subscription reason data entity]
» id integer false none Unique reason identifier
» description string false none Cancel reason description
» hasOffer boolean false none Has additional offer
» detailsRequired boolean false none Has additional details

Get RGSB subscription plans detail

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/rgsb/plans', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/rgsb/plans HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/rgsb/plans \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/rgsb/plans',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /rgsb/plans

Get RGSB subscription plans detail

Parameters

Name In Type Required Description
locale query integer false Identifier of the locale
planId query string false Identifier of the plan

Example responses

200 Response

[
  {
    "planId": "plan-id",
    "name": "plan name",
    "description": "plan description",
    "type": "monthly",
    "localeId": 1,
    "price": 6,
    "currency": "EUR",
    "isActive": false,
    "isDefault": false
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Subscription Plan Details Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [RGSBPlan] false none [Class RGSB Subscription Plan Details]
» planId string false none subscription plan id
» name string false none Plan name
» description string false none Plan description
» type string false none Subscription Plan Type
» localeId integer false none Plan locale id
» price number(float) false none Plan price
» currency string false none Plan currency
» isActive boolean false read-only Plan is active
» isDefault boolean false read-only Plan is default

Enumerated Values

Property Value
type monthly
type annual

Handle get RGSB client's Payment Methods data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/payment-methods', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/payment-methods HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/payment-methods \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/payment-methods',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/payment-methods

Handle get RGSB client's Payment Methods data

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

[
  {
    "id": "pm_16BjjhSqufOMZb9A",
    "status": "valid",
    "type": "card",
    "maskedNumber": "************4242",
    "expiryDate": "12/2021",
    "isPrimary": true
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Payment Methods entity Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [PaymentMethod] false none [Class RGSB clients' Payment Methods data]
» id string false read-only Unique payment method identifier
» status string false read-only Payment method status
» type any false read-only Payment method type
» maskedNumber string false read-only Payment method card masked number
» expiryDate string false read-only Payment method card End Date
» isPrimary boolean false read-only Payment method is primary

Enumerated Values

Property Value
type card
type direct_debit

Update RGSB client's current seat count

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/schemes/{schemeUuid}/billing/seats', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/schemes/{schemeUuid}/billing/seats HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/schemes/{schemeUuid}/billing/seats \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "currentSeatCount": 120
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/billing/seats',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /schemes/{schemeUuid}/billing/seats

Update RGSB client's current seat count

Body parameter

{
  "currentSeatCount": 120
}

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme
body body object true none
» currentSeatCount body integer false new current seat count value

Example responses

200 Response

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "email": "john.doe@rewardgateway.com",
  "firstName": "John",
  "lastName": "Doe",
  "type": "Charity",
  "status": "Active",
  "startDate": "2021-01-01 00:00:00",
  "freeTrialEndDate": "2021-01-14 00:00:00",
  "renewalDate": "2021-01-14 00:00:00",
  "billingDate": "2021-01-14 00:00:00",
  "cancelReasonId": 2,
  "otherReason": "",
  "churnOffer": false,
  "maxSeatCount": 150,
  "currentSeatCount": 1,
  "pricePerSeat": 3.5,
  "plan": "rgsb",
  "totalInvited": 3,
  "totalRegistered": 5,
  "totalRemoved": 1,
  "hasScheduledChange": true,
  "allowedPlanSwitchOptions": [
    {
      "allowedPlanSwitchOptions": "rgsb"
    }
  ],
  "billingAddress": [
    {
      "companyName": "Reward Gateway Ltd",
      "addressLineOne": "265 Tottenham Court Road",
      "addressLineTwo": "4th Floor",
      "county": "Greater London",
      "city": "London",
      "postalCode": "SM4 4AG",
      "country": "GB"
    }
  ],
  "total": 0.1,
  "amountDue": 0.1
}

Responses

Status Meaning Description Schema
200 OK Subscription is Updated Subscription
400 Bad Request Validaton errors None
401 Unauthorized Unauthorized Access Exception None
404 Not Found Not Found None

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/access-requests

Handle members assess requests via MagicLink

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

[
  {
    "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
    "memberUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
    "state": 20
  }
]
Status Meaning Description Schema
200 OK Members access requests updated Inline
401 Unauthorized Unauthorized Access Exception None

Status Code 200

Name Type Required Restrictions Description
anonymous [RGSBAccessRequests] false none [Class RGSBAccessRequests handle members assess requests via MagicLink entity]
» schemeUuid string false read-only Unique scheme identifier
» memberUuid string false none Unique member identifier
» state integer false none member state

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "memberUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "state": 20
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/access-requests',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /schemes/{schemeUuid}/access-requests

AccessRequest Update handle members assess requests via MagicLink

Body parameter

{
  "memberUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "state": 20
}
Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme
body body RGSBAccessRequests false none

Example responses

200 Response

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "memberUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "state": 20
}
Status Meaning Description Schema
200 OK Members access requests updated RGSBAccessRequests
401 Unauthorized Unauthorized Access Exception None
404 Not Found Not Found Exception None

Get all RGSB Comms Documents Categories

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/comms/categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/comms/categories HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/comms/categories \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /comms/categories

Get all RGSB Comms Documents Categories

Example responses

200 Response

[
  {
    "id": 5,
    "name": "Launch communications",
    "position": 6,
    "active": true,
    "dateCreated": "2021-01-01"
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Comms Documents Category Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Category not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CommsCategory] false none [Class Comms Category API data entity]
» id integer¦null false read-only Unique category identifier
» name string¦null false none Category name
» position integer¦null false none Position of the category
» active boolean¦null false none Category is active
» dateCreated string¦null false read-only Category creation date

Add new RGSB Comms Documents Category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/comms/categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/comms/categories HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/comms/categories \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "name": "Launch communications",
  "position": 6,
  "active": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/categories',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /comms/categories

Add new RGSB Comms Documents Category

Body parameter

{
  "name": "Launch communications",
  "position": 6,
  "active": true
}

Parameters

Name In Type Required Description
body body CommsCategory false none

Example responses

201 Response

{
  "id": 5,
  "name": "Launch communications",
  "position": 6,
  "active": true,
  "dateCreated": "2021-01-01"
}

Responses

Status Meaning Description Schema
201 Created RGSB Comms Documents Category CommsCategory
400 Bad Request Category exists None
401 Unauthorized Unauthorized Access Exception None

Update RGSB Comms Documents Categories

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/comms/categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/comms/categories HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/comms/categories \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '[
  {
    "name": "Launch communications",
    "position": 6,
    "active": true
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/categories',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /comms/categories

Update RGSB Comms Documents Categories

Body parameter

[
  {
    "name": "Launch communications",
    "position": 6,
    "active": true
  }
]

Parameters

Name In Type Required Description
body body CommsCategory false none

Example responses

200 Response

[
  {
    "id": 5,
    "name": "Launch communications",
    "position": 6,
    "active": true,
    "dateCreated": "2021-01-01"
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Comms Documents Category Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Category not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CommsCategory] false none [Class Comms Category API data entity]
» id integer¦null false read-only Unique category identifier
» name string¦null false none Category name
» position integer¦null false none Position of the category
» active boolean¦null false none Category is active
» dateCreated string¦null false read-only Category creation date

Get one RGSB Comms Documents Category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/comms/categories/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/comms/categories/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/comms/categories/{categoryId} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/categories/{categoryId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /comms/categories/{categoryId}

Get one RGSB Comms Documents Category

Parameters

Name In Type Required Description
categoryId path integer true Identifier of the category

Example responses

200 Response

{
  "id": 5,
  "name": "Launch communications",
  "position": 6,
  "active": true,
  "dateCreated": "2021-01-01"
}

Responses

Status Meaning Description Schema
200 OK RGSB Comms Documents Category CommsCategory
404 Not Found Category not found None

Update RGSB Comms Documents Category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/comms/categories/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/comms/categories/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/comms/categories/{categoryId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "name": "Launch communications",
  "position": 6,
  "active": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/categories/{categoryId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /comms/categories/{categoryId}

Update RGSB Comms Documents Category

Body parameter

{
  "name": "Launch communications",
  "position": 6,
  "active": true
}

Parameters

Name In Type Required Description
categoryId path integer true Identifier of the category
body body CommsCategory false none

Example responses

200 Response

{
  "id": 5,
  "name": "Launch communications",
  "position": 6,
  "active": true,
  "dateCreated": "2021-01-01"
}

Responses

Status Meaning Description Schema
200 OK RGSB Comms Documents Category CommsCategory
401 Unauthorized Unauthorized Access Exception None
404 Not Found Category not found None

Delete RGSB Comms Documents Category

Code samples

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/comms/categories/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/comms/categories/{categoryId} HTTP/1.1
Host: api.rewardgateway.net

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/comms/categories/{categoryId}


fetch('https://api.rewardgateway.net/comms/categories/{categoryId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /comms/categories/{categoryId}

Delete RGSB Comms Documents Category

Parameters

Name In Type Required Description
categoryId path integer true Identifier of the category

Responses

Status Meaning Description Schema
200 OK RGSB Comms Documents Category is deleted None
401 Unauthorized Unauthorized Access Exception None
404 Not Found Category not found None

Get all RGSB Comms Documents

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/comms/documents', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/comms/documents?categoryId=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/comms/documents?categoryId=123 \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents?categoryId=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /comms/documents

Get all RGSB Comms Documents

Parameters

Name In Type Required Description
categoryId query integer true Category Id

Example responses

200 Response

[
  {
    "id": 5,
    "title": "Engagement Guide",
    "type": "pdf",
    "thumbnailFileName": "image.png",
    "thumbnailFileUrl": "image.png",
    "categoryId": 1,
    "position": 6,
    "localeId": 3,
    "active": true,
    "dateCreated": "2021-01-01",
    "orientation": "portrait"
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Comms Documents Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CommsDocument] false none [Class Comms Document API data entity]
» id integer¦null false read-only Unique document identifier
» title string¦null false none Document title
» type string¦null false none Document type
» thumbnailFileName string¦null false none Document thumbnail file name
» thumbnailFileUrl string¦null false read-only Document thumbnail file URL
» categoryId integer¦null false none Document category id
» position integer¦null false none Position of the document in the category
» localeId integer¦null false none Locale id of the document
» active boolean¦null false none Document is active
» dateCreated string¦null false read-only Document creation date
» orientation string¦null false none Document pages orientation

Add new RGSB Comms Document

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/comms/documents', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/comms/documents HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/comms/documents \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "orientation": "portrait"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /comms/documents

Add new RGSB Comms Document

Body parameter

{
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "orientation": "portrait"
}

Parameters

Name In Type Required Description
body body CommsDocument false none

Example responses

201 Response

{
  "id": 5,
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "thumbnailFileUrl": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "dateCreated": "2021-01-01",
  "orientation": "portrait"
}

Responses

Status Meaning Description Schema
201 Created RGSB Comms Document CommsDocument
400 Bad Request Document exists None
401 Unauthorized Unauthorized Access Exception None

Update RGSB Comms Documents

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/comms/documents', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/comms/documents HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/comms/documents \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '[
  {
    "title": "Engagement Guide",
    "type": "pdf",
    "thumbnailFileName": "image.png",
    "categoryId": 1,
    "position": 6,
    "localeId": 3,
    "active": true,
    "orientation": "portrait"
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /comms/documents

Update RGSB Comms Documents

Body parameter

[
  {
    "title": "Engagement Guide",
    "type": "pdf",
    "thumbnailFileName": "image.png",
    "categoryId": 1,
    "position": 6,
    "localeId": 3,
    "active": true,
    "orientation": "portrait"
  }
]

Parameters

Name In Type Required Description
body body CommsDocument false none

Example responses

200 Response

[
  {
    "id": 5,
    "title": "Engagement Guide",
    "type": "pdf",
    "thumbnailFileName": "image.png",
    "thumbnailFileUrl": "image.png",
    "categoryId": 1,
    "position": 6,
    "localeId": 3,
    "active": true,
    "dateCreated": "2021-01-01",
    "orientation": "portrait"
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CommsDocument] false none [Class Comms Document API data entity]
» id integer¦null false read-only Unique document identifier
» title string¦null false none Document title
» type string¦null false none Document type
» thumbnailFileName string¦null false none Document thumbnail file name
» thumbnailFileUrl string¦null false read-only Document thumbnail file URL
» categoryId integer¦null false none Document category id
» position integer¦null false none Position of the document in the category
» localeId integer¦null false none Locale id of the document
» active boolean¦null false none Document is active
» dateCreated string¦null false read-only Document creation date
» orientation string¦null false none Document pages orientation

Get one RGSB Comms Document

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/comms/documents/{documentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/comms/documents/{documentId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/comms/documents/{documentId} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents/{documentId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /comms/documents/{documentId}

Get one RGSB Comms Document

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document

Example responses

200 Response

{
  "id": 5,
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "thumbnailFileUrl": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "dateCreated": "2021-01-01",
  "orientation": "portrait",
  "pages": [
    {
      "id": "20925ed6-de4d-4860-9952-94fb774582ed",
      "documentId": 1,
      "imageFileName": "image.png",
      "position": 6,
      "dateCreated": "2021-01-01",
      "logo": {
        "show": true,
        "vertical": "top",
        "horizontal": "right"
      },
      "url": {
        "show": true,
        "description": "Check out our website",
        "vertical": "top",
        "horizontal": "right"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document CommsDocumentAndPages
404 Not Found Document not found None

Update RGSB Comms Document

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/comms/documents/{documentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/comms/documents/{documentId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/comms/documents/{documentId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "orientation": "portrait"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents/{documentId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /comms/documents/{documentId}

Update RGSB Comms Document

Body parameter

{
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "orientation": "portrait"
}

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document
body body CommsDocument false none

Example responses

200 Response

{
  "id": 5,
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "thumbnailFileUrl": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "dateCreated": "2021-01-01",
  "orientation": "portrait"
}

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document CommsDocument
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document not found None

Delete RGSB Comms Document

Code samples

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/comms/documents/{documentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/comms/documents/{documentId} HTTP/1.1
Host: api.rewardgateway.net

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/comms/documents/{documentId}


fetch('https://api.rewardgateway.net/comms/documents/{documentId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /comms/documents/{documentId}

Delete RGSB Comms Document

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document is deleted None
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document not found None

Upload RGSB Comms Document thumb image

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/comms/documents/{documentId}/image', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/comms/documents/{documentId}/image HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/comms/documents/{documentId}/image \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json'

const inputBody = '{
  "file": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents/{documentId}/image',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /comms/documents/{documentId}/image

Upload RGSB Comms Document thumb image

Body parameter

file: string

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document
body body object false none
» file body string(file) true new document thumb image to add or replace existing

Example responses

200 Response

{
  "id": 5,
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "thumbnailFileUrl": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "dateCreated": "2021-01-01",
  "orientation": "portrait"
}

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document CommsDocument
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document not found None

Add new RGSB Comms Document Page

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/comms/documents/{documentId}/pages', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/comms/documents/{documentId}/pages HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/comms/documents/{documentId}/pages \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents/{documentId}/pages',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /comms/documents/{documentId}/pages

Add new RGSB Comms Document Page

Body parameter

{
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document
body body CommsDocumentPage false none

Example responses

201 Response

{
  "id": "20925ed6-de4d-4860-9952-94fb774582ed",
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "dateCreated": "2021-01-01",
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}

Responses

Status Meaning Description Schema
201 Created RGSB Comms Document Page CommsDocumentPage
401 Unauthorized Unauthorized Access Exception None

Update RGSB Comms Document Page

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /comms/documents/{documentId}/pages/{pageId}

Update RGSB Comms Document Page

Body parameter

{
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document
pageId path string true Identifier of the page
body body CommsDocumentPage false none

Example responses

200 Response

{
  "id": "20925ed6-de4d-4860-9952-94fb774582ed",
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "dateCreated": "2021-01-01",
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document Page CommsDocumentPage
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document Page not found None

Delete RGSB Comms Document Page

Code samples

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId} HTTP/1.1
Host: api.rewardgateway.net

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}


fetch('https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /comms/documents/{documentId}/pages/{pageId}

Delete RGSB Comms Document Page

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document
pageId path string true Identifier of the page

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document Page is deleted None
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document Page not found None

Upload RGSB Comms Document Page image

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}/image', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}/image HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}/image \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json'

const inputBody = '{
  "file": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/comms/documents/{documentId}/pages/{pageId}/image',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /comms/documents/{documentId}/pages/{pageId}/image

Upload RGSB Comms Document Page image

Body parameter

file: string

Parameters

Name In Type Required Description
documentId path integer true Identifier of the document
pageId path string true Identifier of the page
body body object false none
» file body string(file) true new page image to add or replace existing

Example responses

200 Response

{
  "id": "20925ed6-de4d-4860-9952-94fb774582ed",
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "dateCreated": "2021-01-01",
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}

Responses

Status Meaning Description Schema
200 OK RGSB Comms Document Page CommsDocumentPage
401 Unauthorized Unauthorized Access Exception None
404 Not Found Document Page not found None

Handle get RGSB client Engagement Meter

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/engagement-meter

Handle get RGSB client Engagement Meter

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "status": "Pending",
  "startDate": "2020-10-01 00:00:00",
  "skipDate": "2020-10-01 00:00:00",
  "isSkipped": true,
  "complete": "25%",
  "steps": [
    {
      "name": "Customisation",
      "description": "Invite your workforce",
      "link": "customisation",
      "isFinished": false,
      "seen": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK RGSB Engagement Meter entity EngagementMeter
401 Unauthorized Unauthorized Access Exception None
403 Forbidden Access token is valid but not allowed to complete this operation None

Handle updating RGSB client Engagement Meter

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "isSkipped": true,
  "steps": [
    {
      "isFinished": false,
      "seen": true
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-meter',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /schemes/{schemeUuid}/engagement-meter

Handle updating RGSB client Engagement Meter

Body parameter

{
  "isSkipped": true,
  "steps": [
    {
      "isFinished": false,
      "seen": true
    }
  ]
}

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme
body body EngagementMeter false none

Example responses

200 Response

{
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "status": "Pending",
  "startDate": "2020-10-01 00:00:00",
  "skipDate": "2020-10-01 00:00:00",
  "isSkipped": true,
  "complete": "25%",
  "steps": [
    {
      "name": "Customisation",
      "description": "Invite your workforce",
      "link": "customisation",
      "isFinished": false,
      "seen": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK RGSB Engagement Meter entity EngagementMeter
401 Unauthorized Unauthorized Access Exception None
403 Forbidden Access token is valid but not allowed to complete this operation None

Handle get RGSB client Engagement promoted Retailers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-retailers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-retailers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-retailers \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/engagement-retailers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/engagement-retailers

Handle get RGSB client Engagement promoted Retailers

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

[
  {
    "name": "Retailer Name",
    "logo": "logo.png",
    "link": "/Merchant?m=1234",
    "category": "Cashback",
    "saving": "Save 25%"
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Engagement Retailers Inline
401 Unauthorized Unauthorized Access Exception None
403 Forbidden Access token is valid but not allowed to complete this operation None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [EngagementRetailer] false none [Class Engagement promoted Retailer API data entity]
» name string false read-only Retailer Name
» logo string false read-only Retailer Logo path
» link string false read-only Retailer URL Link
» category string false read-only Retailer Category
» saving string false read-only Retailer Saving

Create payment method widget on payment provider

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/payment/portal/payment-method', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/payment/portal/payment-method HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/payment/portal/payment-method \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/payment/portal/payment-method',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /payment/portal/payment-method

Create payment method widget on payment provider

Example responses

200 Response

{
  "created_at": 1517506015,
  "embed": false,
  "expires_at": 1517592415,
  "id": "__test__LycuLPCkhW3axOiXjHWkOOVl3ZE3yLLni",
  "object": "hosted_page",
  "resource_version": 1517506015000,
  "state": "created",
  "type": "manage_payment_sources",
  "updated_at": 1517506015,
  "url": "https://yourapp.chargebee.com/pages/v3/__test__LycuLPCkhW3axOiXjHWkOOVl3ZE3yLLni/"
}

Responses

Status Meaning Description Schema
200 OK Widget created createPaymentMethodWidgetResponse
400 Bad Request scheme or onboarding data is invalid None
401 Unauthorized Unauthorized Access Exception None

Create portal session on payment provider

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/payment/portal/session', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/payment/portal/session HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/payment/portal/session \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/payment/portal/session',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /payment/portal/session

Create portal session on payment provider

Example responses

200 Response

{
  "portal_session": {
    "access_url": "https://yourapp.chargebeeportal.com/portal/access/__test__Lu9rnqItHAdfpSIyeyTbi1YYIxBCc2dq",
    "created_at": 1517506765,
    "customer_id": "__test__5SK0bLNFRFuCK5OOQ",
    "expires_at": 1517510365,
    "id": "portal___test__5SK0bLNFRFuCK5rOS",
    "linked_customers": [
      [
        {
          "customer_id": "__test__5SK0bLNFRFuCK5OOQ",
          "has_active_subscription": false,
          "has_billing_address": false,
          "has_payment_method": false,
          "object": "linked_customer"
        }
      ]
    ],
    "object": "portal_session",
    "redirect_url": "https://yourdomain.com/users/3490343",
    "status": "created",
    "token": "__test__Lu9rnqItHAdfpSIyeyTbi1YYIxBCc2dq"
  }
}

Responses

Status Meaning Description Schema
200 OK Portal session created Inline
401 Unauthorized Unauthorized Access Exception None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» portal_session object true none none
»» access_url string false none none
»» created_at integer false none none
»» customer_id string false none none
»» expires_at integer false none none
»» id string false none none
»» linked_customers [array] false none none
»»» customer_id string true none none
»»» has_active_subscription boolean true none none
»»» has_billing_address boolean true none none
»»» has_payment_method boolean true none none
»»» object string true none none
object string false none none
redirect_url string false none none
status string false none none
token string false none none

Create subscription widget on payment provider based on onboarding data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/payment/checkout/subscription', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/payment/checkout/subscription HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/payment/checkout/subscription \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/payment/checkout/subscription',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /payment/checkout/subscription

Create subscription widget on payment provider based on onboarding data

Example responses

200 Response

{
  "id": "g1IXH7lhvGJj4Hf1qqEUpffH6FiqY7zw",
  "type": "manage_payment_sources",
  "url": "https:\\/\\/rewardgateway-test.chargebee.com\\/pages\\/v3\\/g1IXH7lhvGJj4Hf1qqEUpffH6FiqY7zw\\/",
  "state": "created",
  "embed": false,
  "created_at": 1701253234,
  "expires_at": 1701685234,
  "object": "hosted_page",
  "updated_at": 1701253234,
  "resource_version": 1701253234540
}

Responses

Status Meaning Description Schema
200 OK Widget created Inline
400 Bad Request onboarding data is missing or invalid None
401 Unauthorized Unauthorized Access Exception None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» id string true none none
» type string true none none
» url string true none none
» state string true none none
» embed boolean true none none
» created_at integer true none none
» expires_at integer true none none
» object string true none none
» updated_at integer true none none
» resource_version integer true none none

Handle get RGSB client's referral data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/referral', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/referral HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/referral \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/referral',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/referral

Handle get RGSB client's referral data

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "hash": "1be2e9b9c638ed07528a",
  "dateAdded": "2020-10-01",
  "referralURL": "https://www.rewardgateway.com/?referral=w65gt6tg"
}

Responses

Status Meaning Description Schema
200 OK RGSB Referral entity Referral
401 Unauthorized Unauthorized Access Exception None
403 Forbidden Access token is valid but not allowed to complete this operation None

Returns list of documents for the programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/{schemeId}/comms', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/{schemeId}/comms HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/{schemeId}/comms \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}/comms',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/{schemeId}/comms

This endpoint will return you a list of documents related to your programme. i.e. Posters, Flyers etc

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path string true scheme id or UUID
category query array[string] false filter documents list by category

Example responses

200 Response

[
  {
    "title": "Discounts Poster",
    "downloadPath": "https://site1.rewardgateway.dev/admin/comms/document/DiscountsPoster",
    "thumbnailPath": "https://static.rewardgateway.dev/BrandAssets/responsive/img/SelfService/admin/comms/discounts-poster.jpg",
    "type": "PDF",
    "buttonText": "Download",
    "category": "Launch"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [commsDocument] false none [Class CommsDocument]
» title string false none Document Title
» downloadPath string false none URL to PDF download path
» thumbnailPath string false none URL to thumbnail image
» type string false none Document Type
» buttonText string false none Text to appear as button label
» category string false none Document category

New KYC applicant record

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/kyc', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/kyc HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/kyc \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "internalReferenceId": "1234-5678-9123",
  "type": "onboarding",
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@rewardgateway.com",
  "referer": "https://some.domain.com/page"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/kyc',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /kyc

This endpoint create an applicant that can start KYC proccessing

Body parameter

{
  "internalReferenceId": "1234-5678-9123",
  "type": "onboarding",
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@rewardgateway.com",
  "referer": "https://some.domain.com/page"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
body body KYCEntity false none

Example responses

200 Response

{
  "applicantId": "string",
  "internalReferenceId": "1234-5678-9123",
  "type": "onboarding",
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@rewardgateway.com",
  "referer": "https://some.domain.com/page",
  "token": "foo-bar",
  "status": "In progress"
}

Responses

Status Meaning Description Schema
200 OK New KYC applicant entity KYCEntity
400 Bad Request Data validation errors standardModel

Check KYC applicant status

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/kyc/{applicantId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/kyc/{applicantId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/kyc/{applicantId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/kyc/{applicantId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /kyc/{applicantId}

This endpoint return KYC applicant status

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
applicantId path string true KYC applicant member identifier

Example responses

200 Response

{
  "applicantId": "string",
  "internalReferenceId": "1234-5678-9123",
  "type": "onboarding",
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@rewardgateway.com",
  "referer": "https://some.domain.com/page",
  "token": "foo-bar",
  "status": "In progress"
}

Responses

Status Meaning Description Schema
200 OK Check KYC applicant status entity KYCEntity
400 Bad Request Data validation errors standardModel

New Client onboarding record

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/onboarding/{uuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/onboarding/{uuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/onboarding/{uuid} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "0437819232",
  "email": "john.doe@rewardgateway.com",
  "token": "foo-bar",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "numberOfEmployees": 50,
  "companyRegistrationNumber": "string",
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "county": "Greater London",
  "postalCode": "W1T 7RQ",
  "schemeAlias": "companyname.rewardgateway.com",
  "termsAndConditions": "2020-07-14 12:45:00",
  "localeId": 1,
  "languageCode": "string",
  "referralCode": "string",
  "freeTrial": true,
  "skipAllowed": true,
  "password": "string",
  "trackingCampaign": "string",
  "trackingSource": "string",
  "currentSeatCount": 0,
  "plan": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /onboarding/{uuid}

This endpoint update information for a new RGSB account

Body parameter

{
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "0437819232",
  "email": "john.doe@rewardgateway.com",
  "token": "foo-bar",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "numberOfEmployees": 50,
  "companyRegistrationNumber": "string",
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "county": "Greater London",
  "postalCode": "W1T 7RQ",
  "schemeAlias": "companyname.rewardgateway.com",
  "termsAndConditions": "2020-07-14 12:45:00",
  "localeId": 1,
  "languageCode": "string",
  "referralCode": "string",
  "freeTrial": true,
  "skipAllowed": true,
  "password": "string",
  "trackingCampaign": "string",
  "trackingSource": "string",
  "currentSeatCount": 0,
  "plan": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
uuid path string true Onboarding member identifier
languageCode query string false Locale Code
body body Onboarding false none

Example responses

200 Response

{
  "uuid": "string",
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "0437819232",
  "email": "john.doe@rewardgateway.com",
  "token": "foo-bar",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "numberOfEmployees": 50,
  "companyRegistrationNumber": "string",
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "county": "Greater London",
  "postalCode": "W1T 7RQ",
  "schemeAlias": "companyname.rewardgateway.com",
  "schemeId": 272,
  "schemeStatus": "Live",
  "termsAndConditions": "2020-07-14 12:45:00",
  "status": "New Prospect",
  "localeId": 1,
  "languageCode": "string",
  "verificationSentTimes": 1,
  "kycStatus": "string",
  "kycResult": "string",
  "referralCode": "string",
  "couponId": "string",
  "created": "string",
  "freeTrial": true,
  "skipAllowed": true,
  "password": "string",
  "trackingCampaign": "string",
  "trackingSource": "string",
  "pricePerSeat": 0,
  "currentSeatCount": 0,
  "plan": "string",
  "firstBillingDate": "string",
  "total": 0.1,
  "amountDue": 0.1
}

Responses

Status Meaning Description Schema
200 OK Successful operation Onboarding
400 Bad Request Data validation errors standardModel

Get client onboarding record

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/onboarding/{uuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/onboarding/{uuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/onboarding/{uuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /onboarding/{uuid}

This endpoint get information for RGSB account

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
uuid path string true Onboarding member identifier
languageCode query string false Locale Code

Example responses

200 Response

{
  "uuid": "string",
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "0437819232",
  "email": "john.doe@rewardgateway.com",
  "token": "foo-bar",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "numberOfEmployees": 50,
  "companyRegistrationNumber": "string",
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "county": "Greater London",
  "postalCode": "W1T 7RQ",
  "schemeAlias": "companyname.rewardgateway.com",
  "schemeId": 272,
  "schemeStatus": "Live",
  "termsAndConditions": "2020-07-14 12:45:00",
  "status": "New Prospect",
  "localeId": 1,
  "languageCode": "string",
  "verificationSentTimes": 1,
  "kycStatus": "string",
  "kycResult": "string",
  "referralCode": "string",
  "couponId": "string",
  "created": "string",
  "freeTrial": true,
  "skipAllowed": true,
  "password": "string",
  "trackingCampaign": "string",
  "trackingSource": "string",
  "pricePerSeat": 0,
  "currentSeatCount": 0,
  "plan": "string",
  "firstBillingDate": "string",
  "total": 0.1,
  "amountDue": 0.1
}

Responses

Status Meaning Description Schema
200 OK Successful operation Onboarding
400 Bad Request Data validation errors standardModel

Client Skip the onboarding flow

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/onboarding/{uuid}/skip', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/onboarding/{uuid}/skip HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/onboarding/{uuid}/skip \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}/skip',
{
  method: 'PUT',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /onboarding/{uuid}/skip

This endpoint create a new RGSB free trial account

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
uuid path string true Onboarding member identifier

Example responses

200 Response

{
  "uuid": "string",
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "0437819232",
  "email": "john.doe@rewardgateway.com",
  "token": "foo-bar",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "numberOfEmployees": 50,
  "companyRegistrationNumber": "string",
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "county": "Greater London",
  "postalCode": "W1T 7RQ",
  "schemeAlias": "companyname.rewardgateway.com",
  "schemeId": 272,
  "schemeStatus": "Live",
  "termsAndConditions": "2020-07-14 12:45:00",
  "status": "New Prospect",
  "localeId": 1,
  "languageCode": "string",
  "verificationSentTimes": 1,
  "kycStatus": "string",
  "kycResult": "string",
  "referralCode": "string",
  "couponId": "string",
  "created": "string",
  "freeTrial": true,
  "skipAllowed": true,
  "password": "string",
  "trackingCampaign": "string",
  "trackingSource": "string",
  "pricePerSeat": 0,
  "currentSeatCount": 0,
  "plan": "string",
  "firstBillingDate": "string",
  "total": 0.1,
  "amountDue": 0.1
}

Responses

Status Meaning Description Schema
200 OK Successful operation Onboarding
400 Bad Request Data validation errors standardModel

Reactivate client's closed scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/onboarding/{uuid}/reactivate', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/onboarding/{uuid}/reactivate HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/onboarding/{uuid}/reactivate \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/onboarding/{uuid}/reactivate',
{
  method: 'PUT',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /onboarding/{uuid}/reactivate

This endpoint reactivate a RGSB account

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
uuid path string true Onboarding member identifier

Example responses

200 Response

{
  "uuid": "string",
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "0437819232",
  "email": "john.doe@rewardgateway.com",
  "token": "foo-bar",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "numberOfEmployees": 50,
  "companyRegistrationNumber": "string",
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "county": "Greater London",
  "postalCode": "W1T 7RQ",
  "schemeAlias": "companyname.rewardgateway.com",
  "schemeId": 272,
  "schemeStatus": "Live",
  "termsAndConditions": "2020-07-14 12:45:00",
  "status": "New Prospect",
  "localeId": 1,
  "languageCode": "string",
  "verificationSentTimes": 1,
  "kycStatus": "string",
  "kycResult": "string",
  "referralCode": "string",
  "couponId": "string",
  "created": "string",
  "freeTrial": true,
  "skipAllowed": true,
  "password": "string",
  "trackingCampaign": "string",
  "trackingSource": "string",
  "pricePerSeat": 0,
  "currentSeatCount": 0,
  "plan": "string",
  "firstBillingDate": "string",
  "total": 0.1,
  "amountDue": 0.1
}

Responses

Status Meaning Description Schema
200 OK Successful operation Onboarding
400 Bad Request Data validation errors standardModel

Send a request to account admins to unlock features

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/onboarding/{onboardingUuid}/unlock-request', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/onboarding/{onboardingUuid}/unlock-request HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/onboarding/{onboardingUuid}/unlock-request \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "product": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/onboarding/{onboardingUuid}/unlock-request',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /onboarding/{onboardingUuid}/unlock-request

This endpoint emails current RGSB scheme admins with an unlock request

Body parameter

{
  "product": "string"
}

Parameters

Name In Type Required Description
onboardingUuid path string true Onboarding member identifier
body body object false none
» product body string false Limited product that member requesting for unlock

Example responses

200 Response

{
  "onboardingId": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c8"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» onboardingId string true none none

Clear the RR vouchers basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/basket HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/basket \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/basket',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/basket

Clear the RR vouchers basket

Example responses

401 Response

{
  "code": null,
  "message": null
}

Responses

Status Meaning Description Schema
200 OK Successful operation None
401 Unauthorized Unauthorized Access Exception errorModel
404 Not Found Basket was not found. errorModel

Remove product from RR basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/basket/{productId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/basket/{productId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/basket/{productId} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/basket/{productId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/basket/{productId}

Remove product from RR basket

Parameters

Name In Type Required Description
productId path integer true Identifier of the product

Example responses

401 Response

{
  "code": null,
  "message": null
}

Responses

Status Meaning Description Schema
200 OK Successful operation None
401 Unauthorized Unauthorized Access Exception errorModel
403 Forbidden Basket cannot be paid for. errorModel
404 Not Found Basket or Product was not found. errorModel

Change user password

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/user/{userId}/password', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/user/{userId}/password HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/user/{userId}/password \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/user/{userId}/password',
{
  method: 'PUT',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /user/{userId}/password

This endpoint will allow you to change a user's password. Currently only available for RGSB clients.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
userId path string true Identifier of the user

Example responses

200 Response

{
  "id": "00000000-0000-0000-0000-000000000000",
  "firstName": "John",
  "lastName": "Smith",
  "email": "john.smith@acme.com",
  "emailVisible": true,
  "summary": "Ipsum dolor sit amet",
  "timezone": "UK, Western Europe (GMT +1:00)",
  "gender": "X",
  "addressLine1": "123 Some Road",
  "addressLine2": "Floor 4",
  "addressLine3": "London",
  "addressLine4": "London",
  "postalCode": "AA00 0AA",
  "country": "United Kingdom",
  "mobileNumber": "07700900077",
  "mobileNumberVisible": true,
  "telephoneNumber": "02700900077",
  "avatar": "https://www.acme.com/path/to/image.jpg",
  "dateOfBirth": "2019-08-24T14:15:22Z",
  "dateOfBirthVisible": true,
  "registrationDate": "2019-08-24T14:15:22Z",
  "registrationInfo": "Lorem ipsum dolor sit amet",
  "pushNotifications": true,
  "registrationQuestionsAnswers": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation MyUser
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Updates scheme colour settings

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/scheme/{schemeId}/colour', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/scheme/{schemeId}/colour HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/scheme/{schemeId}/colour \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}/colour',
{
  method: 'PUT',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /scheme/{schemeId}/colour

This endpoint allows you to update programme colors associated with your programme. These are * the themese colors used with the site.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path string true scheme id

Example responses

200 Response

{
  "navigationBackground": "003865",
  "buttonBackground": "003865",
  "colour20": "003865",
  "colour21": "003865"
}

Responses

Status Meaning Description Schema
200 OK Successful operation schemeColour
400 Bad Request Validation Errors standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Replaces programme logo image

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/scheme/{schemeId}/logo', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/scheme/{schemeId}/logo HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/scheme/{schemeId}/logo \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "file": "string",
  "companyImage": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}/logo',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /scheme/{schemeId}/logo

Replaces scheme logo image using binary file in request body. Content-Type header must be correct mime-type or multipart/form-data

Body parameter

file: string
companyImage: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path string true scheme id
body body object false none
» file body string(file) true new logo image to replace existing logo
» companyImage body string(file) false new company image to replace existing one

Example responses

200 Response

{
  "imageUrl": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Validation Errors standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» imageUrl string false none none

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/alias', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/alias?hostname=Scheme%20hostname HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/alias?hostname=Scheme%20hostname \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/alias?hostname=Scheme%20hostname',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/alias

This endpoint will return the preferred domain related if found.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
hostname query string true Scheme hostname

Example responses

200 Response

{
  "id": "string",
  "hostname": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation self_service_alias
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme alias not found standardModel

Creates a programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/scheme', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/scheme HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/scheme \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "name": "Reward Hub",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "accountId": "0061j000007EKwDAAW",
  "subAccountId": "0061j000007EKwDAAW",
  "parentAccountId": "0061j000007EKwDAAW",
  "opportunityId": "0061j000007EKwDAAW",
  "emailDomain": "txn.mail.rewardgateway.net",
  "schemeType": "rarebreed",
  "localeId": 1,
  "locale": "GB",
  "postalCode": "W1T 7RQ",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "string",
  "addressLine3": "London",
  "addressLine4": "string",
  "companyRegistrationNumber": "string",
  "accountManagerEmail": "account.manager@rewardgateway.com",
  "implementationManagerEmail": "implementation.manager@rewardgateway.com",
  "status": 0,
  "type": 0,
  "user": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@rewardgateway.com",
    "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
    "phoneNumber": "0437819232",
    "verificationCode": 123456
  },
  "billingCountry": 0,
  "externalLinkFormat": "https://salesforce.com/{scheme.externalId}",
  "externalAccountId": "0019E00002NyByYQAV"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /scheme

This endpoint will allow you to create a brand new programme for use.

Body parameter

{
  "name": "Reward Hub",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "accountId": "0061j000007EKwDAAW",
  "subAccountId": "0061j000007EKwDAAW",
  "parentAccountId": "0061j000007EKwDAAW",
  "opportunityId": "0061j000007EKwDAAW",
  "emailDomain": "txn.mail.rewardgateway.net",
  "schemeType": "rarebreed",
  "localeId": 1,
  "locale": "GB",
  "postalCode": "W1T 7RQ",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "string",
  "addressLine3": "London",
  "addressLine4": "string",
  "companyRegistrationNumber": "string",
  "accountManagerEmail": "account.manager@rewardgateway.com",
  "implementationManagerEmail": "implementation.manager@rewardgateway.com",
  "status": 0,
  "type": 0,
  "user": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@rewardgateway.com",
    "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
    "phoneNumber": "0437819232",
    "verificationCode": 123456
  },
  "billingCountry": 0,
  "externalLinkFormat": "https://salesforce.com/{scheme.externalId}",
  "externalAccountId": "0019E00002NyByYQAV"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
body body self_service_scheme false none

Example responses

200 Response

{
  "id": "string",
  "uuid": "b2b0a0a0-0a0a-0a0a-0a0a-0a0a0a0a0a0a",
  "name": "Reward Hub",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "accountId": "0061j000007EKwDAAW",
  "subAccountId": "0061j000007EKwDAAW",
  "parentAccountId": "0061j000007EKwDAAW",
  "opportunityId": "0061j000007EKwDAAW",
  "emailDomain": "txn.mail.rewardgateway.net",
  "schemeType": "rarebreed",
  "localeId": 1,
  "locale": "GB",
  "postalCode": "W1T 7RQ",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "string",
  "addressLine3": "London",
  "addressLine4": "string",
  "companyRegistrationNumber": "string",
  "accountManagerEmail": "account.manager@rewardgateway.com",
  "implementationManagerEmail": "implementation.manager@rewardgateway.com",
  "status": 0,
  "type": 0,
  "user": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@rewardgateway.com",
    "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
    "phoneNumber": "0437819232",
    "verificationCode": 123456
  },
  "billingCountry": 0,
  "tradingCompany": "string",
  "externalLinkFormat": "https://salesforce.com/{scheme.externalId}",
  "externalAccountId": "0019E00002NyByYQAV"
}

Responses

Status Meaning Description Schema
200 OK Successful operation self_service_scheme
403 Forbidden Access to the resource has been denied standardModel

Updates programme details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/scheme/{schemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/scheme/{schemeId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/scheme/{schemeId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "name": "Reward Hub",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "accountId": "0061j000007EKwDAAW",
  "subAccountId": "0061j000007EKwDAAW",
  "parentAccountId": "0061j000007EKwDAAW",
  "opportunityId": "0061j000007EKwDAAW",
  "emailDomain": "txn.mail.rewardgateway.net",
  "schemeType": "rarebreed",
  "localeId": 1,
  "locale": "GB",
  "postalCode": "W1T 7RQ",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "string",
  "addressLine3": "London",
  "addressLine4": "string",
  "companyRegistrationNumber": "string",
  "accountManagerEmail": "account.manager@rewardgateway.com",
  "implementationManagerEmail": "implementation.manager@rewardgateway.com",
  "status": 0,
  "type": 0,
  "user": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@rewardgateway.com",
    "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
    "phoneNumber": "0437819232",
    "verificationCode": 123456
  },
  "billingCountry": 0,
  "externalLinkFormat": "https://salesforce.com/{scheme.externalId}",
  "externalAccountId": "0019E00002NyByYQAV"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /scheme/{schemeId}

This endpoint allows you to update all details related to a programme.

Body parameter

{
  "name": "Reward Hub",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "accountId": "0061j000007EKwDAAW",
  "subAccountId": "0061j000007EKwDAAW",
  "parentAccountId": "0061j000007EKwDAAW",
  "opportunityId": "0061j000007EKwDAAW",
  "emailDomain": "txn.mail.rewardgateway.net",
  "schemeType": "rarebreed",
  "localeId": 1,
  "locale": "GB",
  "postalCode": "W1T 7RQ",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "string",
  "addressLine3": "London",
  "addressLine4": "string",
  "companyRegistrationNumber": "string",
  "accountManagerEmail": "account.manager@rewardgateway.com",
  "implementationManagerEmail": "implementation.manager@rewardgateway.com",
  "status": 0,
  "type": 0,
  "user": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@rewardgateway.com",
    "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
    "phoneNumber": "0437819232",
    "verificationCode": 123456
  },
  "billingCountry": 0,
  "externalLinkFormat": "https://salesforce.com/{scheme.externalId}",
  "externalAccountId": "0019E00002NyByYQAV"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path string true scheme id or UUID
body body self_service_scheme false none

Example responses

200 Response

{
  "id": "string",
  "uuid": "b2b0a0a0-0a0a-0a0a-0a0a-0a0a0a0a0a0a",
  "name": "Reward Hub",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "accountId": "0061j000007EKwDAAW",
  "subAccountId": "0061j000007EKwDAAW",
  "parentAccountId": "0061j000007EKwDAAW",
  "opportunityId": "0061j000007EKwDAAW",
  "emailDomain": "txn.mail.rewardgateway.net",
  "schemeType": "rarebreed",
  "localeId": 1,
  "locale": "GB",
  "postalCode": "W1T 7RQ",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "string",
  "addressLine3": "London",
  "addressLine4": "string",
  "companyRegistrationNumber": "string",
  "accountManagerEmail": "account.manager@rewardgateway.com",
  "implementationManagerEmail": "implementation.manager@rewardgateway.com",
  "status": 0,
  "type": 0,
  "user": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@rewardgateway.com",
    "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
    "phoneNumber": "0437819232",
    "verificationCode": 123456
  },
  "billingCountry": 0,
  "tradingCompany": "string",
  "externalLinkFormat": "https://salesforce.com/{scheme.externalId}",
  "externalAccountId": "0019E00002NyByYQAV"
}

Responses

Status Meaning Description Schema
200 OK Successful operation self_service_scheme
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Re-send members invitations

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/scheme/{schemeId}/invitations', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/scheme/{schemeId}/invitations HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/scheme/{schemeId}/invitations \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '[
  {
    "memberId": "327c1682-c7b7-11ec-9d64-0242ac120002",
    "resend": true
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}/invitations',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /scheme/{schemeId}/invitations

This endpoint allows you to re-sends invitation emails to all currently invited members of the * RG for Small Business scheme.

Body parameter

[
  {
    "memberId": "327c1682-c7b7-11ec-9d64-0242ac120002",
    "resend": true
  }
]

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path string true scheme id or UUID
body body self_service_invitations true none

Example responses

200 Response

[
  {
    "memberId": "327c1682-c7b7-11ec-9d64-0242ac120002",
    "resend": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Validation Errors standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [self_service_invitations] false none none
» Self Service Invitations self_service_invitations false none none
»» memberId string true none none
»» resend boolean true none none

Retrieve the locales for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/{schemeId}/locales', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/{schemeId}/locales HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/{schemeId}/locales \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}/locales',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/{schemeId}/locales

Endpoint returns all the locales that are supported for a given scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path integer true scheme id

Example responses

200 Response

[
  {
    "id": 1,
    "name": "GB",
    "lang": "en_GB",
    "currency": "GBP",
    "symbol": "£",
    "states": [
      {
        "code": "string",
        "name": "string"
      }
    ],
    "contactFields": {
      "firstName": "First Name",
      "lastName": "Surname",
      "emailAddress": "Email Address",
      "mobilePhoneNumber": "Mobile Phone Number",
      "addressLine1": "Address Line 1",
      "addressLine2": "Address Line 2",
      "addressLine3": "Address Line 3",
      "addressLine4": "Address Line 4",
      "postCode": "Postcode"
    },
    "mappings": {
      "locale": "Locale CDN url",
      "fallback": "Fallback locale CDN url"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GenericLocale] false none none
» Generic Locale GenericLocale false none none
»» id integer(int32) true none Locale identifier
»» name string true none Locale name
»» lang string true none Locale language
»» currency string true none Locale currency
»» symbol string true none Locale currency symbol
»» states [GenericState] true none Locale state list
»»» Generic State GenericState false none none
»»»» code string true none none
»»»» name string true none none
»» contactFields object true none none
»»» firstName any false none List of translated contact fields
»»» lastName any false none none
»»» emailAddress any false none none
»»» mobilePhoneNumber any false none none
»»» addressLine1 any false none none
»»» addressLine2 any false none none
»»» addressLine3 any false none none
»»» addressLine4 any false none none
»»» postCode any false none none
»» mappings object false none none
»»» locale string false none Mappings to download jsons for React apps
»»» fallback string false none none

Retrieve discrimantory fields.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/{schemeUuid}/discriminatory-fields', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/{schemeUuid}/discriminatory-fields HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/{schemeUuid}/discriminatory-fields \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeUuid}/discriminatory-fields',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/{schemeUuid}/discriminatory-fields

Endpoint returns all the discriminatory fields that are supported for the user's programme.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeUuid path string true scheme uuid

Example responses

200 Response

[
  {
    "id": "string",
    "rawId": 0,
    "field": "string",
    "values": [
      {
        "id": 1,
        "name": "Foo"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GenericProfileField] false none [Discrimantory field for a programme.]
» id string true none id of the current field.
» rawId integer true none raw id of the current field.
» field string true none current field name.
» values [object] false none Possible field values.
»» id integer true none Id of the possible answer
»» name string true none Discriminatory field answer

Returns the programme domain

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/{schemeId}/alias', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/{schemeId}/alias HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/{schemeId}/alias \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}/alias',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/{schemeId}/alias

This endpoint will return the domains attached to the programme identifier that is passed.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path integer true Identifier of the scheme

Example responses

200 Response

{
  "id": "string",
  "hostname": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation self_service_alias
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme or alias is not found standardModel

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/scheme/{schemeId}/alias', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/scheme/{schemeId}/alias HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/scheme/{schemeId}/alias \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "hostname": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/{schemeId}/alias',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /scheme/{schemeId}/alias

This endpoint will allow you to replace the current domain attached to a programme.

Body parameter

{
  "hostname": "string"
}
Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeId path integer true scheme id
body body self_service_alias false none

Example responses

200 Response

{
  "id": "string",
  "hostname": "string"
}
Status Meaning Description Schema
200 OK Successful operation self_service_alias
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Fetch member wellbeing limitations

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/wellbeing/{memberUuid}/limitation', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/wellbeing/{memberUuid}/limitation HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/wellbeing/{memberUuid}/limitation \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/wellbeing/{memberUuid}/limitation',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /wellbeing/{memberUuid}/limitation

Fetch member wellbeing limitations

Parameters

Name In Type Required Description
memberUuid path string true Unique identifier of the member

Example responses

200 Response

[
  {
    "id": "12",
    "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
    "memberUuid": "8b62c7ca-a8ca-4805-b9d0-09c36383e0d0",
    "type": "Articles",
    "seen": 5,
    "max": 10
  }
]

Responses

Status Meaning Description Schema
200 OK RGSB Wellbeing Limitations Inline
403 Forbidden Access token is valid but not allowed to complete this operation None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Limits] false none [Class Wellbeing Limits API data entity]
» id string false read-only Limitation id
» schemeUuid string false none Unique string to identify scheme
» memberUuid string false none Unique string to identify member
» type string false none Wellbeing media type
» seen integer false none Number of seen elements
» max integer false none Maximum wellbeing elements that member can see

Enumerated Values

Property Value
type Articles
type Recipes
type Videos

SmartSpending

Smart Spending product related endpoints

Allocate Stocked Discount Code

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartspending/discountcode/stocked/{offerId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartspending/discountcode/stocked/{offerId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartspending/discountcode/stocked/{offerId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/smartspending/discountcode/stocked/{offerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartspending/discountcode/stocked/{offerId}

This endpoint will return new, already allocated or none stocked discount code per user by offer

Parameters

Name In Type Required Description
offerId path integer true Identifier of the offer
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

{
  "success": true,
  "message": "",
  "code": "ABC",
  "expiryDate": "2020-03-03",
  "retailerURL": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid offer id None
401 Unauthorized Unauthorized Access Exception None
404 Not Found Offer not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» message string false none none
» code string false none none
» expiryDate string false none none
» retailerURL string false none none

Titled promotions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartspending/promotions/top-offers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartspending/promotions/top-offers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartspending/promotions/top-offers \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/smartspending/promotions/top-offers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartspending/promotions/top-offers

Returns titled promotions

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
limit query integer false Number of items per page for paginated collections

Example responses

200 Response

[
  {
    "title": "Top Offers",
    "promotions": [
      {
        "banner": {
          "image": "https://www.acme.com/path/to/image.jpg",
          "title": "Title of this banner",
          "subtitle": "Subtitle of this banner",
          "endsOn": "2019-08-24T14:15:22Z"
        },
        "retailer": {
          "id": 1234,
          "name": "Acme",
          "logo": "https://www.acme.com/path/to/image.jpg",
          "description": "Retailer description for Acme",
          "isFavourite": true,
          "isFeatured": true,
          "category": {
            "_links": {
              "self": {
                "href": null
              },
              "hierarchy": {
                "href": "/category/{categoryId}/hierarchy"
              }
            },
            "id": 123,
            "name": "Reloadable cards",
            "retailerCount": 45,
            "isFavourite": true
          }
        },
        "offer": {
          "id": 9999,
          "typeId": 9999,
          "type": "Cashback",
          "description": "Description for this offer",
          "keyInformation": "Key information for this offer",
          "howItWorks": "Details on how this offer works",
          "termsAndConditions": "Terms & conditions of this offer",
          "expiryDate": "2019-08-24T14:15:22Z",
          "specialOffer": true,
          "redeemableOnDesktop": true,
          "redeemableOnMobile": true,
          "discount": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          },
          "normally": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          }
        }
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
304 Not Modified Response was not modified None
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [titledPromotion] false none [Class TitledPromotion]
» title string true none Named Title
» promotions [promotion] true none Promotions
»» banner banner true none Class Banner
»»» image string true none Banner image location (URL)
»»» title string true none Banner title
»»» subtitle string true none Banner subtitle
»»» endsOn string(date-time) true none Banner ends on date
»» retailer retailer true none Class Retailer
»»» id integer(int32) true none Retailer identifier
»»» name string true none Retailer's name
»»» logo string true none Retailer's logo (URL)
»»» description string true none Retailer's description
»»» isFavourite boolean true none Is retailer favourited
»»» isFeatured boolean true none Is retailer featured
»»» category cat false none Class Category
»»»» _links object false none none
»»»»» self object false none none
»»»»»» href any false none none
»»»»» hierarchy object false none none
»»»»»» href string false none Endpoint to retrieve category hierarchy
»»»» id integer(int32) true none Category identifier
»»»» name string true none Category name
»»»» retailerCount integer(int32) true none Category retailer count
»»»» isFavourite boolean(boolean) true none Category favourite
»» offer offer true none Class Offer
»»» id integer(int32) true none Offer identifier
»»» typeId integer(int32) true none Type id of the offer
»»» type string true none Type of the offer
»»» description string true none Offer's description
»»» keyInformation string true none Offer's key information
»»» howItWorks string true none How the offer works
»»» termsAndConditions string true none Offer's terms and conditions
»»» expiryDate string(date-time) true none Offer's expiry date
»»» specialOffer boolean true none Is this a special offer?
»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»» discount discount true none Class Discount
»»»» saving string true none Discount savings
»»»» description string true none Discount description
»»»» useableInStore boolean true none Discount can be used in-store
»»»» useableOnline boolean true none Discount can be used online
»»»» startsOn string(date-time) true none Discount is valid from
»»»» endsOn string(date-time) true none Discount is valid until
»»» normally discount false none Class Discount

Response Headers

Status Header Type Format Description
200 ETag string ETag version of the response
304 ETag string ETag version of the response

Endpoint for voucher webhooks

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartspending/voucher/webhook', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartspending/voucher/webhook?supplier=XoxoDay HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartspending/voucher/webhook?supplier=XoxoDay \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/smartspending/voucher/webhook?supplier=XoxoDay',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartspending/voucher/webhook

Webhook used by suppliers to notify us of order data changes on their end

Parameters

Name In Type Required Description
supplier query string true supplier name

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel

Get a list of offers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/offer', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/offer?retailer=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/offer?retailer=123 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/offer?retailer=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /offer

This endpoint returns a list of offers available based on the filter criteria

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
retailer query integer true Value must be a valid retailer identifier
type query string false Value must be comma-separated combination of 'sms', 'evoucher', 'egiftcard', cashback', 'instant', 'instore', 'online', 'topup', 'easysaver'

Example responses

200 Response

[
  {
    "id": 9999,
    "typeId": 9999,
    "type": "Cashback",
    "description": "Description for this offer",
    "keyInformation": "Key information for this offer",
    "howItWorks": "Details on how this offer works",
    "termsAndConditions": "Terms & conditions of this offer",
    "expiryDate": "2019-08-24T14:15:22Z",
    "specialOffer": true,
    "redeemableOnDesktop": true,
    "redeemableOnMobile": true,
    "discount": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    },
    "normally": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Retailer is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [offer] false none [Class Offer]
» id integer(int32) true none Offer identifier
» typeId integer(int32) true none Type id of the offer
» type string true none Type of the offer
» description string true none Offer's description
» keyInformation string true none Offer's key information
» howItWorks string true none How the offer works
» termsAndConditions string true none Offer's terms and conditions
» expiryDate string(date-time) true none Offer's expiry date
» specialOffer boolean true none Is this a special offer?
» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
» redeemableOnMobile boolean true none Offer can be redeemed on mobile
» discount discount true none Class Discount
»» saving string true none Discount savings
»» description string true none Discount description
»» useableInStore boolean true none Discount can be used in-store
»» useableOnline boolean true none Discount can be used online
»» startsOn string(date-time) true none Discount is valid from
»» endsOn string(date-time) true none Discount is valid until
» normally discount false none Class Discount

Get tracking token for cashback

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/offer/starttracking', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/offer/starttracking HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/offer/starttracking \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "offerId": 0
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/offer/starttracking',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /offer/starttracking

This endpoint generates and returns a new token for cashback tracking

Body parameter

offerId: 0

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» offerId body integer false Offer identifier

Example responses

200 Response

{
  "trackingId": "string",
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Offer is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» trackingId string true none none
» message string true none none

Get all retailer categories

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/categories HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/categories \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/retailer/categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/categories

This endpoint returns a list of all retailer categories

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "description": "string",
    "configurationId": 0,
    "categoryType": "string",
    "deleted": true,
    "enabled": true,
    "hasCustomImage": true,
    "defaultLogo": "string",
    "productIds": [
      12
    ],
    "displayName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Retailer is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionCategory] false none none
» Redemption Category redemptionCategory false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» description string true none Description
»» configurationId integer¦null true none ConfigurationId
»» categoryType string true none CategoryType
»» deleted boolean true none Deleted
»» enabled boolean true none Enabled
»» hasCustomImage boolean false none HasCustomImage
»» defaultLogo string¦null false none DefaultLogo
»» productIds [integer]¦null false none ProductIds
»» displayName string¦null false none DisplayName

Get all retailers' promotions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/promotions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/promotions HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/promotions \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/retailer/promotions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/promotions

This endpoint returns any deals and top offers from retailers

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
offer_type query string false Value must be comma-separated combination of 'evoucher', 'egiftcard', cashback', 'instant', 'instore', 'online'

Example responses

200 Response

[
  {
    "name": "string",
    "items": [
      {
        "id": 1234,
        "name": "Acme",
        "logo": "https://www.acme.com/path/to/image.jpg",
        "description": "Retailer description for Acme",
        "isFavourite": true,
        "isFeatured": true,
        "category": {
          "_links": {
            "self": {
              "href": null
            },
            "hierarchy": {
              "href": "/category/{categoryId}/hierarchy"
            }
          },
          "id": 123,
          "name": "Reloadable cards",
          "retailerCount": 45,
          "isFavourite": true
        }
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Retailer is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [retailerPromotion] false none [Class RetailerPromotion]
» name string true none none
» items [retailer] true none [Class Retailer]
»» id integer(int32) true none Retailer identifier
»» name string true none Retailer's name
»» logo string true none Retailer's logo (URL)
»» description string true none Retailer's description
»» isFavourite boolean true none Is retailer favourited
»» isFeatured boolean true none Is retailer featured
»» category cat false none Class Category
»»» _links object false none none
»»»» self object false none none
»»»»» href any false none none
»»»» hierarchy object false none none
»»»»» href string false none Endpoint to retrieve category hierarchy
»»» id integer(int32) true none Category identifier
»»» name string true none Category name
»»» retailerCount integer(int32) true none Category retailer count
»»» isFavourite boolean(boolean) true none Category favourite

Get all domain hashes.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/domain/hashes', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/domain/hashes HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/domain/hashes \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/retailer/domain/hashes',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/domain/hashes

This endpoint returns a list of all SHA1 domain hashes that can be matched by calls.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  null
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Total number of retailers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/count', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/count HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/count \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/retailer/count',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/count

Return the total number of available retailers for a scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "id": 1234,
    "name": "Acme",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Retailer description for Acme",
    "isFavourite": true,
    "isFeatured": true,
    "category": {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [retailer] false none [Class Retailer]
» id integer(int32) true none Retailer identifier
» name string true none Retailer's name
» logo string true none Retailer's logo (URL)
» description string true none Retailer's description
» isFavourite boolean true none Is retailer favourited
» isFeatured boolean true none Is retailer featured
» category cat false none Class Category
»» _links object false none none
»»» self object false none none
»»»» href any false none none
»»» hierarchy object false none none
»»»» href string false none Endpoint to retrieve category hierarchy
»» id integer(int32) true none Category identifier
»» name string true none Category name
»» retailerCount integer(int32) true none Category retailer count
»» isFavourite boolean(boolean) true none Category favourite

Get a retailer by a domain hash

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/domain/{hash}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/domain/{hash} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/domain/{hash} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/retailer/domain/{hash}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/domain/{hash}

This endpoint returns information about a particular retailer based on their domain.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
hash path string true SHA-1 of retailer domain

Example responses

200 Response

[
  {
    "retailer": {
      "id": 1234,
      "name": "Acme",
      "logo": "https://www.acme.com/path/to/image.jpg",
      "description": "Retailer description for Acme",
      "isFavourite": true,
      "isFeatured": true,
      "category": {
        "_links": {
          "self": {
            "href": null
          },
          "hierarchy": {
            "href": "/category/{categoryId}/hierarchy"
          }
        },
        "id": 123,
        "name": "Reloadable cards",
        "retailerCount": 45,
        "isFavourite": true
      }
    },
    "bestOffer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [retailerDetails] false none [Class Retailer]
» retailer retailer true none Class Retailer
»» id integer(int32) true none Retailer identifier
»» name string true none Retailer's name
»» logo string true none Retailer's logo (URL)
»» description string true none Retailer's description
»» isFavourite boolean true none Is retailer favourited
»» isFeatured boolean true none Is retailer featured
»» category cat false none Class Category
»»» _links object false none none
»»»» self object false none none
»»»»» href any false none none
»»»» hierarchy object false none none
»»»»» href string false none Endpoint to retrieve category hierarchy
»»» id integer(int32) true none Category identifier
»»» name string true none Category name
»»» retailerCount integer(int32) true none Category retailer count
»»» isFavourite boolean(boolean) true none Category favourite
» bestOffer offer true none Class Offer
»» id integer(int32) true none Offer identifier
»» typeId integer(int32) true none Type id of the offer
»» type string true none Type of the offer
»» description string true none Offer's description
»» keyInformation string true none Offer's key information
»» howItWorks string true none How the offer works
»» termsAndConditions string true none Offer's terms and conditions
»» expiryDate string(date-time) true none Offer's expiry date
»» specialOffer boolean true none Is this a special offer?
»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»» discount discount true none Class Discount
»»» saving string true none Discount savings
»»» description string true none Discount description
»»» useableInStore boolean true none Discount can be used in-store
»»» useableOnline boolean true none Discount can be used online
»»» startsOn string(date-time) true none Discount is valid from
»»» endsOn string(date-time) true none Discount is valid until
»» normally discount false none Class Discount

Get a retailer's redirect URL

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/{id}/redirect', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/{id}/redirect HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/{id}/redirect \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/retailer/{id}/redirect',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/{id}/redirect

This endpoint returns the redirect URL for a particular retailer

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path integer true Retailer identifier

Example responses

200 Response

{
  "redirect": "https://vip.rewardgateway.co.uk/Merchant?m=1234"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Retailer is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» redirect string false none none

Set retailer as favourite or remove it from favourites

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/retailer/favourites/toggleFavourite', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/retailer/favourites/toggleFavourite HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/retailer/favourites/toggleFavourite \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "retailerId": 0,
  "isFavourite": 0
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/retailer/favourites/toggleFavourite',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /retailer/favourites/toggleFavourite

This endpoint will add or remove a retailer as favourite from the current member's account

Body parameter

retailerId: 0
isFavourite: 0

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» retailerId body integer true Valid retailerId
» isFavourite body integer true 1 to add and 0 to remove the retailer from favourites

Example responses

200 Response

{
  "status": "string",
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Retailer is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» status string true none none
» message string true none none

Setup a new recurring order.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartspending/recurring', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartspending/recurring HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartspending/recurring \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "basketId": "C17",
  "value": 10,
  "subscriptionId": "card_91515795-33B4-582F-08D3-366577D2BCH4",
  "type": "weekly",
  "dayOfTheMonth": 0,
  "dayOfTheWeek": 4
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/smartspending/recurring',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartspending/recurring

Setup a new recurring order.

Body parameter

{
  "basketId": "C17",
  "value": 10,
  "subscriptionId": "card_91515795-33B4-582F-08D3-366577D2BCH4",
  "type": "weekly",
  "dayOfTheMonth": 0,
  "dayOfTheWeek": 4
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
body body object true Request body required for setting up recurring
» basketId body string false Instrument id with C char in front
» value body integer false none
» subscriptionId body string false none
» type body string false Accepted types: weekly, monthly
» dayOfTheMonth body integer false none
» dayOfTheWeek body integer false none

Example responses

200 Response

{
  "id": 0,
  "basketId": "string",
  "productId": 0,
  "instrumentId": 0,
  "subscriptionId": "string",
  "orderId": "string",
  "value": 0,
  "type": "string",
  "dayOfTheWeek": 0,
  "dayOfTheMonth": 0,
  "status": "string",
  "smsNotification": 0,
  "phone": "string"
}

Responses

Status Meaning Description Schema
200 OK Recurring data Recurring
400 Bad Request Invalid product/instrument id None
401 Unauthorized Unauthorized Access Exception None

Edit recurring order.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/smartspending/recurring/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/smartspending/recurring/{id} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/smartspending/recurring/{id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "basketId": "C17",
  "contactId": 1,
  "value": 10,
  "type": "weekly",
  "dayOfTheMonth": 0,
  "dayOfTheWeek": 4
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/smartspending/recurring/{id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /smartspending/recurring/{id}

Edit an existing recurring order.

Body parameter

{
  "basketId": "C17",
  "contactId": 1,
  "value": 10,
  "type": "weekly",
  "dayOfTheMonth": 0,
  "dayOfTheWeek": 4
}

Parameters

Name In Type Required Description
id path integer true Identifier of the order
body body object true Request body required for updating the recurring order
» basketId body string false Instrument id with C char in front
» contactId body integer false none
» value body integer false none
» type body string false Accepted types: weekly, monthly
» dayOfTheMonth body integer false none
» dayOfTheWeek body integer false none

Example responses

200 Response

{
  "id": 0,
  "basketId": "string",
  "productId": 0,
  "instrumentId": 0,
  "subscriptionId": "string",
  "orderId": "string",
  "value": 0,
  "type": "string",
  "dayOfTheWeek": 0,
  "dayOfTheMonth": 0,
  "status": "string",
  "smsNotification": 0,
  "phone": "string"
}

Responses

Status Meaning Description Schema
200 OK Successfull operation. Recurring data Recurring
401 Unauthorized Unauthorized Access Exception None
404 Not Found Recurring not found None

Update recurring order.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/smartspending/recurring/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/smartspending/recurring/{id} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/smartspending/recurring/{id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "action": "resume"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartspending/recurring/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /smartspending/recurring/{id}

Update existing recurring order.

Body parameter

{
  "action": "resume"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path integer true Identifier of the order
body body object false none
» action body string true none

Example responses

200 Response

{
  "id": 0,
  "basketId": "string",
  "productId": 0,
  "instrumentId": 0,
  "subscriptionId": "string",
  "orderId": "string",
  "value": 0,
  "type": "string",
  "dayOfTheWeek": 0,
  "dayOfTheMonth": 0,
  "status": "string",
  "smsNotification": 0,
  "phone": "string"
}

Responses

Status Meaning Description Schema
200 OK Successfull operation. Recurring data Recurring
401 Unauthorized Unauthorized Access Exception None
404 Not Found Recurring not found None

Retrieve recurring orders by instrument.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartspending/reloadable/recurring', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartspending/reloadable/recurring?instrumentId=11 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartspending/reloadable/recurring?instrumentId=11 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/smartspending/reloadable/recurring?instrumentId=11',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartspending/reloadable/recurring

Retrieve existing recurring orders for a given instrument.

Parameters

Name In Type Required Description
instrumentId query integer true Identifier of the instrument
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

[
  {
    "id": 0,
    "basketId": "string",
    "productId": 0,
    "instrumentId": 0,
    "subscriptionId": "string",
    "orderId": "string",
    "value": 0,
    "type": "string",
    "dayOfTheWeek": 0,
    "dayOfTheMonth": 0,
    "status": "string",
    "smsNotification": 0,
    "phone": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Recurring entities Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Recurring not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Recurring] false none none
» Recurring Order Recurring false none none
»» id integer false none Recurring identifier.
»» basketId string true none Card id - Instrument id with C char as prefix.
»» productId integer false none Product identifier
»» instrumentId integer false none Instrument identifier
»» subscriptionId string false none Subscription identifier
»» orderId string true none Order Id - Card identifier.
»» value integer true none Value. Calculated multiplying the quantity by the price of the top-up product.
»» type string true none Type
»» dayOfTheWeek integer true none Day of the week
»» dayOfTheMonth integer true none Day of the month
»» status string false none Status
»» smsNotification integer false none SMS notification
»» phone string false none Phone

Fetch existing Instant Reloadable Vouchers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartspending/reloadable/vouchers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartspending/reloadable/vouchers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartspending/reloadable/vouchers \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/smartspending/reloadable/vouchers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartspending/reloadable/vouchers

This endpoint will return existing instant reloadable vouchers by product

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

[
  {
    "id": 6443,
    "name": "IRV Test product",
    "alias": "string",
    "image": "string",
    "pan": "string",
    "pin": "string",
    "url": "string",
    "barcode": "string",
    "transactionId": "string",
    "offer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    },
    "pendingAmount": "string",
    "activated": true,
    "expiryDate": "string",
    "expiryAction": "string",
    "expiryMessage": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid product id None
401 Unauthorized Unauthorized Access Exception None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ReloadableCard] false none [InstantReloadableVoucher entity.]
» Instant Reloadable Voucher ReloadableCard false none InstantReloadableVoucher entity.
»» id integer true none Unique id to identify a irv
»» name string true none Name of the vaucher
»» alias string true none Instant Reloadable Voucher alias
»» image string true none URL for instant reloadable voucher image
»» pan string true none Instant Reloadable Voucher PAN
»» pin string false none Instant Reloadable Voucher PIN
»» url string false none Instant Reloadable Voucher Url
»» barcode string false none Instant Reloadable Voucher Barcode
»» transactionId string true none Instant Reloadable Voucher transaction Id
»» offer offer true none Class Offer
»»» id integer(int32) true none Offer identifier
»»» typeId integer(int32) true none Type id of the offer
»»» type string true none Type of the offer
»»» description string true none Offer's description
»»» keyInformation string true none Offer's key information
»»» howItWorks string true none How the offer works
»»» termsAndConditions string true none Offer's terms and conditions
»»» expiryDate string(date-time) true none Offer's expiry date
»»» specialOffer boolean true none Is this a special offer?
»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»» discount discount true none Class Discount
»»»» saving string true none Discount savings
»»»» description string true none Discount description
»»»» useableInStore boolean true none Discount can be used in-store
»»»» useableOnline boolean true none Discount can be used online
»»»» startsOn string(date-time) true none Discount is valid from
»»»» endsOn string(date-time) true none Discount is valid until
»»» normally discount false none Class Discount
»» pendingAmount string true none Instant Reloadable Voucher pending amount
»» activated boolean true none Activated
»» expiryDate string true none Instant Reloadable Voucher expiry date
»» expiryAction string true none Instant Reloadable Voucher expiry action
»» expiryMessage string true none Instant Reloadable Voucher message if card is expiring

Get Instant Reloadable Voucher by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartspending/reloadable/voucher/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartspending/reloadable/voucher/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartspending/reloadable/voucher/{id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/smartspending/reloadable/voucher/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartspending/reloadable/voucher/{id}

This endpoint will return instant reloadable vouchers by id

Parameters

Name In Type Required Description
id path integer true Identifier of the voucher

Example responses

200 Response

[
  {
    "id": 6443,
    "name": "IRV Test product",
    "alias": "string",
    "image": "string",
    "pan": "string",
    "pin": "string",
    "url": "string",
    "barcode": "string",
    "transactionId": "string",
    "offer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    },
    "pendingAmount": "string",
    "activated": true,
    "expiryDate": "string",
    "expiryAction": "string",
    "expiryMessage": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Instant Reloadable Voucher not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ReloadableCard] false none [InstantReloadableVoucher entity.]
» Instant Reloadable Voucher ReloadableCard false none InstantReloadableVoucher entity.
»» id integer true none Unique id to identify a irv
»» name string true none Name of the vaucher
»» alias string true none Instant Reloadable Voucher alias
»» image string true none URL for instant reloadable voucher image
»» pan string true none Instant Reloadable Voucher PAN
»» pin string false none Instant Reloadable Voucher PIN
»» url string false none Instant Reloadable Voucher Url
»» barcode string false none Instant Reloadable Voucher Barcode
»» transactionId string true none Instant Reloadable Voucher transaction Id
»» offer offer true none Class Offer
»»» id integer(int32) true none Offer identifier
»»» typeId integer(int32) true none Type id of the offer
»»» type string true none Type of the offer
»»» description string true none Offer's description
»»» keyInformation string true none Offer's key information
»»» howItWorks string true none How the offer works
»»» termsAndConditions string true none Offer's terms and conditions
»»» expiryDate string(date-time) true none Offer's expiry date
»»» specialOffer boolean true none Is this a special offer?
»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»» discount discount true none Class Discount
»»»» saving string true none Discount savings
»»»» description string true none Discount description
»»»» useableInStore boolean true none Discount can be used in-store
»»»» useableOnline boolean true none Discount can be used online
»»»» startsOn string(date-time) true none Discount is valid from
»»»» endsOn string(date-time) true none Discount is valid until
»»» normally discount false none Class Discount
»» pendingAmount string true none Instant Reloadable Voucher pending amount
»» activated boolean true none Activated
»» expiryDate string true none Instant Reloadable Voucher expiry date
»» expiryAction string true none Instant Reloadable Voucher expiry action
»» expiryMessage string true none Instant Reloadable Voucher message if card is expiring

Update Instant Reloadable Voucher items

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/smartspending/reloadable/voucher/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/smartspending/reloadable/voucher/{id} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/smartspending/reloadable/voucher/{id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "alias": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/smartspending/reloadable/voucher/{id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /smartspending/reloadable/voucher/{id}

This endpoint will update an existing IRV instrument alias

Body parameter

{
  "alias": "string"
}

Parameters

Name In Type Required Description
id path integer true Identifier of the instrument
Authorization header string true Authorization Header with Bearer Token
body body object true Alias field required for updating the instrument name
» alias body string false User's voucher alias

Example responses

200 Response

{
  "success": true,
  "message": "Instant Reloadable Voucher Updated."
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request No alias provided None
404 Not Found Instant Reloadable Voucher not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» message string true none none

Delete Instant Reloadable Voucher

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/smartspending/reloadable/voucher/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/smartspending/reloadable/voucher/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/smartspending/reloadable/voucher/{id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/smartspending/reloadable/voucher/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /smartspending/reloadable/voucher/{id}

Delete existing instant reloadable voucher

Parameters

Name In Type Required Description
id path integer true Identifier of the voucher

Example responses

200 Response

{
  "success": true,
  "message": "Instant Reloadable Voucher Deleted."
}

Responses

Status Meaning Description Schema
200 OK Instant Reloadable Voucher is deleted Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Instant Reloadable Voucher not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» message string true none none

Comms Blog Post

All things avaiable around blog posts.

Fetch post history.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/comms/blog/post/{postId}/history', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/comms/blog/post/{postId}/history HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/comms/blog/post/{postId}/history \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/{postId}/history',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /comms/blog/post/{postId}/history

Fetch post status history.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
postId path integer true Post origin Id

Example responses

200 Response

{
  "data": [
    {
      "doerUuid": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
      "doerType": "member",
      "profileUrl": "url",
      "hasProfileUrl": true,
      "isRejectionLink": true,
      "text": "Scheduled by someone.",
      "statusIndex": "scheduled",
      "statusText": "Scheduled",
      "dateElapsed": "2 days ago",
      "rawDate": "2020-07-03T12:36:38+00:00"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK If post history found. commsPostHistory
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Fetch versions for post

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/comms/blog/post/{postId}/version', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/comms/blog/post/{postId}/version HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/comms/blog/post/{postId}/version \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/{postId}/version',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /comms/blog/post/{postId}/version

Fetch versions for post

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
postId path integer true Post Id

Example responses

200 Response

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Segments ordering explanation if is found. commsPostVersionResponse
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Create new version for that post.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/comms/blog/post/{postId}/version', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/comms/blog/post/{postId}/version HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/comms/blog/post/{postId}/version \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/{postId}/version',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /comms/blog/post/{postId}/version

Create new version for that post.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
postId path integer true Post origin Id

Example responses

200 Response

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK If new version is created. commsPostVersionResponse
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Delete post version

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/comms/blog/post/version/{versionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/comms/blog/post/version/{versionId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/comms/blog/post/version/{versionId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/version/{versionId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /comms/blog/post/version/{versionId}

Delete post version.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
versionId path integer true Version id

Example responses

200 Response

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Deleted version as response. commsPostVersionResponse
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Duplicate specific version

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/comms/blog/post/version/{versionId}/duplicate', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/comms/blog/post/version/{versionId}/duplicate HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/comms/blog/post/version/{versionId}/duplicate \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/version/{versionId}/duplicate',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /comms/blog/post/version/{versionId}/duplicate

Duplicate post version.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
versionId path integer true Version id

Example responses

200 Response

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK All versions commsPostVersionResponse
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Update name of version

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/comms/blog/post/version/{versionId}/name', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/comms/blog/post/version/{versionId}/name HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/comms/blog/post/version/{versionId}/name \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "Property": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/version/{versionId}/name',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /comms/blog/post/version/{versionId}/name

Update name of version

Body parameter

Property: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
versionId path integer true Version id
body body object false none
» Property body string true Json body contains new VersionName

Example responses

200 Response

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Full version if name was successfully updated. commsPostVersionResponse
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Update segment for version

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/comms/blog/post/version/{versionId}/segment', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/comms/blog/post/version/{versionId}/segment HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/comms/blog/post/version/{versionId}/segment \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "SegmentId": 0
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/version/{versionId}/segment',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /comms/blog/post/version/{versionId}/segment

Update segment for version

Body parameter

SegmentId: 0

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
versionId path integer true Version id
body body object false none
» SegmentId body integer true Json body contains new VersionName

Example responses

200 Response

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Version information with new segment. commsPostVersionResponse
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Update order of versions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/comms/blog/post/version/{versionId}/order', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/comms/blog/post/version/{versionId}/order HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/comms/blog/post/version/{versionId}/order \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "position": 0,
  "current": 0
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/version/{versionId}/order',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /comms/blog/post/version/{versionId}/order

Update order of versions

Body parameter

position: 0
current: 0

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
versionId path integer true Version id
body body object false none
» position body integer true New possition (starting from 1)
» current body integer true Current possition (starting from 1)

Example responses

200 Response

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK All versions for that post with right order. commsPostVersionResponse
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Fetch post details.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/comms/blog/post/{postId}/details', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/comms/blog/post/{postId}/details HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/comms/blog/post/{postId}/details \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/comms/blog/post/{postId}/details',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /comms/blog/post/{postId}/details

Fetch post details.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
postId path integer true Post origin Id

Example responses

200 Response

{
  "success": true,
  "data": [
    {
      "role": {
        "value": "Admin",
        "key": "admin"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK If post is found. commsPostDetails
400 Bad Request If some of parameters are not valid. errorModel
401 Unauthorized If current token doesnt have access to that resource. errorModel
404 Not Found Resource was not found. errorModel

Blogs

Blogging product endpoints.

Fetch all available blogs.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json; version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/blogs', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/blogs HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json; version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/blogs \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json; version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json; version=3.0'
};

fetch('https://api.rewardgateway.net/blogs',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /blogs

Fetch all scheme blogs

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "id": 123,
    "title": "Awesome Blog",
    "subtitle": "Subtitle for blog",
    "isActive": true,
    "isDeleted": false,
    "isAnnouncement": false,
    "defaultRoleId": 10,
    "defaultRoleText": "Contributor",
    "defaultSegmentId": 1251,
    "url": [
      {
        "full": "https://schemename.rg.com/blogpost/slug",
        "relative": "/blogpost/slug"
      }
    ],
    "updated": [
      {
        "dateFormatted": "06/07/2022, 08:26",
        "dateUtc": "2022-07-06 07:26:27",
        "memberId": "123",
        "memberName": "Example User"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Array of blogs Inline
401 Unauthorized Product is not enabled or member dont have access to it. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [blogModel] false none [Default blog model response.]
» id integer false none Blog indetifier
» title string false none Title of blog
» subtitle string false none Subtitle of blog
» isActive boolean false none Wheather blog is active or not
» isDeleted boolean false none Wheather blog is deleted or not
» isAnnouncement boolean false none If all published blogposts are announcements
» defaultRoleId integer false none Default blog role id for all members which dont have assigned one
» defaultRoleText string false none Default blog role name for all members which dont have assigned one
» defaultSegmentId integer false none Id of segment that will be assigned on blog posts in this blog when created.
» url [bloggingUrl] false none [Default url response.]
»» full string false none Full url to recourse
»» relative string false none Path url to resource
» updated [bloggingUpdated] false none [Default updated response.]
»» dateFormatted string false none Scheme locale formatted date
»» dateUtc string false none Datetime utc tz
»» memberId string false none Member id of last blog settings update.
»» memberName string false none Member full name of last blog settings update.

Fetch basic member data and member's role for blog.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json; version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/blogs/{blogId}/role', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/blogs/{blogId}/role HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json; version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/blogs/{blogId}/role \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json; version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json; version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogId}/role',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /blogs/{blogId}/role

Fetch blog member.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
blogId path integer true Id of blog record.
memberId query string false ContactId or Uuid of member in relation to current scheme.

Example responses

200 Response

{
  "blogId": 30,
  "role": {
    "id": 30,
    "name": "Contributor",
    "canAnnounce": false
  },
  "permissions": {
    "canManageBlogSettings": true,
    "canManageAnyRole": false,
    "canManageEditor": false,
    "canManageBlogger": true,
    "canManageContributor": true,
    "canBeRemoved": true,
    "canBeEdited": true
  },
  "member": {
    "contactId": 12452,
    "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
    "profileUrl": "https://site1.rewardgateway.dev/profile/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
    "fullName": "Helpdesk Supervisor",
    "avatarUrl": "https://ugc.rewardgateway.dev/avatars/default/200x200_HS-default-4.png"
  },
  "postsCount": 30
}

Responses

Status Meaning Description Schema
200 OK Member role & generic member info. blogUser
401 Unauthorized Blogs are not active for that scheme or member. errorModel
403 Forbidden Member does not have permission to view data related to that blog. errorModel

Fetch basic member data and blog role information.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json; version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/blogs/{blogId}/roles', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/blogs/{blogId}/roles HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json; version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/blogs/{blogId}/roles \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json; version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json; version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogId}/roles',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /blogs/{blogId}/roles

Fetch members of a blog.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
blogId path integer true Id of blog record.

Example responses

200 Response

{
  "blogId": 30,
  "role": {
    "id": 30,
    "name": "Contributor",
    "canAnnounce": false
  },
  "permissions": {
    "canManageBlogSettings": true,
    "canManageAnyRole": false,
    "canManageEditor": false,
    "canManageBlogger": true,
    "canManageContributor": true,
    "canBeRemoved": true,
    "canBeEdited": true
  },
  "member": {
    "contactId": 12452,
    "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
    "profileUrl": "https://site1.rewardgateway.dev/profile/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
    "fullName": "Helpdesk Supervisor",
    "avatarUrl": "https://ugc.rewardgateway.dev/avatars/default/200x200_HS-default-4.png"
  },
  "postsCount": 30
}

Responses

Status Meaning Description Schema
200 OK A list of members with their roles for the blog. blogUser
401 Unauthorized Blogs are not active for that scheme or member. errorModel
403 Forbidden Member does not have permission to view data related to that blog. errorModel
404 Not Found Requested blog not found. errorModel

Create or Update member's role for blog.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json; version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/blogs/{blogId}/roles', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/blogs/{blogId}/roles HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json; version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/blogs/{blogId}/roles \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json; version=3.0'

const inputBody = '{
  "contactId": 13455857,
  "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
  "roleId": 20,
  "canAnnounce": false
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json; version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogId}/roles',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /blogs/{blogId}/roles

Create blog member role.

Body parameter

{
  "contactId": 13455857,
  "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
  "roleId": 20,
  "canAnnounce": false
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
blogId path integer true Blog Id
body body object true Request body required for create/update blog member role.
» contactId body integer false Contact Id.
» uuid body string false Member Uuid.
» roleId body integer false none
» canAnnounce body boolean false Ability to post announcements.

Example responses

200 Response

{
  "blogId": 30,
  "role": {
    "id": 30,
    "name": "Contributor",
    "canAnnounce": false
  },
  "permissions": {
    "canManageBlogSettings": true,
    "canManageAnyRole": false,
    "canManageEditor": false,
    "canManageBlogger": true,
    "canManageContributor": true,
    "canBeRemoved": true,
    "canBeEdited": true
  },
  "member": {
    "contactId": 12452,
    "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
    "profileUrl": "https://site1.rewardgateway.dev/profile/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
    "fullName": "Helpdesk Supervisor",
    "avatarUrl": "https://ugc.rewardgateway.dev/avatars/default/200x200_HS-default-4.png"
  },
  "postsCount": 30
}

Responses

Status Meaning Description Schema
200 OK Member role and other member info. blogUser
401 Unauthorized Blogs are not active for that scheme or member. errorModel
403 Forbidden Member does not have permission to view data related to that blog. errorModel

Delete member's role for blog.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json; version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/blogs/{blogId}/roles/member/{contactId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/blogs/{blogId}/roles/member/{contactId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json; version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/blogs/{blogId}/roles/member/{contactId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json; version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json; version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogId}/roles/member/{contactId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /blogs/{blogId}/roles/member/{contactId}

Delete member role for blog.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
blogId path integer true Id of blog record.
contactId path integer true Contact Id.

Example responses

401 Response

{
  "code": null,
  "message": null
}

Responses

Status Meaning Description Schema
204 No Content Successful operation None
401 Unauthorized Blogs are not active for that scheme or member. errorModel
403 Forbidden Member does not have permission to view data related to that blog. errorModel

Fetch members by query string that can have a role added for this blog.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/blogs/{blogId}/members', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/blogs/{blogId}/members HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/blogs/{blogId}/members \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogId}/members',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /blogs/{blogId}/members

Fetch members to add in blog by full name search string.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
blogId path integer true Id of blog record.
search query string false Query string to search members by.
limit query string false Limit fetched results. Max 20 per request.

Example responses

200 Response

{
  "count": 20,
  "blogId": 125,
  "members": [
    {
      "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
      "contactId": 125,
      "fullName": "Example User",
      "hasRole": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Array of members that contains names and ids MemberList
401 Unauthorized Blogs are not active for that scheme or member. errorModel

Fetch stats about blogs

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/blogs/{blogIds}/stats', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/blogs/{blogIds}/stats HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/blogs/{blogIds}/stats \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogIds}/stats',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /blogs/{blogIds}/stats

Fetch stats about blogs

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
blogIds path string true Comma separeted blog ids

Example responses

200 Response

{
  "blogStats": [
    {
      "blogId": 321,
      "posts": 1333,
      "views": 12,
      "visitors": 321
    }
  ],
  "engagement": {
    "visitors": {
      "count": 321,
      "change": 3333
    },
    "views": {
      "count": 321,
      "change": 3333
    },
    "reactions": {
      "count": 321,
      "change": 3333
    },
    "comments": {
      "count": 321,
      "change": 3333
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Stats engagementStats
401 Unauthorized Product is not enabled or member dont have access to it. errorModel
500 Internal Server Error Internal Server error errorModel

Create a new blog post.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/blogs/{blogId}/posts', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/blogs/{blogId}/posts HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/blogs/{blogId}/posts \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogId}/posts',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /blogs/{blogId}/posts

Create a new post from blog with {blogId}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
blogId path integer true Id of blog record.

Example responses

200 Response

{
  "id": 123,
  "blogId": 4,
  "bloggerId": 12,
  "createdFrom": 1,
  "postType": 0,
  "hookStatus": 1,
  "url": [
    {
      "full": "https://schemename.rg.com/blogpost/slug",
      "relative": "/blogpost/slug"
    }
  ],
  "updated": [
    {
      "dateFormatted": "06/07/2022, 08:26",
      "dateUtc": "2022-07-06 07:26:27",
      "memberId": "123",
      "memberName": "Example User"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Json array containing newly created post. postModel
401 Unauthorized Client is not a registered member. errorModel
403 Forbidden Client does not have permission to create post in this blog. errorModel
404 Not Found Resource was not found. errorModel
500 Internal Server Error Internal Server error errorModel

Fetch blog post.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/blogs/{blogId}/posts/{postId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/blogs/{blogId}/posts/{postId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/blogs/{blogId}/posts/{postId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/blogs/{blogId}/posts/{postId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /blogs/{blogId}/posts/{postId}

Fetch a blog post version. Version may vary per user, because of segmentation.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
postId path integer true Id of blog post record.
blogId path integer true The id of the blog this post belongs to

Example responses

200 Response

{
  "id": 211,
  "title": "Please Enter Title 234",
  "subjectType": "blogpost",
  "updatedDate": "2022-07-06T10:26:27+02:00",
  "content": "<p>A paragpraph of praisal about how someone did a great job!<p>",
  "blog": {
    "id": 2,
    "subjectType": "blog",
    "_links": {
      "blog": {
        "href": "/blogs/2"
      }
    }
  },
  "author": {
    "id": 15,
    "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
    "subjectType": "member",
    "_links": {
      "member": {
        "href": "/scim/v2/Users/8a98e6b3-d589-4782-9522-da619acc7916"
      }
    }
  },
  "metadata": {
    "timeToRead": "2m",
    "commentsCount": 12,
    "reactionsCount": 3,
    "viewsCount": 50,
    "canLike": true,
    "canComment": true,
    "isDefaultSegment": true,
    "isVersionId": false,
    "confirmationRequired": false
  },
  "tags": [
    {
      "name": "#helpdesk",
      "url": "/SmartPress/Tag/helpdesk"
    }
  ],
  "attachments": [
    {
      "id": 135,
      "name": "some-image.jpg",
      "url": "/MediaFile.php?hash=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NzY4OTE0NjguNzE3NzM5LCJleHAiOjE2NzY4OTMyNjguNzE3NzM5LCJmaWxlSWQiOjJ9.HLYZfVj4l6c-vD_UG6BtrMW5NyC9hWTJZv9MnusTW5g"
    }
  ],
  "reactions": {
    "_links": {
      "reactions": {
        "href": "/posts/211/reactions"
      }
    }
  },
  "comments": {
    "_links": {
      "comments": {
        "href": "/posts/211/comments"
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Json array containing post version information. postVersion
401 Unauthorized Client is not a registered member. errorModel
403 Forbidden Client does not have permission to view blogpost. errorModel
404 Not Found Resource was not found. errorModel
500 Internal Server Error Internal Server error errorModel

Profile Badges

All endpoints for profile's badges

Get list with badges for a member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/profile-badges/{member}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/profile-badges/{member} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/profile-badges/{member} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/profile-badges/{member}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /profile-badges/{member}

Get list with badges for a member profile, filtered by date range

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
member path string true Member UUID
fromDate query string false Start date for listing in YYYY-MM-DD format
toDate query string false End date for listing YYYY-MM-DD format
limit query integer false Maximum number of fetched earnings

Example responses

200 Response

{
  "success": true,
  "data": [
    {
      "dateEarned": "2019-08-24T14:15:22Z",
      "badge": {
        "name": "string",
        "description": "string",
        "icon": "string"
      }
    }
  ],
  "total": 0
}

Responses

Status Meaning Description Schema
200 OK All details for member's earned badges. profileBadges
404 Not Found Resource was not found. errorModel

Recognition & Reward

All endpoints related to our Recognition & Reward product.

List of approver levels for a recognition programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/programmes/{programmeId}/approver-levels

List of approver levels for a recognition programme

Parameters

Name In Type Required Description
programmeId path integer true Unique identifier of the recognition programme

Example responses

201 Response

{}

Responses

Status Meaning Description Schema
201 Created Recognition Programme Approver Level Listing ApproverLevelList
400 Bad Request Not authorized to view Approver Level None
401 Unauthorized Unauthorized Access Exception None

Create a new approver level for a recognition programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "rrSchemeId": 123,
  "schemeId": 123,
  "level": 123,
  "name": "Standard Approver Level",
  "selectionMethod": 123,
  "selectionDirection": 123,
  "segmentId": 123,
  "lineManagerLevel": 123
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/programmes/{programmeId}/approver-levels

Create a new approver level for a recognition programme

Body parameter

{
  "rrSchemeId": 123,
  "schemeId": 123,
  "level": 123,
  "name": "Standard Approver Level",
  "selectionMethod": 123,
  "selectionDirection": 123,
  "segmentId": 123,
  "lineManagerLevel": 123
}

Parameters

Name In Type Required Description
programmeId path integer true Unique identifier of a recognition programme
body body approverLevel false none

Example responses

201 Response

{
  "rrSchemeId": 123,
  "schemeId": 123,
  "level": 123,
  "name": "Standard Approver Level",
  "selectionMethod": 123,
  "selectionDirection": 123,
  "segmentId": 123,
  "lineManagerLevel": 123
}

Responses

Status Meaning Description Schema
201 Created Recognition Programme Approver Level approverLevel
400 Bad Request Approver level already exists None
401 Unauthorized Not authorized to add Approver Level None

Delete an approver level for a recognition programme

Code samples

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels/{level}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels/{level} HTTP/1.1
Host: api.rewardgateway.net

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels/{level}


fetch('https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels/{level}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/programmes/{programmeId}/approver-levels/{level}

Delete an approver level for a recognition programme

Parameters

Name In Type Required Description
programmeId path integer true Unique identifier of the recognition programme
level path integer true level to delete

Responses

Status Meaning Description Schema
200 OK Recognition Programme Approver Level Delete None
400 Bad Request Not authorized to delete Approver Level None
401 Unauthorized Unauthorized Access Exception None
404 Not Found Level not found None

Get the recipients for specific feed item in a minimal format

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw/feed/{feedItemId}/recipients', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw/feed/{feedItemId}/recipients HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw/feed/{feedItemId}/recipients \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed/{feedItemId}/recipients',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw/feed/{feedItemId}/recipients

This endpoint returns a list of recipients that received a specific feed item in the social recognition feed in a minimal and paginated format

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
feedItemId path string true Feed Item ID
limit query integer false The limit for results
offset query integer false Offset the number of results returned

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Get Social Recognition Wall configuration

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api.rewardgateway.net/srw',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw

Get Social Recognition Wall configuration

Example responses

200 Response

{
  "name": "The Social Wall"
}

Responses

Status Meaning Description Schema
200 OK Social Recognition Wall Configuration SocialRecognitionConfiguration
401 Unauthorized Unauthorized Access Exception None
403 Forbidden Access to the resource has been denied None
404 Not Found Scheme Configuration was not found None

List all recognition moments that require approval

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/nominations/pending/list', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/nominations/pending/list?rrProgrammeId=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/nominations/pending/list?rrProgrammeId=123 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/nominations/pending/list?rrProgrammeId=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /nominations/pending/list

This endpoint will return a list of all recognition moments that require approval.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrProgrammeId query integer true R&R Scheme Id
page query integer false Pagination parameter. Pages start from 1.
limit query integer false Max nominations to fetch, default = 10.
offset query integer false Offset to start fetching from, default = 0

Example responses

200 Response

[
  {}
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Resource is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [nomination] false none none
» Nomination object false none none

List of nomination programmes with programme ID, name, and counts of pending nominations for all nomination schemes

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/nominations/pending/filter', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/nominations/pending/filter HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/nominations/pending/filter \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/nominations/pending/filter',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /nominations/pending/filter

Returns a list of nomination programmes with programme ID, name, and counts of pending nominations for all nomination schemes

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "rrProgrammes": [
    {
      "rrProgramId": 3300,
      "rrProgramName": "R&R Scheme Nomination",
      "count": 10
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» rrProgrammes [object] false none none
»» rrProgramId integer false none none
»» rrProgramName string false none none
»» count integer false none none

List the nomination's form

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/nominations/form/{rrSchemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/nominations/form/{rrSchemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/nominations/form/{rrSchemeId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/nominations/form/{rrSchemeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /nominations/form/{rrSchemeId}

This endpoint will return the nomination form for a specific Programme.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrSchemeId path integer true R&R Scheme Id
showSectionBreak query boolean false Include section break

Example responses

200 Response

[
  {}
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request User does not belongs to this scheme errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Program not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [nomination] false none none
» Nomination object false none none

It creates nominations

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'string',
    'Accept' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/nominations', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/nominations HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: string
Accept: string

# You can also use wget
curl -X POST https://api.rewardgateway.net/nominations \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'Accept: string'

const inputBody = '{
  "rrSchemeId": 0,
  "bSubmitShare": true,
  "aRecipients": null,
  "rrAwardReason": "string",
  "sAwardType": 0,
  "sIdentity": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'Accept':'string'
};

fetch('https://api.rewardgateway.net/nominations',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /nominations

It creates nominations

Body parameter

{
  "rrSchemeId": 0,
  "bSubmitShare": true,
  "aRecipients": null,
  "rrAwardReason": "string",
  "sAwardType": 0,
  "sIdentity": 0
}

Parameters

Name In Type Required Description
Authorization header string true Valid Bearer access token
Accept header string true -
body body object false none
» rrSchemeId body integer true none
» bSubmitShare body boolean true none
» aRecipients body any true none
» rrAwardReason body string true none
» sAwardType body integer true none
» sIdentity body integer false none

Example responses

200 Response

{
  "success": true,
  "message": "string",
  "nominationId": 0
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Item is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» message string true none none
» nominationId integer true none none

It uploads files on s3

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'string',
    'Accept' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/nominations/upload', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/nominations/upload HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: string
Accept: string

# You can also use wget
curl -X POST https://api.rewardgateway.net/nominations/upload \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'Accept: string'

const inputBody = '{
  "rrSchemeId": 0,
  "file": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'string',
  'Accept':'string'
};

fetch('https://api.rewardgateway.net/nominations/upload',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /nominations/upload

It uploads files on s3

Body parameter

rrSchemeId: 0
file: string

Parameters

Name In Type Required Description
Authorization header string true Valid Bearer access token
Accept header string true -
body body object true none
» rrSchemeId body integer false scheme id of a rrProgramme
» file body string(file) false file

Example responses

200 Response

{
  "success": true,
  "data": {
    "file": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Item is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» data object true none none
»» file string false none none

Validate card payment details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/payment/card-validate', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/payment/card-validate HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/payment/card-validate \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "cardNumber": 0,
  "totalCost": 0.1,
  "paymentMethod": "string",
  "validateOnly": true,
  "cardToken": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/payment/card-validate',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /payment/card-validate

Validate card payment details

Body parameter

{
  "cardNumber": 0,
  "totalCost": 0.1,
  "paymentMethod": "string",
  "validateOnly": true,
  "cardToken": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» cardNumber body integer true The card number being sent for validation
» totalCost body number(float) true The amount that we want to charge on the card
» paymentMethod body string true The card type e.g. Amex, Visa
» validateOnly body boolean true Whether we only want to validate the card number only
» cardToken body string false The card token (card_tok_xxxx) retrieved from the payment gateway

Example responses

200 Response

{
  "valid": true,
  "isAvailable": true,
  "cardFee": 1.5,
  "cardType": 1,
  "message": "Sorry, this card type cannot be used on company Rewards."
}

Responses

Status Meaning Description Schema
200 OK Successful operation PaymentCardValidate
400 Bad Request Bad request errorModel
401 Unauthorized Unauthorized Access Exception errorModel

Endpoint for initiating the dreamship product pulldown

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/admin/recognition/redemption/dreamship/productPulldown', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/admin/recognition/redemption/dreamship/productPulldown HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/admin/recognition/redemption/dreamship/productPulldown \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "shopkey": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/dreamship/productPulldown',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /admin/recognition/redemption/dreamship/productPulldown

Initiate the Dreamship product pulldown for a given shop or all shops

Body parameter

{
  "shopkey": "string"
}

Parameters

Name In Type Required Description
body body object false none
» shopkey body string false The shop key for which to start the pull down or 'all_shops' for all

Example responses

200 Response

{
  "shopKey": "12345"
}

Responses

Status Meaning Description Schema
200 OK Successful operation RecognitionRedemptionProductPulldownSuccess
400 Bad Request Bad request errorModel
404 Not Found Shop not found errorModel

Assigns a category to a product

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "categoryId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /admin/recognition/redemption/product-categories/{productId}/category

Assigns a category to a product

Body parameter

{
  "categoryId": 0
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
productId path integer true The id of the product for which a category is to be added to
body body object false none
» categoryId body integer true none

Example responses

200 Response

{
  "id": 0,
  "productId": 0,
  "categoryId": 0,
  "order": 0
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionProductCategory
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Removes a category from a product

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category/{categoryId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/product-categories/{productId}/category/{categoryId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /admin/recognition/redemption/product-categories/{productId}/category/{categoryId}

Removes a category from a product

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
productId path integer true The id of the product for which the category is to be removed from
categoryId path integer true The id of the category that needs to be removed

Example responses

200 Response

{
  "id": 0,
  "productId": 0,
  "categoryId": 0,
  "order": 0
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionProductCategory
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The product category was not found errorModel

Retrieves general categories with their productIds

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/redemption/product-categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/redemption/product-categories HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/redemption/product-categories \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/product-categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/redemption/product-categories

Retrieves general categories with the productIds of the products that are in those categories

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
localeId query integer false The id of the locale for which we want to retrieve the product category data

Example responses

200 Response

{
  "id": 0,
  "productId": 0,
  "categoryId": 0,
  "order": 0
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionProductCategory
403 Forbidden Access to the resource has been denied errorModel

Retrieve catalogue listing

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue?schemeId=5 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue?schemeId=5 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue?schemeId=5',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/redemption/segmentation/catalogue

Retrieve catalogue listing for a scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeId query integer true The schemeId for which to retrieve catalogue for
offset query integer false The amount to offset the pagination by
limit query integer false The amount to limit the paginated catalogues by

Example responses

200 Response

{
  "id": 1,
  "name": "5 years long service catalogue",
  "localeId": 12,
  "localeName": "United States",
  "schemeId": 1,
  "min": 50,
  "max": 100,
  "dateCreated": "14/02/2023",
  "status": "Active",
  "productCount": 10
}

Responses

Status Meaning Description Schema
200 OK Successful operation SegmentedRewardCatalogue
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Creates a new catalogue

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "name": "5 years long service catalogue",
  "localeId": 12,
  "schemeId": 1,
  "min": 50,
  "max": 100
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /admin/recognition/redemption/segmentation/catalogue

Create a new catalogue

Body parameter

{
  "name": "5 years long service catalogue",
  "localeId": 12,
  "schemeId": 1,
  "min": 50,
  "max": 100
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» name body string true none
» localeId body integer true none
» schemeId body integer true none
» min body number(float) true none
» max body number(float) true none

Example responses

200 Response

{
  "id": 1,
  "name": "5 years long service catalogue",
  "localeId": 12,
  "localeName": "United States",
  "schemeId": 1,
  "min": 50,
  "max": 100,
  "dateCreated": "14/02/2023",
  "status": "Active",
  "productCount": 10
}

Responses

Status Meaning Description Schema
200 OK Successful operation SegmentedRewardCatalogue
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Retrieve a catalogue

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/redemption/segmentation/catalogue/{catalogueId}

Retrieve a catalogue by its id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
catalogueId path integer true The id of the catalogue to retrieve

Example responses

200 Response

{
  "id": 1,
  "name": "5 years long service catalogue",
  "localeId": 12,
  "localeName": "United States",
  "schemeId": 1,
  "min": 50,
  "max": 100,
  "dateCreated": "14/02/2023",
  "status": "Active",
  "productCount": 10
}

Responses

Status Meaning Description Schema
200 OK Successful operation SegmentedRewardCatalogue
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Delete a catalogue

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /admin/recognition/redemption/segmentation/catalogue/{catalogueId}

Delete a catalogue by its id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
catalogueId path integer true The id of the catalogue to delete

Example responses

200 Response

{
  "id": 1,
  "name": "5 years long service catalogue",
  "localeId": 12,
  "localeName": "United States",
  "schemeId": 1,
  "min": 50,
  "max": 100,
  "dateCreated": "14/02/2023",
  "status": "Active",
  "productCount": 10
}

Responses

Status Meaning Description Schema
200 OK Successful operation SegmentedRewardCatalogue
403 Forbidden Access to the resource has been denied errorModel

Update a catalogue

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "name": "New name for 5 years long service catalogue"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /admin/recognition/redemption/segmentation/catalogue/{catalogueId}

Update a catalogue by its id

Body parameter

{
  "name": "New name for 5 years long service catalogue"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
catalogueId path integer true The id of the catalogue to update
body body object false none
» name body string true none

Example responses

200 Response

{
  "id": 1,
  "name": "5 years long service catalogue",
  "localeId": 12,
  "localeName": "United States",
  "schemeId": 1,
  "min": 50,
  "max": 100,
  "dateCreated": "14/02/2023",
  "status": "Active",
  "productCount": 10
}

Responses

Status Meaning Description Schema
200 OK Successful operation SegmentedRewardCatalogue
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Copy an existing catalogue

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/copy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/copy HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/copy \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/copy',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /admin/recognition/redemption/segmentation/catalogue/{catalogueId}/copy

Copy an existing catalogue

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
catalogueId path integer true The id of the catalogue to delete

Example responses

200 Response

{
  "id": 1,
  "name": "5 years long service catalogue",
  "localeId": 12,
  "localeName": "United States",
  "schemeId": 1,
  "min": 50,
  "max": 100,
  "dateCreated": "14/02/2023",
  "status": "Active",
  "productCount": 10
}

Responses

Status Meaning Description Schema
200 OK Successful operation SegmentedRewardCatalogue
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Category to duplicate could not be found errorModel

Retrieve departments listing

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/departments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/departments?schemeId=5 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/departments?schemeId=5 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/departments?schemeId=5',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/redemption/segmentation/departments

Retrieve departments for a scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeId query integer true The schemeId for which to retrieve departments for
localeId query integer false Id of the locale for which to return data for

Example responses

200 Response

{
  "id": 1,
  "name": "Home appliances",
  "localeId": 12,
  "productCount": 20,
  "logo": "string",
  "selected": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation SegmentedRewardDepartment
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Retrieve segmented rewards products

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products

Retrieve segmented rewards products

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
catalogueId path integer true The catalogue id products are retrieved from
offset query integer false Pagination offset
limit query integer false Pagination limit
searchTerm query string false The search term to search for

Example responses

200 Response

{
  "items": [
    {
      "id": 1,
      "name": "Test product",
      "productCode": "B432GDF53",
      "deliveryInformation": "Free delivery",
      "productDescription": "string",
      "numberOfReviews": 500,
      "starRating": "3.5",
      "logo": "string",
      "selected": true
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 200,
    "additionalItems": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation segmentedRewardAdminProduct
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Save products

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "productsAdded": [
    "string"
  ],
  "productsRemoved": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /admin/recognition/redemption/segmentation/catalogue/{catalogueId}/products

Save products in a catalogue

Body parameter

{
  "productsAdded": [
    "string"
  ],
  "productsRemoved": [
    "string"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
catalogueId path integer true The id of the catalogue
body body segmentedRewardProductSave false none

Example responses

200 Response

{
  "success": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean false none none

Get all items in the RR shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/basket HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/basket \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/basket',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/basket

Get all items in the RR shopping basket

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
401 Unauthorized Unauthorized Access Exception errorModel
403 Forbidden Basket cannot be paid for. errorModel
404 Not Found Basket was not found. errorModel

Add product to basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/basket HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/basket \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/basket',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/basket

This endpoint adds a product to R&R basket

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "code": 1,
  "message": "Basket updated successfully.",
  "details": [
    {
      "basketId": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» code integer true none none
» message string true none none
» details [object] true none none
»» basketId string false none none

Download CustomReward fulfillment orders in csv

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'text/csv',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/custom/orders/download', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/custom/orders/download HTTP/1.1
Host: api.rewardgateway.net
Accept: text/csv

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/custom/orders/download \
  -H 'Accept: text/csv'


const headers = {
  'Accept':'text/csv'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/orders/download',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/custom/orders/download

Download CustomReward fulfillment orders in csv

Example responses

200 Response

400 Response

{
  "code": null,
  "message": null
}

Responses

Status Meaning Description Schema
200 OK Successful operation string
400 Bad Request CustomRewards is not enabled on scheme errorModel
401 Unauthorized Unauthorized Access Exception errorModel

Endpoint for dreamship webhook

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/dreamship/webhook', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/dreamship/webhook HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/dreamship/webhook \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/dreamship/webhook',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/dreamship/webhook

Webhook used by Dreamship to notify us of data changes on their end

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request errorModel
401 Unauthorized Signature verification failed errorModel

Endpoint for Amazon Business order confirmation webhook

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/amazonbusiness/order/confirmation/webhook', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/amazonbusiness/order/confirmation/webhook HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/amazonbusiness/order/confirmation/webhook \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/amazonbusiness/order/confirmation/webhook',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/amazonbusiness/order/confirmation/webhook

Webhook used by Amazon Business to notify us new orders

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request errorModel

Endpoint for Amazon Business shipment notice webhook

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/amazonbusiness/shipment/notice/webhook', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/amazonbusiness/shipment/notice/webhook HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/amazonbusiness/shipment/notice/webhook \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/amazonbusiness/shipment/notice/webhook',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/amazonbusiness/shipment/notice/webhook

Webhook used by Amazon Business to notify us about order shipments

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request errorModel

Get user allowance amount

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/rules/type/{type}/typeId/{typeId}/allowance/{format}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/rules/type/{type}/typeId/{typeId}/allowance/{format} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/rules/type/{type}/typeId/{typeId}/allowance/{format} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/rules/type/{type}/typeId/{typeId}/allowance/{format}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/rules/type/{type}/typeId/{typeId}/allowance/{format}

Get user allowance amount for boost or rrScheme

Parameters

Name In Type Required Description
type path string true Rule type
typeId path string true Identifier of the type
format path string true Format option

Example responses

200 Response

{
  "availableAllowance": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Unauthorized Access Exception errorModel
404 Not Found Record could not be found. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» availableAllowance [any] false none none

The endpoint allow to search for list of approvers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'string',
    'Accept' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/nominations/approvers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/nominations/approvers?page=12&limit=100&rrSchemeId=12 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: string
Accept: string

# You can also use wget
curl -X GET https://api.rewardgateway.net/nominations/approvers?page=12&limit=100&rrSchemeId=12 \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'Accept: string'


const headers = {
  'Accept':'application/json',
  'Authorization':'string',
  'Accept':'string'
};

fetch('https://api.rewardgateway.net/nominations/approvers?page=12&limit=100&rrSchemeId=12',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /nominations/approvers

The endpoint allow to search for list of approvers. When query is empty it will return all approvers up to default limit of 10 entities

Parameters

Name In Type Required Description
Authorization header string true Valid Bearer access token
Accept header string true -
page query integer true Offset the number of results returned
limit query integer true Constrain the number of results returned
rrSchemeId query integer true R&R Scheme Id
query query string false Contains the string to search approver name

Example responses

200 Response

[
  {}
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Item is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [searchMember] false none none
» Search Member object false none none

Get scheme filters for feed

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw/filters', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw/filters HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw/filters \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/filters',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw/filters

This endpoint will return allowed list of filters that can be used to filter the social recognition feed

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "filters": [
    {
      "segmentId": 10,
      "optionName": "My Team"
    }
  ],
  "myFilter": [
    {
      "title": "My filter",
      "filterUuid": "7960feab-b6f7-4437-872f-766690eda403",
      "subscribed": true
    }
  ],
  "showWallFilters": true,
  "canSubscribe": true,
  "myCompanyFilter": [
    {
      "options": [
        {
          "optionName": "string",
          "segmentId": 10
        }
      ],
      "uuId": "7960feab-b6f7-4437-872f-766690eda403",
      "filterName": "My filter",
      "isDigestEnabled": true,
      "subscribed": true
    }
  ],
  "customFilters": [
    [
      {
        "title": "My Recognition",
        "options": [
          {
            "key": "rr_ecard",
            "optionName": "eCards"
          }
        ]
      }
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» filters [object] true none none
»» segmentId integer true none none
»» optionName string true none none
» myFilter [object] true none none
»» title string true none none
»» filterUuid string true none none
»» subscribed boolean true none none
» showWallFilters boolean true none none
» canSubscribe boolean true none none
» myCompanyFilter [object] true none none
»» options [object] false none none
»»» optionName string true none none
»»» segmentId integer true none none
»» uuId string false none none
»» filterName string false none none
»» isDigestEnabled boolean false none none
»» subscribed boolean false none none
» customFilters [array] true none none
»» title string true none none
»» options [object] true none none
»»» key string true none none
»»» optionName string true none none

Get a specific feed item by id.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw/feed/{feedItemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw/feed/{feedItemId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw/feed/{feedItemId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed/{feedItemId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw/feed/{feedItemId}

This endpoint will return a specific item in a social recognition feed

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
feedItemId path string true Feed Item Identifier

Example responses

200 Response

{
  "feedId": 0,
  "feedTitle": "string",
  "feedTimestamp": "string",
  "feedSubjectType": "string",
  "feedSubjectId": 0,
  "feedSegmentId": 0,
  "feedItemId": "string",
  "groupingId": "string",
  "feedSender": null,
  "feedContent": "string",
  "feedIsShared": true,
  "feedImage": "string",
  "feedRecipients": [
    0
  ],
  "feedComments": 0,
  "feedCommentData": [
    "string"
  ],
  "feedReactions": [
    null
  ],
  "feedReactionData": [
    null
  ],
  "feedUserReactionId": 0,
  "feedFirstUserToReact": [
    null
  ],
  "downloadUrl": [
    null
  ],
  "certificateUrl": [
    null
  ],
  "canDelete": true,
  "usersReactions": [
    null
  ],
  "reactionsTotals": [
    null
  ],
  "itemId": "string",
  "translationKeys": [
    "string"
  ],
  "canLike": true,
  "canComment": true,
  "feedSummaryContent": null
}

Responses

Status Meaning Description Schema
200 OK Successful operation GenericSrwfeed
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Delete a specific feed item by id.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/srw/feed/{feedItemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/srw/feed/{feedItemId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/srw/feed/{feedItemId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed/{feedItemId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /srw/feed/{feedItemId}

This endpoint will soft delete a specific item in a social recognition feed

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
feedItemId path string true Feed Item Identifier

Example responses

400 Response

{
  "code": null,
  "message": null
}

Responses

Status Meaning Description Schema
200 OK Successful operation None
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Get reactions for specific feed item.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw/feed/{feedID}/reactions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw/feed/{feedID}/reactions HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw/feed/{feedID}/reactions \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed/{feedID}/reactions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw/feed/{feedID}/reactions

This item will return a list of reactions against a specific feed item in the social recognition feed

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
feedID path string true Feed Identifier

Example responses

200 Response

{
  "total": 100,
  "limit": 10,
  "startFrom": 1,
  "loadMoreURL": "string",
  "templateURL": "string",
  "translation": [
    {
      "reactions": "string",
      "reactedWith": "string"
    }
  ],
  "filters": [
    {
      "all": "string"
    }
  ],
  "reactions": [
    {
      "id": 10,
      "reactionId": 100,
      "user": [
        {
          "profileURL": "string",
          "userId": 123,
          "fullName": "Example User",
          "avatarURL": "string"
        }
      ]
    }
  ],
  "allReactions": [
    [
      {
        "total": 100,
        "reactionId": 123
      }
    ]
  ],
  "totalReactions": 100
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» total integer true none none
» limit integer true none none
» startFrom integer true none none
» loadMoreURL string true none none
» templateURL string true none none
» translation [object] true none none
»» reactions string true none none
»» reactedWith string true none none
» filters [object] true none none
»» all string true none none
» reactions [object] true none none
»» id integer true none none
»» reactionId integer true none none
»» user [object] true none none
»»» profileURL string true none none
»»» userId integer true none none
»»» fullName string true none none
»»» avatarURL string true none none
» allReactions [array] true none none
»» total integer true none none
»» reactionId integer true none none
totalReactions integer true none none

React against a feed item

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/srw/feed/{feedID}/reactions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/srw/feed/{feedID}/reactions HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/srw/feed/{feedID}/reactions \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed/{feedID}/reactions',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /srw/feed/{feedID}/reactions

This endpoint will react against a specific feed item on behalf of the current member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
feedID path string true Feed Identifier

Example responses

200 Response

{
  "reactions": [
    [
      {
        "userReactionId": 10,
        "lastReaction": [
          {
            "contactId": 1,
            "reactionId": 1
          }
        ],
        "reactions": [
          {
            "total": 10,
            "reactionId": 1
          }
        ],
        "totalReactions": 100,
        "reactionTypes": [
          "string"
        ]
      }
    ]
  ],
  "currentUserReactionId": 100,
  "usersReactions": [
    {
      "reactionId": 100
    }
  ],
  "reactionsTotals": [
    [
      {
        "reactionId": 100,
        "count": 1000,
        "currentUserReacted": true
      }
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
415 Unsupported Media Type Subject type mismatch. errorModel
500 Internal Server Error Could not resolve resource or other internal server error errorModel
510 Unknown FeedItem not found. errorModel
511 Network Authentication Required FeedItem is removed. errorModel
512 Unknown FeedItem is private. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» reactions [array] true none none
»» userReactionId integer true none none
»» lastReaction [object] true none none
»»» contactId integer true none none
»»» reactionId integer true none none
»» reactions [object] true none none
»»» total integer true none none
»»» reactionId integer true none none
»» totalReactions integer true none none
»» reactionTypes [string] true none none
currentUserReactionId integer true none none
usersReactions [object] true none none
» reactionId integer true none none
reactionsTotals [array] true none none
» reactionId integer true none none
» count integer true none none
» currentUserReacted boolean true none none

Update a particular payment card's billing address

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/wallet/{id}/billingAddress', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/wallet/{id}/billingAddress HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/wallet/{id}/billingAddress \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wallet/{id}/billingAddress',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /wallet/{id}/billingAddress

This endpoint updates billing address for a particular payment card

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path integer true Identifier of the payment card

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK Successful operation paymentCard
400 Bad Request Bad request standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Payment card is not found standardModel
500 Internal Server Error Internal error standardModel

Get a list of scheme segments

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/segments/{schemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/segments/{schemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/segments/{schemeId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/segments/{schemeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /segments/{schemeId}

This endpoint will return a list of scheme segments

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeId path integer true Id of the scheme to get segments for

Example responses

200 Response

[
  {
    "id": 1,
    "name": "Eligible members",
    "type": 1,
    "aggregate_type": 1,
    "query": [
      "string"
    ],
    "system_generated": true,
    "users_count": 100,
    "versions_count": 100,
    "is_editable": true,
    "is_deletable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [segment] false none none
» Segment segment false none none
»» id integer true none Class SegmentsController returns a list of segments
»» name string true none none
»» type integer true none none
»» aggregate_type integer true none none
»» query [string] true none none
»» system_generated boolean true none none
»» users_count integer true none none
»» versions_count integer true none none
»» is_editable boolean true none none
»» is_deletable boolean true none none

Get the Recognition & Reward account balance for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/account/client/balance/{schemeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/account/client/balance/{schemeUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/account/client/balance/{schemeUuid} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/admin/recognition/account/client/balance/{schemeUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/account/client/balance/{schemeUuid}

Get the Recognition & Reward account balance for a scheme

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "balance": 1000.5,
  "fullName": "Bitcoin",
  "shortName": "BTC",
  "displayMode": "shortName",
  "currencyType": "points"
}

Responses

Status Meaning Description Schema
200 OK Recognition & Reward account balance recognitionAccountClientBalanceResponse
401 Unauthorized Unauthorized Access Exception None
404 Not Found Reward and Recognition Scheme not found None

List RRScheme points and locales

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/rrScheme/{rrSchemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/rrScheme/{rrSchemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/rrScheme/{rrSchemeId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/rrScheme/{rrSchemeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /rrScheme/{rrSchemeId}

This endpoint returns a list of points and locales for an RRScheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrSchemeId path integer true RR Scheme Id

Example responses

200 Response

{
  "points": [
    {
      "enabled": true,
      "full_name": "string",
      "short_name": "string"
    }
  ],
  "socialRecognition": [
    {
      "enabled": true
    }
  ],
  "locales": [
    [
      {
        "id": 1,
        "country": [
          {
            "name": "United Kingdom",
            "code": "GBR",
            "locale_code": "GB"
          }
        ]
      }
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found RRScheme not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» points [object] true none none
»» enabled boolean true none none
»» full_name string true none none
»» short_name string true none none
» socialRecognition [object] true none none
»» enabled boolean true none none
» locales [array] true none none
»» id integer true none none
»» country [object] true none none
»»» name string true none none
»»» code string true none none
»»» locale_code string true none none

Completes and sends the Instant Award to recipient(s)

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/instantawards/basket/checkout', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/instantawards/basket/checkout HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/instantawards/basket/checkout \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "rrSchemeId": 0,
  "potId": 0,
  "doShare": true,
  "fromSRW": false
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/instantawards/basket/checkout',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /instantawards/basket/checkout

This endpoint will complete and send the Instant Award to selected recipient(s).

Body parameter

{
  "rrSchemeId": 0,
  "potId": 0,
  "doShare": true,
  "fromSRW": false
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» rrSchemeId body integer true Id of the R&R Programme
» potId body integer false Id of the selected pot. Required if using pots. Ignored when Rules Replacing Pots is enabled.
» doShare body boolean true If the award should be shared on the Social Recognition Wall, or not.
» fromSRW body boolean false Include this parameter if the award is sent from the Social Recognition Wall.

Example responses

201 Response

{
  "success": true,
  "message": "string"
}

Responses

Status Meaning Description Schema
201 Created Created Inline
400 Bad Request Bad request None
403 Forbidden Access to the resource has been denied None
404 Not Found Item is not found None

Response Schema

Status Code 201

Name Type Required Restrictions Description
» success boolean true none none
» message string true none none

Get instant award basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/instantawards/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/instantawards/basket?rrSchemeId=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/instantawards/basket?rrSchemeId=123 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/instantawards/basket?rrSchemeId=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /instantawards/basket

Get instant award basket to continue process of sending IA

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrSchemeId query integer true RR Scheme Id
isMainPot query boolean false Boolean indication if pot is programme pot. Required if using pots. Ignored when Rules Replacing Pots is enabled.
potId query string false Pot Id for instant awards. Required if using pots. Ignored when Rules Replacing Pots is enabled.

Example responses

200 Response

{
  "id": 13,
  "rrAwardItem": [
    {
      "awardId": 13,
      "status": "Completed",
      "rrInstantAwardRecipients": [
        {
          "fullName": "Alex Smith",
          "contactId": 10,
          "awardvalue": {
            "country": "string",
            "amount": "string",
            "formattedAmount": "string"
          }
        }
      ],
      "message": "Thank you",
      "subTotalAwardValue": {
        "amount": 0.1,
        "formattedAmount": "string"
      }
    }
  ],
  "totalValueInProgress": {
    "amount": 0.1,
    "formattedAmount": "string"
  },
  "totalValueCompleted": {
    "amount": 0.1,
    "formattedAmount": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation rrInstantAwardBasket

Creates a basket for Instant Awards

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/instantawards/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/instantawards/basket HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/instantawards/basket \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "rrSchemeId": 0,
  "potId": 0,
  "recipients": [
    "string"
  ],
  "rrAwardReason": "string",
  "awardId": 0,
  "awardValueId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/instantawards/basket',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /instantawards/basket

This endpoint will create a new basket (or override existing content), which is the prerequisite for sending an Instant Award.

Body parameter

{
  "rrSchemeId": 0,
  "potId": 0,
  "recipients": [
    "string"
  ],
  "rrAwardReason": "string",
  "awardId": 0,
  "awardValueId": 0
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» rrSchemeId body integer true none
» potId body integer false Pot Id for instant awards. Required if using pots. Ignored when Rules Replacing Pots is enabled.
» recipients body [string] true List of recipients' uuid
» rrAwardReason body string true none
» awardId body integer true none
» awardValueId body integer true none

Example responses

201 Response

{
  "success": true,
  "message": "Success!",
  "basket": {
    "id": 13,
    "rrAwardItem": [
      {
        "awardId": 13,
        "status": "Completed",
        "rrInstantAwardRecipients": [
          {
            "fullName": "Alex Smith",
            "contactId": 10,
            "awardvalue": {
              "country": "string",
              "amount": "string",
              "formattedAmount": "string"
            }
          }
        ],
        "message": "Thank you",
        "subTotalAwardValue": {
          "amount": 0.1,
          "formattedAmount": "string"
        }
      }
    ],
    "totalValueInProgress": {
      "amount": 0.1,
      "formattedAmount": "string"
    },
    "totalValueCompleted": {
      "amount": 0.1,
      "formattedAmount": "string"
    }
  },
  "error": "string"
}

Responses

Status Meaning Description Schema
201 Created Created Inline
400 Bad Request Bad request None
403 Forbidden Access to the resource has been denied None
404 Not Found Item is not found None

Response Schema

Status Code 201

Name Type Required Restrictions Description
» success boolean true none none
» message string true none none
» basket rrInstantAwardBasket true none none
»» id integer true none The id of the basket
»» rrAwardItem [rrAwardItem] true none The award items in basket
»»» Reward and Recognition Instant Award Item rrAwardItem false none none
»»»» awardId integer true none The id of the award in the basket
»»»» status string true none The basket status
»»»» rrInstantAwardRecipients [rrInstantAwardRecipients] false none The recipients of instant award
»»»»» Reward and Recognition Instant Award Recipients rrInstantAwardRecipients false none none
»»»»»» fullName string true none The recipient's full name
»»»»»» contactId integer true none The Id of the recipient
»»»»»» awardvalue awardsubvalue false none Class AwardValue
»»»»»»» country string true none none
»»»»»»» amount string true none none
»»»»»»» formattedAmount string true none none
»»»» message string true none The message of instant award
»»»» subTotalAwardValue instantawardbasketvalue false none none
»»»»» amount number(float) true none none
»»»»» formattedAmount string true none none
»» totalValueInProgress instantawardbasketvalue false none none
»» totalValueCompleted instantawardbasketvalue false none none
» error string true none none

Check whether enough balance in pot for IA

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/instantawards/potbalance', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/instantawards/potbalance?recipients=string&rrSchemeId=123&potId=123&awardId=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/instantawards/potbalance?recipients=string&rrSchemeId=123&potId=123&awardId=123 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/instantawards/potbalance?recipients=string&rrSchemeId=123&potId=123&awardId=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /instantawards/potbalance

Check whether a instant award sender has enough balance to send an award

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
recipients query array[string] true List of recipients uuid seperated by comma
rrSchemeId query string true rr scheme id
potId query string true pot Id for Instant Awards
awardId query string true Instant Award Id
awardValueId query string false Award Value Id, used if there are multiple award values for the instant award

Example responses

200 Response

{
  "results": {}
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» results object false none Class PotBalance

Get the home page details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/home', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/home?type=dreamship HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/home?type=dreamship \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/home?type=dreamship',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/home

Get the home page details like title, description, subtitles etc.

Parameters

Name In Type Required Description
type query string true The type of the store

Example responses

200 Response

{
  "title": "Avios",
  "subtitle": "Avios offers...",
  "heroImageTitle": "This is the avios store title...",
  "heroImageSubtitle": "This is the avios store subtitle..."
}

Responses

Status Meaning Description Schema
200 OK Successful operation RRPhysicalHome
401 Unauthorized Unauthorized Access Exception errorModel
404 Not Found Home page details could not be found. errorModel

Update Home page details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/recognition/redemption/physical/home', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/recognition/redemption/physical/home?type=avios HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/recognition/redemption/physical/home?type=avios \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "title": "Avios",
  "subtitle": "Avios offers...",
  "heroImageTitle": "This is the avios store title...",
  "heroImageSubtitle": "This is the avios store subtitle..."
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/home?type=avios',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /recognition/redemption/physical/home

Update Home page details

Body parameter

{
  "title": "Avios",
  "subtitle": "Avios offers...",
  "heroImageTitle": "This is the avios store title...",
  "heroImageSubtitle": "This is the avios store subtitle..."
}

Parameters

Name In Type Required Description
type query string true The type of the store
body body RRPhysicalHome false none

Example responses

200 Response

{
  "title": "Avios",
  "subtitle": "Avios offers...",
  "heroImageTitle": "This is the avios store title...",
  "heroImageSubtitle": "This is the avios store subtitle..."
}

Responses

Status Meaning Description Schema
200 OK Successful operation RRPhysicalHome
401 Unauthorized Unauthorized Access Exception None
404 Not Found Configuration not found None

Retrieve available segmented rewards for a member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/segmentation/member/awards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/segmentation/member/awards HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/segmentation/member/awards \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/segmentation/member/awards',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/segmentation/member/awards

Retrieve available segmented rewards for a member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
offset query integer false Pagination offset
limit query integer false Pagination limit

Example responses

200 Response

{
  "items": [
    {
      "catalogueId": 10,
      "awardUuid": "8a98e6b3-d589-4782-9522-da619acc7916",
      "name": "5 years long service award",
      "icon": "string"
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 200,
    "additionalItems": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation memberSegmentedRewards
403 Forbidden Access to the resource has been denied errorModel
422 Unprocessable Entity Unprocessable Entity errorModel

Retrieve products from the catalogue

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/segmentation/award/{awardUuid}/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/segmentation/award/{awardUuid}/products HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/segmentation/award/{awardUuid}/products \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/segmentation/award/{awardUuid}/products',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/segmentation/award/{awardUuid}/products

Retrieve products from the catalogue

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
awardUuid path string true The uuid of the award/nominee
offset query integer false Pagination offset
limit query integer false Pagination limit

Example responses

200 Response

{
  "awardTitle": "3 years long service award",
  "items": [
    {
      "id": 1,
      "name": "Test product",
      "productCode": "B432GDF53",
      "logo": "string"
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 200,
    "additionalItems": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation segmentedRewardProduct
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Get the offer details for a product

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/products/{productId}/offer', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/products/{productId}/offer HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/products/{productId}/offer \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/products/{productId}/offer',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/products/{productId}/offer

Get the offer details for a product

Parameters

Name In Type Required Description
productId path integer true Identifier of the product

Example responses

200 Response

{
  "name": "Reloadable Cards",
  "keyInformation": "Use your Reloadable card to save in...",
  "howItWorks": "Choose how much you want..."
}

Responses

Status Meaning Description Schema
200 OK Successful operation RRProductOffer
401 Unauthorized Unauthorized Access Exception errorModel
404 Not Found Product could not be found. errorModel

Retrieve all Dreamship shops

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/dreamship/shops', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/dreamship/shops HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/dreamship/shops \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/redemption/dreamship/shops',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/dreamship/shops

Retrieve all Dreamship shops

Example responses

200 Response

[
  {
    "id": 1,
    "schemeId": 1,
    "shopName": "Bank of America"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
404 Not Found Shop not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionDreamshipShop] false none none
» Redemption Dreamship Shop redemptionDreamshipShop false none none
»» id integer true none Id of the shop in the database
»» schemeId integer false none The scheme Id
»» shopName string true none Name given to the shop

Get Award details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/bulkschedule/award/{awardId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/bulkschedule/award/{awardId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/bulkschedule/award/{awardId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/award/{awardId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /bulkschedule/award/{awardId}

This endpoint returns details for a specific bulk award

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
awardId path integer true Id of the award

Example responses

200 Response

{
  "id": 1,
  "rrSchemeId": 1,
  "level": 2,
  "title": "£10 award",
  "description": "£10 award",
  "code": "10P",
  "imageFileType": "jpg",
  "imagePublicPath": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
  "extra": "string",
  "value": {
    "value": "10.0",
    "iso_code": "XPT",
    "full_name": "EUR",
    "short_name": "€",
    "alt_display": "string",
    "as_string": "€ 10.00"
  },
  "canAwardOnApproval": true,
  "visible": true,
  "deleted": false,
  "orderPosition": 1,
  "awardTypeId": 1,
  "recognitionEvent": 1,
  "message": "Test award message",
  "recognitionFrequency": 2,
  "date": "03-03-2020 12:12:12",
  "frequencyCustomInterval": "string",
  "recipientSegmentId": 123,
  "created": "03-03-2020 12:12:12",
  "updated": "03-03-2020 12:12:12",
  "enabled": "03-03-2020 12:12:12",
  "catalogueLocales": "string",
  "lastChangeByMemberId": "8a98e6b3-d589-4782-9522-da619acc7916",
  "certificatesEnabled": true,
  "orientation": "string",
  "design": "string",
  "backgroundImageFileType": "string",
  "isSharedOnSRW": true,
  "nominatorName": "Example User",
  "awardValues": 1,
  "catalogValues": [
    {
      "locale_id": 1,
      "catalog_value": 1
    }
  ],
  "date_next": "string",
  "lastEditor": [
    {
      "id": "8a98e6b3-d589-4782-9522-da619acc7916",
      "firstName": "Example",
      "lastName": "User",
      "fullName": "Example User"
    }
  ],
  "points": [
    {
      "enabled": false,
      "full_name": "EUR",
      "short_name": "€"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation awardDetails
403 Forbidden Access to the resource has been denied errorModel
404 Not Found BulkAward not found errorModel

List RRScheme Awards

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/bulkschedule/rrScheme/{rrSchemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/bulkschedule/rrScheme/{rrSchemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/bulkschedule/rrScheme/{rrSchemeId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/rrScheme/{rrSchemeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /bulkschedule/rrScheme/{rrSchemeId}

This endpoint returns a list of awards for the given Reward Recognition Scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrSchemeId path integer true RR Scheme Id
page query integer false Result page number
segment query integer false recipient segment id
event query integer false event id

Example responses

200 Response

{
  "rrSchemeID": 1,
  "rrConfigurationId": 1,
  "isNominationScheme": false,
  "awardTypes": [
    {
      "id": 1,
      "rrSchemeId": 1,
      "level": 2,
      "title": "£10 award",
      "description": "£10 award",
      "code": "10P",
      "imageFileType": "jpg",
      "imagePublicPath": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
      "extra": "string",
      "value": {
        "value": "10.0",
        "iso_code": "XPT",
        "full_name": "EUR",
        "short_name": "€",
        "alt_display": "string",
        "as_string": "€ 10.00"
      },
      "canAwardOnApproval": true,
      "visible": true,
      "deleted": false,
      "orderPosition": 1,
      "awardTypeId": 1,
      "recognitionEvent": 1,
      "message": "Test award message",
      "recognitionFrequency": 2,
      "date": "03-03-2020 12:12:12",
      "frequencyCustomInterval": "string",
      "recipientSegmentId": 123,
      "created": "03-03-2020 12:12:12",
      "updated": "03-03-2020 12:12:12",
      "enabled": "03-03-2020 12:12:12",
      "catalogueLocales": "string",
      "lastChangeByMemberId": "8a98e6b3-d589-4782-9522-da619acc7916",
      "certificatesEnabled": true,
      "orientation": "string",
      "design": "string",
      "backgroundImageFileType": "string",
      "isSharedOnSRW": true,
      "nominatorName": "Example User",
      "awardValues": 1,
      "catalogValues": [
        {
          "locale_id": 1,
          "catalog_value": 1
        }
      ],
      "date_next": "string",
      "lastEditor": [
        {
          "id": "8a98e6b3-d589-4782-9522-da619acc7916",
          "firstName": "Example",
          "lastName": "User",
          "fullName": "Example User"
        }
      ],
      "points": [
        {
          "enabled": false,
          "full_name": "EUR",
          "short_name": "€"
        }
      ]
    }
  ],
  "awardCount": 5,
  "rrSchemeName": "Example scheme name",
  "socialRecognition": [
    {
      "enabled": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation rrSchemeAwards
403 Forbidden Access to the resource has been denied errorModel
404 Not Found RRScheme not found errorModel

Create a Bulk Award

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/bulkschedule', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/bulkschedule?rrSchemeId=66&AwardValue=string&imageName=test&imageExtension=test&title=test&recognitionEvent=66&recognitionFrequency=66&message=test&recipients=66 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/bulkschedule?rrSchemeId=66&AwardValue=string&imageName=test&imageExtension=test&title=test&recognitionEvent=66&recognitionFrequency=66&message=test&recipients=66 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule?rrSchemeId=66&AwardValue=string&imageName=test&imageExtension=test&title=test&recognitionEvent=66&recognitionFrequency=66&message=test&recipients=66',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /bulkschedule

This endpoint creates a Bulk Award

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrSchemeId query integer true The id of RRScheme
AwardValue query array[string] true The list of award values
imageName query string true The name of the uploaded image
imageExtension query string true The extension of the uploaded image
title query string true The title of the award
recognitionEvent query integer true The id of the recognition event
recognitionFrequency query integer true The id of the recognition frequency
frequencyCustomInterval query integer false The frequency custom interval (award on year)
message query string true The message for the award
recipients query integer true The recipient segment id
date query string false The date for the recognition event (for custom events)
isSharedOnSRW query boolean false A boolean flag for displaying on the Social Recognition Wall

Example responses

201 Response

{
  "success": true,
  "award": {
    "id": 1,
    "rrSchemeId": 1,
    "level": 2,
    "title": "£10 award",
    "description": "£10 award",
    "code": "10P",
    "imageFileType": "jpg",
    "imagePublicPath": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
    "extra": "string",
    "value": {
      "value": "10.0",
      "iso_code": "XPT",
      "full_name": "EUR",
      "short_name": "€",
      "alt_display": "string",
      "as_string": "€ 10.00"
    },
    "canAwardOnApproval": true,
    "visible": true,
    "deleted": false,
    "orderPosition": 1,
    "awardTypeId": 1,
    "recognitionEvent": 1,
    "message": "Test award message",
    "recognitionFrequency": 2,
    "date": "03-03-2020 12:12:12",
    "frequencyCustomInterval": "string",
    "recipientSegmentId": 123,
    "created": "03-03-2020 12:12:12",
    "updated": "03-03-2020 12:12:12",
    "enabled": "03-03-2020 12:12:12",
    "catalogueLocales": "string",
    "lastChangeByMemberId": "8a98e6b3-d589-4782-9522-da619acc7916",
    "certificatesEnabled": true,
    "orientation": "string",
    "design": "string",
    "backgroundImageFileType": "string",
    "isSharedOnSRW": true,
    "nominatorName": "Example User",
    "awardValues": 1,
    "catalogValues": [
      {
        "locale_id": 1,
        "catalog_value": 1
      }
    ],
    "date_next": "string",
    "lastEditor": [
      {
        "id": "8a98e6b3-d589-4782-9522-da619acc7916",
        "firstName": "Example",
        "lastName": "User",
        "fullName": "Example User"
      }
    ],
    "points": [
      {
        "enabled": false,
        "full_name": "EUR",
        "short_name": "€"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
201 Created Created Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found RRScheme not found errorModel

Response Schema

Status Code 201

Name Type Required Restrictions Description
» success boolean true none none
» award awardDetails true none none
»» id integer false none Class AwardController is the API controller for Award Types
»» rrSchemeId integer true none none
»» level integer true none none
»» title string true none none
»» description string true none none
»» code string true none none
»» imageFileType string true none none
»» imagePublicPath string false none none
»» extra string true none none
»» value object false none none
»»» value string false none none
»»» iso_code string false none none
»»» full_name string false none none
»»» short_name string false none none
»»» alt_display string false none none
»»» as_string string false none none
»» canAwardOnApproval boolean true none none
»» visible boolean true none none
»» deleted boolean true none none
»» orderPosition integer true none none
»» awardTypeId integer true none none
»» recognitionEvent integer true none none
»» message string true none none
»» recognitionFrequency integer true none none
»» date string false none none
»» frequencyCustomInterval string false none none
»» recipientSegmentId integer true none none
»» created string false none none
»» updated string false none none
»» enabled string false none none
»» catalogueLocales string false none none
»» lastChangeByMemberId string false none none
»» certificatesEnabled boolean true none none
»» orientation string true none none
»» design string true none none
»» backgroundImageFileType string true none none
»» isSharedOnSRW boolean false none none
»» nominatorName string false none none
»» awardValues integer true none none
»» catalogValues [object] true none none
»»» locale_id integer false none none
»»» catalog_value integer false none none
»» date_next string true none none
»» lastEditor [object] true none none
»»» id string false none none
»»» firstName string false none none
»»» lastName string false none none
»»» fullName string false none none
»» points [object] true none none
»»» enabled boolean false none none
»»» full_name string false none none
»»» short_name string false none none

Upload an Image

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/custom/uploadimage', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/custom/uploadimage HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/custom/uploadimage \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "image": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/uploadimage',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/custom/uploadimage

Upload an image for custom rewards

Body parameter

image: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» image body string true Image to upload

Example responses

200 Response

{
  "success": true,
  "message": "string",
  "imageName": "string",
  "imageExtension": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» message string true none none
» imageName string true none none
» imageExtension string true none none

Delete award types

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/bulkschedule/delete', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/bulkschedule/delete?awards=0 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/bulkschedule/delete?awards=0 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/delete?awards=0',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /bulkschedule/delete

This endpoint deletes Award Types by Id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
awards query array[integer] true List of award IDs to delete

Example responses

200 Response

{
  "status": "ok"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found RRScheme not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» status string true none none

Update an Award

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/bulkschedule/{awardId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/bulkschedule/{awardId}?AwardValue=string&imageName=test&imageExtension=test&title=test&recognitionEvent=5&message=test&recipients=5 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/bulkschedule/{awardId}?AwardValue=string&imageName=test&imageExtension=test&title=test&recognitionEvent=5&message=test&recipients=5 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/{awardId}?AwardValue=string&imageName=test&imageExtension=test&title=test&recognitionEvent=5&message=test&recipients=5',
{
  method: 'PUT',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /bulkschedule/{awardId}

Update an Award

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
awardId path integer true The id of the award
AwardValue query array[string] true The list of award values
imageName query string true The name of the uploaded image
imageExtension query string true The extension of the uploaded image
title query string true The title of the award
recognitionEvent query integer true The id of the recognition event
recognitionFrequency query integer false The id of the recognition frequency
frequencyCustomInterval query integer false The frequency custom interval (award on year)
message query string true The message for the award
recipients query integer true The recipient segment id
date query string false The date for the recognition event
isSharedOnSRW query boolean false A boolean flag for displaying on the Social Recognition Wall

Example responses

200 Response

{
  "success": true,
  "errorData": [
    "string"
  ],
  "rrSchemeID": 1
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found RRScheme not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» errorData [string] true none none
» rrSchemeID integer true none none

Change status of an award

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/bulkschedule/{awardTypeId}/status', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/bulkschedule/{awardTypeId}/status?enabled=true HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/bulkschedule/{awardTypeId}/status?enabled=true \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/{awardTypeId}/status?enabled=true',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /bulkschedule/{awardTypeId}/status

Enable or Disable an Award

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
awardTypeId path integer true The id of the award
enabled query boolean true Boolean true for enabled, false for disabled state

Example responses

200 Response

{
  "status": "ok"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» status string true none none

Lists batches in a rrscheme (programme)

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/bulkschedule/rrScheme/{schemeId}/batches', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/bulkschedule/rrScheme/{schemeId}/batches HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/bulkschedule/rrScheme/{schemeId}/batches \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/rrScheme/{schemeId}/batches',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /bulkschedule/rrScheme/{schemeId}/batches

This endpoint will return a list of rrscheme batches

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeId path integer true Id of the scheme to get batches for
offset query integer false The offset for results
limit query integer false The limit for results
order query string false The order for results
batchStatus query array[any] false Filter batches based on status.
eventType query array[any] false Filter batches based on event type.
dateFrom query string(date-time) false Filter batches based on date. Requires dateTo to be input at the same time.
dateTo query string(date-time) false Filter batches based on date. Requires dateFrom to be input at the same time.

Example responses

200 Response

{
  "additionalItems": true,
  "count": 10,
  "total": 100,
  "batches": [
    {
      "award_name": "string",
      "award_value": [
        {
          "value": 100,
          "iso_code": "XPT",
          "full_name": "string",
          "short_name": "string",
          "alt_display": "string",
          "as_string": "string"
        }
      ],
      "award_count": 100,
      "batch_id": 1,
      "batch_status": "Not Invoiced",
      "event_type": "string",
      "dispatch_date": "01/03/2020 12:12:12",
      "dispatch_type": "string",
      "recipient_segment_id": 1
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» additionalItems boolean true none none
» count integer true none none
» total integer true none none
» batches [object] true none none
»» award_name string true none none
»» award_value [object] true none none
»»» value number true none none
»»» iso_code string true none none
»»» full_name string true none none
»»» short_name string true none none
»»» alt_display string true none none
»»» as_string string true none none
»» award_count integer true none none
»» batch_id integer true none none
»» batch_status string true none none
»» event_type string true none none
»» dispatch_date string true none none
»» dispatch_type string true none none
»» recipient_segment_id integer true none none

Lists awards in a batch

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/bulkschedule/batches/{batchId}/awards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/bulkschedule/batches/{batchId}/awards HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/bulkschedule/batches/{batchId}/awards \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/batches/{batchId}/awards',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /bulkschedule/batches/{batchId}/awards

This endpoint will return a list of awards in a batch

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
batchId path integer true Id of a batch to get awards for
offset query integer false The offset for results
limit query integer false The limit for results

Example responses

200 Response

{
  "additionalItems": true,
  "count": 100,
  "total": 1000,
  "transactions": [
    {
      "id": 10,
      "datetime": "2020-03-03 12:12:12",
      "award_title": "string",
      "award_value": "string",
      "event": "string",
      "status": "Confirmed",
      "recipient_segment_id": 1,
      "recipient_full_name": "Example User",
      "payroll_number": "003",
      "is_cancel_allowed": true,
      "is_cancelled": true,
      "is_claimed": true,
      "cancel_reason": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» additionalItems boolean true none none
» count integer true none none
» total integer true none none
» transactions [object] true none none
»» id integer true none none
»» datetime string false none none
»» award_title string true none none
»» award_value string true none none
»» event string true none none
»» status string true none none
»» recipient_segment_id integer true none none
»» recipient_full_name string true none none
»» payroll_number string true none none
»» is_cancel_allowed boolean true none none
»» is_cancelled boolean true none none
»» is_claimed boolean true none none
»» cancel_reason string true none none

Mark batch as dispatching

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/bulkschedule/batches/{batchId}/markAsDispatching', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/bulkschedule/batches/{batchId}/markAsDispatching HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/bulkschedule/batches/{batchId}/markAsDispatching \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/batches/{batchId}/markAsDispatching',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /bulkschedule/batches/{batchId}/markAsDispatching

This endpoint will mark a batch as dispaching

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
batchId path integer true Id of a batch to mark as dispatching

Example responses

200 Response

{
  "code": 0,
  "message": "Batch queued for resend!",
  "details": [
    "string"
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» code integer true none none
» message string true none none
» details [string] true none none

Mark batch as cancelled

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/bulkschedule/batches/{batchId}/cancel', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/bulkschedule/batches/{batchId}/cancel HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/bulkschedule/batches/{batchId}/cancel \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/batches/{batchId}/cancel',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /bulkschedule/batches/{batchId}/cancel

This endpoint will mark a batch as cancelled

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
batchId path integer true Id of a batch to cancel

Example responses

200 Response

"string"

Responses

Status Meaning Description Schema
200 OK Successful operation string
403 Forbidden Access to the resource has been denied errorModel

Cancel batch transactions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/bulkschedule/batches/transaction/cancel', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/bulkschedule/batches/transaction/cancel HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/bulkschedule/batches/transaction/cancel \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "transactions": [
    0
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/bulkschedule/batches/transaction/cancel',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /bulkschedule/batches/transaction/cancel

This endpoint will cancel transactions in a batch

Body parameter

{
  "transactions": [
    0
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» transactions body [integer] true none

Example responses

200 Response

{
  "status": "ok"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» status string true none none

Update a particular payment card's alias

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/wallet/{id}/alias', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/wallet/{id}/alias HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/wallet/{id}/alias \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wallet/{id}/alias',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /wallet/{id}/alias

This endpoint updates alias for a particular payment card

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path integer true Identifier of the payment card

Example responses

200 Response

{
  "id": "string",
  "alias": "string",
  "cardExpiry": "string",
  "cardPan": "string",
  "cardType": "string",
  "cardFee": 0.1,
  "isCreditCard": true,
  "isTrusted": true,
  "firstName": "string",
  "lastName": "string",
  "addressLine1": "string",
  "addressLine2": "string",
  "addressLine3": "string",
  "addressLine4": "string",
  "postalCode": "string",
  "country": "string",
  "subscriptionId": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation PaymentCard
400 Bad Request Bad request standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Payment card is not found standardModel
500 Internal Server Error Internal error standardModel

Get a member's alternate approvers configuration

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/config', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/config HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/config \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/config',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/member/{memberUuid}/alternateApprovers/config

This endpoint will return information about a member's alternate approvers configuration

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
memberUuid path string true Member identifier

Example responses

200 Response

{
  "result": {
    "alternateApproversEnabled": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» result object true none none
»» alternateApproversEnabled boolean false none none

Get a member's alternate approvers list

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/member/{memberUuid}/alternateApprovers

This endpoint will return information about a member's alternate approvers

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
memberUuid path string true Member identifier

Example responses

200 Response

{
  "result": [
    {
      "id": 100,
      "startDate": "2020-03-03",
      "startTimestamp": 1583193600,
      "endDate": "2023-11-28",
      "endTimestamp": 1701179796,
      "approvers": [
        {
          "id": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
          "firstName": "Example",
          "lastName": "User",
          "contactId": 4,
          "avatarUrl": "string"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» result [object] true none none
»» id integer false none none
»» startDate string false none none
»» startTimestamp integer false none none
»» endDate string false none none
»» endTimestamp integer false none none
»» approvers [object] false none none
»»» id string false none none
»»» firstName string false none none
»»» lastName string false none none
»»» contactId integer false none none
»»» avatarUrl string false none none

Create alternate approver for a member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "approverContactIds": [
    0
  ],
  "startDate": "string",
  "endDate": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/member/{memberUuid}/alternateApprovers

This endpoint will create an alternate approver item for a member

Body parameter

{
  "approverContactIds": [
    0
  ],
  "startDate": "string",
  "endDate": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
memberUuid path string true Member identifier
body body object false none
» approverContactIds body [integer] false none
» startDate body string false none
» endDate body string false none

Example responses

200 Response

{
  "result": "Success",
  "approverItemId": 30
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» result string true none none
» approverItemId integer true none none

Update alternate approver for a member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "approverContactIds": [
    0
  ],
  "startDate": "string",
  "endDate": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId}

This endpoint will update an alternate approver item for a member

Body parameter

{
  "approverContactIds": [
    0
  ],
  "startDate": "string",
  "endDate": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
memberUuid path string true Member identifier
alternateApproverItemId path integer true Alternate approver item identifer
body body object false none
» approverContactIds body [integer] false none
» startDate body string false none
» endDate body string false none

Example responses

200 Response

{
  "success": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none

Delete a member's alternate approvers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/member/{memberUuid}/alternateApprovers/{alternateApproverItemId}

This endpoint will delete a member's alternate approvers

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
memberUuid path string true Member identifier
alternateApproverItemId path integer true Alternate approver item identifer

Example responses

403 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation None
403 Forbidden Access to the resource has been denied standardModel

Get a member's recognition award

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/member/{memberUuid}/award/{nomineeUuid}

This endpoint will return information about a member's award

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
memberUuid path string true Member identifier
nomineeUuid path string true Nominee identifier

Example responses

200 Response

{
  "result": {
    "reactionSchemes": [
      {
        "toolbar": [
          {
            "id": 1,
            "value": "string",
            "text": "string",
            "icon": "string",
            "iconPng": "string",
            "reactURL": "string"
          }
        ],
        "fetchURL": "string",
        "fetchAllURL": "string",
        "total": 100,
        "topReactionLimit": 50
      }
    ],
    "reactionData": [
      {
        "userReactionId": 10,
        "lastReaction": [
          {
            "contactId": 10,
            "reactionId": 10
          }
        ],
        "reactions": [
          [
            {
              "total": 100,
              "reactionId": 1
            }
          ]
        ],
        "totalReactions": 100,
        "reactionTypes": [
          "string"
        ],
        "toolbarText": "string"
      }
    ],
    "award": [
      {
        "title": "string",
        "publicPath": "string",
        "description": "string"
      }
    ],
    "senderAvatar": "string",
    "senderProfileURL": "string",
    "nominatorName": "Example User",
    "isShared": true,
    "nominationReason": "string",
    "textAnswers": "string",
    "fileAnswers": "string",
    "feed": [
      {
        "feedItemId": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
        "id": 10,
        "type": "srwfeeditem",
        "subjectId": 10,
        "subjectType": "srwfeeditem",
        "segmentId": 100,
        "title": "string",
        "content": "string"
      }
    ],
    "printAwardLink": "string",
    "certificateUrl": "string",
    "isLikeEnabled": true,
    "isCommentEnabled": true,
    "isSocialRecognitionEnabled": true,
    "commentsCount": 100,
    "currentUserContactId": 4,
    "isRecipient": true,
    "isNominee": true,
    "isNominator": true,
    "nomineeName": "Example User",
    "awardValue": [
      {
        "condensedString": "string",
        "value": 100
      }
    ],
    "commentsProfileAvatar": "string",
    "feedLimit": 5,
    "commentLimit": 5,
    "likesLimit": 4,
    "nominationId": 10,
    "nominationMessage": "string",
    "productName": "string",
    "recipients": [
      {
        "fullName": "Example User"
      }
    ],
    "isClaimed": true,
    "approvalReasons": [
      [
        {
          "fullName": "Example User",
          "reason": "Work Hard"
        }
      ]
    ],
    "type": 0,
    "isSegmentedReward": true,
    "isRedeemed": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» result object true none none
»» reactionSchemes [object] false none none
»»» toolbar [object] false none none
»»»» id integer false none none
»»»» value string false none none
»»»» text string false none none
»»»» icon string false none none
»»»» iconPng string false none none
»»»» reactURL string false none none
»»» fetchURL string false none none
»»» fetchAllURL string false none none
»»» total integer false none none
»»» topReactionLimit integer false none none
»» reactionData [object] false none none
»»» userReactionId integer false none none
»»» lastReaction [object] false none none
»»»» contactId integer false none none
»»»» reactionId integer false none none
»»» reactions [array] false none none
»»»» total integer false none none
»»»» reactionId integer false none none
» totalReactions integer false none none
» reactionTypes [string] false none none
» toolbarText string false none none
award [object] false none none
» title string false none none
» publicPath string false none none
» description string false none none
senderAvatar string false none none
senderProfileURL string false none none
nominatorName string false none none
isShared boolean false none none
nominationReason string false none none
textAnswers string false none none
fileAnswers string false none none
feed [object] false none none
» feedItemId string false none none
» id integer false none none
» type string false none none
» subjectId integer false none none
» subjectType string false none none
» segmentId integer false none none
» title string false none none
» content string false none none
printAwardLink string false none none
certificateUrl string false none none
isLikeEnabled boolean false none none
isCommentEnabled boolean false none none
isSocialRecognitionEnabled boolean false none none
commentsCount integer false none none
currentUserContactId integer false none none
isRecipient boolean false none none
isNominee boolean false none none
isNominator boolean false none none
nomineeName string false none none
awardValue [object] false none none
» condensedString string false none none
» value integer false none none
commentsProfileAvatar string false none none
feedLimit integer false none none
commentLimit integer false none none
likesLimit integer false none none
nominationId integer false none none
nominationMessage string false none none
productName string false none none
recipients [object] false none none
» fullName string false none none
isClaimed boolean false none none
approvalReasons [array] false none none
» fullName string false none none
» reason string false none none
type integer false none none
isSegmentedReward boolean false none none
isRedeemed boolean false none none

Claim a member's recognition award

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid}/claim', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid}/claim HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid}/claim \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/{memberUuid}/award/{nomineeUuid}/claim',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/member/{memberUuid}/award/{nomineeUuid}/claim

This endpoint will claim a member's award

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
memberUuid path string true Member identifier
nomineeUuid path string true Nominee identifier

Example responses

200 Response

{
  "result": {
    "success": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» result object true none none
»» success boolean false none none

Get the current member's recognition

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/member/awards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/member/awards?identifier=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/member/awards?identifier=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/member/awards?identifier=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/member/awards

This endpoint will return a list of all monetary recognition the current member has received. These maybe claimed by the member or unclaimed in some cases.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
identifier query string true Member identifier
offset query string false Pagination offset
limit query string false Pagination limit

Example responses

200 Response

{
  "results": [
    {
      "unclaimed": [
        [
          "Example User"
        ]
      ],
      "claimed": [
        [
          {
            "sender": "Example User"
          }
        ]
      ]
    }
  ],
  "paginationClaimed": [
    {
      "offset": 1,
      "limit": 10,
      "count": 100,
      "additionalItems": true
    }
  ],
  "translationKeys": [
    {
      "Reason_for_Award": "string",
      "View_Award": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» results [object] true none none
»» unclaimed [array] true none none
»» claimed [array] true none none
»»» sender string true none none
paginationClaimed [object] true none none
» offset integer true none none
» limit integer true none none
» count integer true none none
» additionalItems boolean true none none
translationKeys [object] true none none
» Reason_for_Award string true none none
» View_Award string true none none

Give me all types of recognition the authenticated user can send

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/categories HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/categories \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/categories

This endpoint will return information about rrSchemes that can be used by member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
configurationId query integer false R&R configuration id

Example responses

200 Response

{
  "results": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» results [any] false none The array of rrScheme objects

Get additional information about an R&R programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/categories/info', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/categories/info?program_id=1 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/categories/info?program_id=1 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/categories/info?program_id=1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/categories/info

Get additional information about an R&R programme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
program_id query string true R&R Scheme ID

Example responses

200 Response

{
  "id": 124,
  "name": "My Award Programme",
  "productName": "Award",
  "type": "InstantAwards",
  "html": "A description with extra information",
  "status": 0
}

Responses

Status Meaning Description Schema
200 OK Successful operation rrSchemeInfo
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Show who can receive specified recognition

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/categories/recipients', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/categories/recipients HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/categories/recipients \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "recipients": "string",
  "rrSchemeId": "string",
  "potId": "string",
  "rrType": "string",
  "awardId": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/categories/recipients',
{
  method: 'GET',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/categories/recipients

Returns a list of eligible and ineligible members to receive recognition

Body parameter

recipients: string
rrSchemeId: string
potId: string
rrType: string
awardId: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» recipients body string true List of recipients uuid seperated by comma
» rrSchemeId body string true rr scheme id
» potId body string false Pot from which the award value is deducted. Required if using pots. Ignored when Rules Replacing Pots is enabled.
» rrType body string true rr recognition Type
» awardId body string false awardId

Example responses

200 Response

{
  "results": {
    "eligible": [
      {
        "id": "string",
        "firstName": "string",
        "lastName": "string",
        "avatarUrl": "string"
      }
    ],
    "ineligible": [
      {
        "id": "string",
        "firstName": "string",
        "lastName": "string",
        "avatarUrl": "string"
      }
    ],
    "errorMessage": "string",
    "warnings": [
      {
        "title": "string",
        "isSoftLimitHit": true,
        "isHardLimitHit": true,
        "impactedUsers": [
          "string"
        ]
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» results recognitioncheckusers false none none
»» eligible [recognitionrecipient] true none none
»»» Recognition Recipient recognitionrecipient false none none
»»»» id string true none none
»»»» firstName string true none none
»»»» lastName string true none none
»»»» avatarUrl string true none none
»» ineligible [recognitionrecipient] true none none
»»» Recognition Recipient recognitionrecipient false none none
»» errorMessage string true none none
»» warnings [recognition_warning] false none none
»»» Recognition Warning recognition_warning false none none
»»»» title string true none none
»»»» isSoftLimitHit boolean true none none
»»»» isHardLimitHit boolean true none none
»»»» impactedUsers [string] false none none

Send a non-monetary recognition moment

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/ecard', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/ecard HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/ecard \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "cardId": 0,
  "categoryId": 0,
  "message": "string",
  "recipients": "string",
  "form": "string",
  "notListedRecipients[][emailAddress]": "string",
  "notListedRecipients[][firstName]": "string",
  "notListedRecipients[][lastName]": "string",
  "shared": 0,
  "assetType": "string",
  "assetId": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/ecard',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /ecard

This endpoint will send a non-monetary recognition moment (eCard) on behalf of the current user. * Either the recipient property or nonListedRecipient property need to be input when calling this endpoint.

Body parameter

cardId: 0
categoryId: 0
message: string
recipients: string
form: string
"notListedRecipients[][emailAddress]": string
"notListedRecipients[][firstName]": string
"notListedRecipients[][lastName]": string
shared: 0
assetType: string
assetId: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» cardId body integer true eCard identifier
» categoryId body integer true Category identifier
» message body string true Ecard message
» recipients body string true List of recipients
» form body string true Request is send from [android, ios, web]
» notListedRecipients[][emailAddress] body string false Non registered recipient email address
» notListedRecipients[][firstName] body string false Non registed recipient first name
» notListedRecipients[][lastName] body string false Non registed recipient last name
» shared body integer false eCard is shared
» assetType body string false List of recipients
» assetId body string false List of recipients

Example responses

200 Response

{
  "id": 1234,
  "name": "Acme Rewards",
  "companyName": "Acme Ltd",
  "url": "https://acme.rewardgateway.com",
  "hasUsernameEndpoint": true,
  "branding": {}
}

Responses

Status Meaning Description Schema
200 OK Successful operation scheme
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Scheme is not found errorModel

Get Dreamship shop

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/redemption/dreamship/shop

Retrieves the Dreamship shop for a scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "id": 1,
    "schemeId": 1,
    "shopName": "Bank of America"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionDreamshipShop] false none none
» Redemption Dreamship Shop redemptionDreamshipShop false none none
»» id integer true none Id of the shop in the database
»» schemeId integer false none The scheme Id
»» shopName string true none Name given to the shop

Create Dreamship shop

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "shopName": "string",
  "shopKey": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/dreamship/shop',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /admin/recognition/redemption/dreamship/shop

Create a Dreamship shop for a scheme

Body parameter

shopName: string
shopKey: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» shopName body string true Shop name
» shopKey body string true Used to identify the store in the API. No capital letters, spaces or special characters except hyphens (-) and underscores (_)

Example responses

200 Response

[
  {
    "id": 1,
    "schemeId": 1,
    "shopName": "Bank of America"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionDreamshipShop] false none none
» Redemption Dreamship Shop redemptionDreamshipShop false none none
»» id integer true none Id of the shop in the database
»» schemeId integer false none The scheme Id
»» shopName string true none Name given to the shop

Get a list of products for given locale

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/admin/recognition/redemption/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/admin/recognition/redemption/products?localeId=1 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/admin/recognition/redemption/products?localeId=1 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/admin/recognition/redemption/products?localeId=1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /admin/recognition/redemption/products

This endpoint returns a list of products filtered by locale

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
localeId query integer true Id of the locale for which to return data for

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "getUsableOnline": true,
    "getUsableInstore": true,
    "description": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionAdminProduct] false none none
» Redemption Admin Product redemptionAdminProduct false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» getUsableOnline boolean true none Get usable online
»» getUsableInstore boolean true none Get usable in store
»» description string true none Description

Get a list of orders Fulfilled, Unfulfilled or both

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/custom/orders/fulfillment', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/custom/orders/fulfillment HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/custom/orders/fulfillment \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/orders/fulfillment',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/custom/orders/fulfillment

This endpoint returns a list of fulfilled, unfulfilled or both reward orders

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
offset query string false Pagination offset
limit query string false Pagination limit
fulfillmentStatus query string false Fulfillment status of the orders to get (Fulfilled, Unfulfilled), defaults to both.

Example responses

200 Response

{
  "items": [
    {
      "orderId": 1234,
      "orderDate": 1621004601,
      "memberName": "Joe Bloggs",
      "memberEmail": "joe.bloggs@email.com",
      "memberLicenceKey": "ABC12345",
      "title": "Lunch with the CEO",
      "qty": 2,
      "transactionId": 12345678,
      "status": "Unfulfilled",
      "productId": 12
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 157,
    "additionalItems": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation customOrderFulfillment
403 Forbidden Access to the resource has been denied errorModel

Marks an order item as fulfilled

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/fulfil', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/fulfil HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/fulfil \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/fulfil',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/custom/order/{transactionId}/fulfil

Marks an order item as fulfilled via it's transaction id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
transactionId path string true The transactionId belonging to one of the order items that we want marked as fulfilled, e.g. 1

Example responses

200 Response

{
  "orderId": 1234,
  "orderDate": 1621004601,
  "memberName": "Joe Bloggs",
  "memberEmail": "joe.bloggs@email.com",
  "memberLicenceKey": "ABC12345",
  "title": "Lunch with the CEO",
  "qty": 2,
  "transactionId": 12345678,
  "status": "Unfulfilled",
  "productId": 12
}

Responses

Status Meaning Description Schema
200 OK Successful operation customOrderFulfillmentItem
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The order item was not found in the unfulfilled state errorModel

Marks an order item as unfulfilled

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/unfulfil', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/unfulfil HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/unfulfil \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/order/{transactionId}/unfulfil',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/custom/order/{transactionId}/unfulfil

Marks an order item as unfulfilled via it's transaction id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
transactionId path string true The transactionId belonging to one of the order items that we want marked as unfulfilled, e.g. 1

Example responses

200 Response

{
  "orderId": 1234,
  "orderDate": 1621004601,
  "memberName": "Joe Bloggs",
  "memberEmail": "joe.bloggs@email.com",
  "memberLicenceKey": "ABC12345",
  "title": "Lunch with the CEO",
  "qty": 2,
  "transactionId": 12345678,
  "status": "Unfulfilled",
  "productId": 12
}

Responses

Status Meaning Description Schema
200 OK Successful operation customOrderFulfillmentItem
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The order item was not found in the fulfilled state errorModel

Marks order items as fulfilled in bulk

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/fulfil', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/fulfil HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/fulfil \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "transactionIds": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/fulfil',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/custom/order/bulk/fulfil

Marks order items as fulfilled in bulk via their transaction ids

Body parameter

{
  "transactionIds": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» transactionIds body string true The transaction ids to mark as fulfilled e.g. 1,3,4,12,13

Example responses

200 Response

{
  "processed": [
    0
  ],
  "unprocessed": [
    0
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionBulkProcessResult
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Marks order items as unfulfilled in bulk

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/unfulfil', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/unfulfil HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/unfulfil \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "transactionIds": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/order/bulk/unfulfil',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/custom/order/bulk/unfulfil

Marks order item as unfulfilled in bulk via their transaction ids

Body parameter

{
  "transactionIds": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» transactionIds body string true The transaction ids to mark as unfulfilled e.g. 1,3,4,12,13

Example responses

200 Response

{
  "processed": [
    0
  ],
  "unprocessed": [
    0
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionBulkProcessResult
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Refunds an order item

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/custom/order/refund', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/custom/order/refund HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/custom/order/refund \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "orderId": 0,
  "productId": 0,
  "reason": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/order/refund',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/custom/order/refund

Refunds all quantities of an order item

Body parameter

{
  "orderId": 0,
  "productId": 0,
  "reason": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» orderId body integer true none
» productId body integer true none
» reason body string true none

Example responses

200 Response

{
  "orderReference": "101-02"
}

Responses

Status Meaning Description Schema
200 OK Successful operation orderRefundSuccess
400 Bad Request Bad request, product has already been refunded errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The order was not found, product does not exist in order errorModel

Get comments for specific feed item.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw/feed/{feedID}/comments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw/feed/{feedID}/comments HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw/feed/{feedID}/comments \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed/{feedID}/comments',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw/feed/{feedID}/comments

This endpoint returns a list of comments that are against a specific feed item in the social recognition feed

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
feedID path string true Feed Identifier

Example responses

200 Response

{
  "comments": [
    null
  ],
  "commentLimit": 5,
  "commentsCount": 20
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» comments [any] true none none
» commentLimit integer true none none
» commentsCount integer true none none

Get social recognition feed

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw/feed', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw/feed?count=500 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw/feed?count=500 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed?count=500',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw/feed

This endpoint will return the social recognition feed for the current member. These are all * recognition moments that are shared.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
maxId query integer false Identifier of the last max feed record.
count query integer true Count of items per page.

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Fetch grouped feed items

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/srw/feed/grouped/{groupingId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/srw/feed/grouped/{groupingId}?count=500 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/srw/feed/grouped/{groupingId}?count=500 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/srw/feed/grouped/{groupingId}?count=500',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /srw/feed/grouped/{groupingId}

This endpoint will return all feed items that have been grouped with a single groupingId.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
groupingId path string true Grouping Id
maxId query integer false Identifier of the last max feed record.
count query integer true Count of items per page.

Example responses

200 Response

[
  {}
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request. errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Feed was not found. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [srwfeed] false none none
» Social Recognition Feed object false none none

Get all custom reward items in the shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/custom/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/custom/basket HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/custom/basket \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/basket',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/custom/basket

This endpoint will return all items the current member has in their shopping basket.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
basketId query string false Basket identifier

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found errorModel

Add custom reward product to basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/custom/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/custom/basket HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/custom/basket \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "productId": "string",
  "quantity": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/basket',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/custom/basket

This endpoint adds a CustomReward product to the basket

Body parameter

productId: string
quantity: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» productId body string true The product id of the item that we would like added to the basket
» quantity body string false The quantity of the product that we want in the basket. Default value of 1 will be used if no value is provided

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found. errorModel

Clear the custom reward shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/custom/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/custom/basket HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/custom/basket \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/basket',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/custom/basket

This endpoint will clear all items currently available in the current member's shopping basket.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found errorModel

Remove custom reward product from basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/custom/basket/{productId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/custom/basket/{productId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/custom/basket/{productId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/basket/{productId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/custom/basket/{productId}

This endpoint removes a CustomReward product from the basket

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
productId path string true The product id of the item that we would like removed from the basket

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket or Product was not found. errorModel

Get all physical items in the shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/basket?type=amazon HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/basket?type=amazon \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/basket?type=amazon',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/basket

This endpoint will return all items the current member has in their shopping basket.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
basketId query string false Basket identifier

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found errorModel

Add physical product to basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/physical/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/physical/basket HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/physical/basket \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "type": "amazon",
  "productCode": "B07WTVQ171",
  "quantity": "1"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/basket',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/physical/basket

This endpoint adds a physical product to the basket

Body parameter

type: amazon
productCode: B07WTVQ171
quantity: "1"

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» type body string false Physical store type e.g. amazon
» productCode body string false The product code of the item that we would like added to the basket
» quantity body string false The quantity of the product that we want in the basket. Default value of 1 will be used if no value is provided

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found. errorModel

Clear the physical shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/physical/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/physical/basket?type=amazon HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/physical/basket?type=amazon \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/basket?type=amazon',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/physical/basket

This endpoint will clear all items currently available in the current member's shopping basket.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found errorModel

Remove physical product from basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/physical/basket/{productCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/physical/basket/{productCode}?type=amazon HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/physical/basket/{productCode}?type=amazon \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/basket/{productCode}?type=amazon',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/physical/basket/{productCode}

This endpoint removes a physical product from the basket

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
productCode path string true The product code of the item that we would like removed from the basket
type query string true Physical store type e.g. amazon

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket or Product was not found. errorModel

Get product checkout details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/amazon/cart', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/amazon/cart HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/amazon/cart \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/amazon/cart',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/amazon/cart

This endpoint returns product checkout details

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "accessKey": "string",
  "associateTag": "string",
  "cartUrl": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation cart
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Checks whether pricing or availability has changed for products in the basket e.g. amazon

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/physical/verifyBasketProducts', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/physical/verifyBasketProducts HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/physical/verifyBasketProducts \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "type": "string",
  "basketId": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/verifyBasketProducts',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/physical/verifyBasketProducts

This endpoint will check whether the pricing or availability of products in the basket has changed and update the basket accordingly. This will hit the API of the marketplace

Body parameter

type: string
basketId: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» type body string true Physical store type e.g. amazon
» basketId body string true Basket identifier

Example responses

200 Response

[
  {
    "basketId": "14e764fc-20cf-9904-8118-a2e7a620f59d"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found When basket or compartment is not found errorModel
422 Unprocessable Entity When product pricing or availability has changed, and needs to be communicated back to the user errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [verifyBasketProductsSuccess] false none [Class VerifyBasketProductsSuccess]
» Verify Basket Products Success verifyBasketProductsSuccess false none Class VerifyBasketProductsSuccess
»» basketId string true none The basket Id

Update the R&R configuration

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/recognition/redemption/configuration/{schemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/recognition/redemption/configuration/{schemeId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/recognition/redemption/configuration/{schemeId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "pageRedeemTitle": "string",
  "pageRedeemDescription": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/configuration/{schemeId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /recognition/redemption/configuration/{schemeId}

This endpoint will update the R&R configuration

Body parameter

{
  "pageRedeemTitle": "string",
  "pageRedeemDescription": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeId path integer true The id of the scheme which is being edited
body body object true none
» pageRedeemTitle body string false none
» pageRedeemDescription body string false none

Example responses

200 Response

[
  {
    "rrConfigurationId": 1,
    "schemeId": 2,
    "pageRedeemTitle": "Redeem Award",
    "pageRedeemDescription": "Don't forget, you can spend your awards at more than one retailer",
    "enabled": true,
    "global": false
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionConfigurationSuccess] false none [Class ConfigurationSuccess]
» Redemption Configuration Success redemptionConfigurationSuccess false none Class ConfigurationSuccess
»» rrConfigurationId integer true none The RR Configuration Id
»» schemeId integer true none The scheme Id
»» pageRedeemTitle string true none The page redeem title
»» pageRedeemDescription string true none The page redeem description
»» enabled boolean true none Is enabled
»» global boolean true none Is global

Preview the budget breakdown for members

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/rule-set/preview-budget-breakdown/rrscheme/{rrSchemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/rule-set/preview-budget-breakdown/rrscheme/{rrSchemeId}?name=John%20Doe HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/rule-set/preview-budget-breakdown/rrscheme/{rrSchemeId}?name=John%20Doe \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '[
  {
    "ruleId": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "priority": 1,
    "listOrder": 1,
    "active": true,
    "deleted": true
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rule-set/preview-budget-breakdown/rrscheme/{rrSchemeId}?name=John%20Doe',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/rule-set/preview-budget-breakdown/rrscheme/{rrSchemeId}

Receive a rule set config and a 'name' search string, returns rule data for matching members. This endpoint doesn't save any data.

Body parameter

[
  {
    "ruleId": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "priority": 1,
    "listOrder": 1,
    "active": true,
    "deleted": true
  }
]

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrSchemeId path string true The R&R programme ID
name query string true The search string to match against member names
body body rrRuleSetItem false none

Example responses

200 Response

[
  {
    "externalId": "XYZ12345",
    "fullName": "Bruce Wayne",
    "firstName": "Bruce",
    "lastName": "Wayne",
    "ruleName": "Managers monthly budget",
    "ruleType": "receiving",
    "limitType": "count",
    "periodName": "Monthly",
    "softLimit": 5,
    "hardLimit": 7.5,
    "memberDetails": {
      "department": "Engineering",
      "division": "Reward & Recognition",
      "organization": "Reward Gateway UK",
      "cost_center": "123.565.2444.34"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Error: Could not generate the breakdown standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [rrBreakdownItem] false none none
» Reward and Recognition Breakdown Item rrBreakdownItem false none none
»» externalId string true read-only The members exteral unique identifier
»» fullName string true read-only The members full name
»» firstName string true read-only The members first name
»» lastName string true read-only The members last name
»» ruleName string true read-only The name of the rule
»» ruleType string true read-only The type of rule - sending or receiving
»» limitType string true read-only The rule limit type - value or count
»» periodName string true read-only The name of the type of period associated with this rule
»» softLimit number true read-only The soft limit for the rule
»» hardLimit number true read-only The hard limit for the rule
»» memberDetails object true none Any discriminiator values that exist
»»» department string false read-only The department the member belongs to
»»» division string false read-only The division the member belongs to
»»» organization string false read-only The organization the member belongs to
»»» cost_center string false read-only The members cost center

Preview the member counts for a set of rules

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/rule-set/preview-member-counts', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/rule-set/preview-member-counts HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/rule-set/preview-member-counts \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '[
  {
    "ruleId": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "priority": 1,
    "listOrder": 1,
    "active": true,
    "deleted": true
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rule-set/preview-member-counts',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/rule-set/preview-member-counts

Receive a rule set config and return the member counts for each rule. This endpoint doesn't save any data.

Body parameter

[
  {
    "ruleId": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "priority": 1,
    "listOrder": 1,
    "active": true,
    "deleted": true
  }
]

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body rrRuleSetItem false none

Example responses

200 Response

[
  {
    "ruleId": "8a98e6b3-d556-4654-96ee-30c3830d92eb",
    "matchedMembers": 54,
    "unmatchedMembers": 12,
    "active": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Error: Could not compute counts standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» ruleId string false none The UUID of the rule
» matchedMembers integer false none The count of matched members
» unmatchedMembers integer false none The count of unmatched members
» active boolean false none The active state of the rule, will always be true for previews

Set priorities, activate and delete states on a collections of rules

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/rule-set/update', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/rule-set/update HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/rule-set/update \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '[
  {
    "ruleId": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "priority": 1,
    "listOrder": 1,
    "active": true,
    "deleted": true
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rule-set/update',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/rule-set/update

Set priorities, activate and delete states on a collections of rules.

Body parameter

[
  {
    "ruleId": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "priority": 1,
    "listOrder": 1,
    "active": true,
    "deleted": true
  }
]

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body rrRuleSetItem false none

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Error: Could not update rule set standardModel

Create a new rule

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/rules', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/rules HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/rules \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "ruleType": 2,
  "name": "Managers monthly budget",
  "schemeId": 145,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "segments": [
    {
      "id": 13
    }
  ],
  "period": {
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rules',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/rules

This endpoint is used to create a new rule.

Body parameter

{
  "ruleType": 2,
  "name": "Managers monthly budget",
  "schemeId": 145,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "segments": [
    {
      "id": 13
    }
  ],
  "period": {
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body rrRule false none

Example responses

200 Response

{
  "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
  "ruleType": 2,
  "name": "Managers monthly budget",
  "schemeId": 145,
  "active": true,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "priority": 1,
  "listOrder": 1,
  "segments": [
    {
      "id": 13,
      "name": "All Managers"
    }
  ],
  "period": {
    "periodType": 2,
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation rrRule
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Error: Could not save rule standardModel

Get a rule by UUID

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/rules/{ruleId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/rules/{ruleId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/rules/{ruleId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rules/{ruleId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/rules/{ruleId}

This endpoint will return rule information

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
ruleId path string true Rule UUID

Example responses

200 Response

{
  "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
  "ruleType": 2,
  "name": "Managers monthly budget",
  "schemeId": 145,
  "active": true,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "priority": 1,
  "listOrder": 1,
  "segments": [
    {
      "id": 13,
      "name": "All Managers"
    }
  ],
  "period": {
    "periodType": 2,
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation rrRule
404 Not Found Rule not found standardModel

Update an existing rule

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/recognition/rules/{ruleId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/recognition/rules/{ruleId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/recognition/rules/{ruleId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "name": "Managers monthly budget",
  "active": true,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "priority": 1,
  "listOrder": 1,
  "segments": [
    {
      "id": 13
    }
  ],
  "period": {
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rules/{ruleId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /recognition/rules/{ruleId}

This endpoint is used to update an existing rule.

Body parameter

{
  "name": "Managers monthly budget",
  "active": true,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "priority": 1,
  "listOrder": 1,
  "segments": [
    {
      "id": 13
    }
  ],
  "period": {
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
ruleId path string true Rule UUID
body body rrRuleUpdate false none

Example responses

200 Response

{
  "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
  "ruleType": 2,
  "name": "Managers monthly budget",
  "schemeId": 145,
  "active": true,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "priority": 1,
  "listOrder": 1,
  "segments": [
    {
      "id": 13,
      "name": "All Managers"
    }
  ],
  "period": {
    "periodType": 2,
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation rrRule
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Error: Could not update rule standardModel

Delete a rule by UUID

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/rules/{ruleId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/rules/{ruleId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/rules/{ruleId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rules/{ruleId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/rules/{ruleId}

This endpoint will delete a rule

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
ruleId path string true Rule UUID

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
404 Not Found Rule not found standardModel

Get a list of rules for an R&R programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/rules/rrscheme/{rrSchemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/rules/rrscheme/{rrSchemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/rules/rrscheme/{rrSchemeId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rules/rrscheme/{rrSchemeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/rules/rrscheme/{rrSchemeId}

This endpoint will return a list of rules for an R&R programme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
rrSchemeId path string true The R&R programme ID

Example responses

200 Response

[
  {
    "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "ruleType": 2,
    "name": "Managers monthly budget",
    "schemeId": 145,
    "active": true,
    "softLimit": 2.5,
    "hardLimit": 10.5,
    "softLimitMessage": "You have reached the soft limit",
    "hardLimitMessage": "You have reached the hard limit",
    "priority": 1,
    "listOrder": 1,
    "segments": [
      {
        "id": 13,
        "name": "All Managers"
      }
    ],
    "period": {
      "periodType": 2,
      "typeName": "annual",
      "day": 25,
      "month": 11,
      "year": 2023
    },
    "rrSchemes": [
      {
        "id": 13
      }
    ],
    "subjects": [
      {
        "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
404 Not Found R&R programme not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [rrRule] false none none
» Reward and Recognition Rule rrRule false none none
»» id string¦null true read-only The UUID of the rule
»» ruleType integer true none The rule type code
»» name string true none A name given to the rule
»» schemeId integer true none The ID of the scheme
»» active boolean false read-only If the rule is active or not
»» softLimit number(float) false none The soft limit associated with this rule
»» hardLimit number(float) false none The hard limit associated with this rule
»» softLimitMessage string false none A message used when the soft limit is reached
»» hardLimitMessage string false none A message used when the hard limit is reached
»» priority integer false read-only The priority of the rule
»» listOrder integer false read-only The list order number used when displaying the rule list
»» segments [rrRuleSegment] true none The segments that the rule applies to
»»» Reward and Recognition Rule Segment rrRuleSegment false none none
»»»» id integer true none The ID of the segment
»»»» name string false read-only The name of the segment
»» period rrRulePeriod true none none
»»» periodType integer false read-only The code of the period type
»»» typeName string true none The name of the period type
»»» day integer true none The day number that relates to this period type
»»» month integer true none The month number that relates to this period type
»»» year integer false none The year number that relates to this period type
»» rrSchemes [rrRuleRrScheme] false none The R&R Scheme that the rule applies to
»»» Reward and Recognition Rule Scheme rrRuleRrScheme false none none
»»»» id integer true none The ID of the R&R Scheme
»» subjects [rrRuleSubject] false none The subjects which are any related records like a Boost configuration record, the type of subject is defined by the ruleType attribute
»»» Reward and Recognition Rule Subject rrRuleSubject false none none
»»»» id string true none The UUID of the subject programme

Enumerated Values

Property Value
typeName annual
typeName quarterly
typeName monthly

Get a list of rules for a boost configuration record

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/rules/boost/{boostConfigurationId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/rules/boost/{boostConfigurationId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/rules/boost/{boostConfigurationId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rules/boost/{boostConfigurationId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/rules/boost/{boostConfigurationId}

This endpoint will return a list of rules for a Boost configuration record

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
boostConfigurationId path string true The Boost Configuration ID which is a UUID in string form

Example responses

200 Response

[
  {
    "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "ruleType": 2,
    "name": "Managers monthly budget",
    "schemeId": 145,
    "active": true,
    "softLimit": 2.5,
    "hardLimit": 10.5,
    "softLimitMessage": "You have reached the soft limit",
    "hardLimitMessage": "You have reached the hard limit",
    "priority": 1,
    "listOrder": 1,
    "segments": [
      {
        "id": 13,
        "name": "All Managers"
      }
    ],
    "period": {
      "periodType": 2,
      "typeName": "annual",
      "day": 25,
      "month": 11,
      "year": 2023
    },
    "rrSchemes": [
      {
        "id": 13
      }
    ],
    "subjects": [
      {
        "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
404 Not Found Boost Configuration record not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [rrRule] false none none
» Reward and Recognition Rule rrRule false none none
»» id string¦null true read-only The UUID of the rule
»» ruleType integer true none The rule type code
»» name string true none A name given to the rule
»» schemeId integer true none The ID of the scheme
»» active boolean false read-only If the rule is active or not
»» softLimit number(float) false none The soft limit associated with this rule
»» hardLimit number(float) false none The hard limit associated with this rule
»» softLimitMessage string false none A message used when the soft limit is reached
»» hardLimitMessage string false none A message used when the hard limit is reached
»» priority integer false read-only The priority of the rule
»» listOrder integer false read-only The list order number used when displaying the rule list
»» segments [rrRuleSegment] true none The segments that the rule applies to
»»» Reward and Recognition Rule Segment rrRuleSegment false none none
»»»» id integer true none The ID of the segment
»»»» name string false read-only The name of the segment
»» period rrRulePeriod true none none
»»» periodType integer false read-only The code of the period type
»»» typeName string true none The name of the period type
»»» day integer true none The day number that relates to this period type
»»» month integer true none The month number that relates to this period type
»»» year integer false none The year number that relates to this period type
»» rrSchemes [rrRuleRrScheme] false none The R&R Scheme that the rule applies to
»»» Reward and Recognition Rule Scheme rrRuleRrScheme false none none
»»»» id integer true none The ID of the R&R Scheme
»» subjects [rrRuleSubject] false none The subjects which are any related records like a Boost configuration record, the type of subject is defined by the ruleType attribute
»»» Reward and Recognition Rule Subject rrRuleSubject false none none
»»»» id string true none The UUID of the subject programme

Enumerated Values

Property Value
typeName annual
typeName quarterly
typeName monthly

Get a list of rules for a Scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/rules/scheme/{schemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/rules/scheme/{schemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/rules/scheme/{schemeId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/rules/scheme/{schemeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/rules/scheme/{schemeId}

This endpoint will return a list of rules for a Scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeId path string true The Scheme ID

Example responses

200 Response

[
  {
    "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
    "ruleType": 2,
    "name": "Managers monthly budget",
    "schemeId": 145,
    "active": true,
    "softLimit": 2.5,
    "hardLimit": 10.5,
    "softLimitMessage": "You have reached the soft limit",
    "hardLimitMessage": "You have reached the hard limit",
    "priority": 1,
    "listOrder": 1,
    "segments": [
      {
        "id": 13,
        "name": "All Managers"
      }
    ],
    "period": {
      "periodType": 2,
      "typeName": "annual",
      "day": 25,
      "month": 11,
      "year": 2023
    },
    "rrSchemes": [
      {
        "id": 13
      }
    ],
    "subjects": [
      {
        "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
404 Not Found Scheme not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [rrRule] false none none
» Reward and Recognition Rule rrRule false none none
»» id string¦null true read-only The UUID of the rule
»» ruleType integer true none The rule type code
»» name string true none A name given to the rule
»» schemeId integer true none The ID of the scheme
»» active boolean false read-only If the rule is active or not
»» softLimit number(float) false none The soft limit associated with this rule
»» hardLimit number(float) false none The hard limit associated with this rule
»» softLimitMessage string false none A message used when the soft limit is reached
»» hardLimitMessage string false none A message used when the hard limit is reached
»» priority integer false read-only The priority of the rule
»» listOrder integer false read-only The list order number used when displaying the rule list
»» segments [rrRuleSegment] true none The segments that the rule applies to
»»» Reward and Recognition Rule Segment rrRuleSegment false none none
»»»» id integer true none The ID of the segment
»»»» name string false read-only The name of the segment
»» period rrRulePeriod true none none
»»» periodType integer false read-only The code of the period type
»»» typeName string true none The name of the period type
»»» day integer true none The day number that relates to this period type
»»» month integer true none The month number that relates to this period type
»»» year integer false none The year number that relates to this period type
»» rrSchemes [rrRuleRrScheme] false none The R&R Scheme that the rule applies to
»»» Reward and Recognition Rule Scheme rrRuleRrScheme false none none
»»»» id integer true none The ID of the R&R Scheme
»» subjects [rrRuleSubject] false none The subjects which are any related records like a Boost configuration record, the type of subject is defined by the ruleType attribute
»»» Reward and Recognition Rule Subject rrRuleSubject false none none
»»»» id string true none The UUID of the subject programme

Enumerated Values

Property Value
typeName annual
typeName quarterly
typeName monthly

returns Scheme RR Configuration

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/configuration', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/configuration HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/configuration \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/configuration',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/configuration

Scheme RR Configuration

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "pointsShortName": "£",
  "pointsFullName": "GBP"
}

Responses

Status Meaning Description Schema
200 OK Successful operation rrConfiguration
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Get categories for scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/categories?type=amazon&departmentId=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/categories?type=amazon&departmentId=123 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/categories?type=amazon&departmentId=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/categories

This endpoint returns a list of R&R redemption categories for the selected physical store

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
departmentId query string true The id of the department that we want to show the categories for

Example responses

200 Response

[
  {
    "searchIndex": "HomeAndKitchen",
    "name": "Home & Kitchen",
    "logo": "https://static.cdn.rewardgateway.net/BrandAssets/responsive/img/rr-redemption-assets/category-icon-homekitchen.svg",
    "activeInDepartment": true,
    "activeInSearch": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [physicalCategory] false none none
» Physical Category physicalCategory false none none
»» searchIndex string true none The searchIndex name given to the category
»» name string true none The name of the category
»» logo string true none An image logo for the category
»» activeInDepartment boolean false none ActiveInDepartment
»» activeInSearch boolean false none ActiveInSearch

Creates a new rrredemptioncategories category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/categories HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/categories \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "id": 0,
  "name": "string",
  "logo": "string",
  "description": "string",
  "configurationId": 0,
  "categoryType": "string",
  "deleted": true,
  "enabled": true,
  "hasCustomImage": true,
  "defaultLogo": "string",
  "productIds": [
    12
  ],
  "displayName": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/categories

This endpoint creates a nmew rrredemptioncategory

Body parameter

{
  "id": 0,
  "name": "string",
  "logo": "string",
  "description": "string",
  "configurationId": 0,
  "categoryType": "string",
  "deleted": true,
  "enabled": true,
  "hasCustomImage": true,
  "defaultLogo": "string",
  "productIds": [
    12
  ],
  "displayName": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body redemptionCategory false none

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "description": "string",
    "configurationId": 0,
    "categoryType": "string",
    "deleted": true,
    "enabled": true,
    "hasCustomImage": true,
    "defaultLogo": "string",
    "productIds": [
      12
    ],
    "displayName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionCategory] false none none
» Redemption Category redemptionCategory false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» description string true none Description
»» configurationId integer¦null true none ConfigurationId
»» categoryType string true none CategoryType
»» deleted boolean true none Deleted
»» enabled boolean true none Enabled
»» hasCustomImage boolean false none HasCustomImage
»» defaultLogo string¦null false none DefaultLogo
»» productIds [integer]¦null false none ProductIds
»» displayName string¦null false none DisplayName

Return one rrredemptioncategory by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/categories/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/categories/{categoryId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/categories/{categoryId}

This endpoint returns one rrredemptioncategory by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path string true The id of the category, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "description": "string",
    "configurationId": 0,
    "categoryType": "string",
    "deleted": true,
    "enabled": true,
    "hasCustomImage": true,
    "defaultLogo": "string",
    "productIds": [
      12
    ],
    "displayName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionCategory] false none none
» Redemption Category redemptionCategory false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» description string true none Description
»» configurationId integer¦null true none ConfigurationId
»» categoryType string true none CategoryType
»» deleted boolean true none Deleted
»» enabled boolean true none Enabled
»» hasCustomImage boolean false none HasCustomImage
»» defaultLogo string¦null false none DefaultLogo
»» productIds [integer]¦null false none ProductIds
»» displayName string¦null false none DisplayName

Updates rrredemptioncategory

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/recognition/redemption/categories/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/recognition/redemption/categories/{categoryId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "id": 0,
  "name": "string",
  "logo": "string",
  "description": "string",
  "configurationId": 0,
  "categoryType": "string",
  "deleted": true,
  "enabled": true,
  "hasCustomImage": true,
  "defaultLogo": "string",
  "productIds": [
    12
  ],
  "displayName": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /recognition/redemption/categories/{categoryId}

This endpoint updates one rrredemptioncategory by id

Body parameter

{
  "id": 0,
  "name": "string",
  "logo": "string",
  "description": "string",
  "configurationId": 0,
  "categoryType": "string",
  "deleted": true,
  "enabled": true,
  "hasCustomImage": true,
  "defaultLogo": "string",
  "productIds": [
    12
  ],
  "displayName": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path string true The id of the category to update, e.g. 1
body body redemptionCategory true none

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "description": "string",
    "configurationId": 0,
    "categoryType": "string",
    "deleted": true,
    "enabled": true,
    "hasCustomImage": true,
    "defaultLogo": "string",
    "productIds": [
      12
    ],
    "displayName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionCategory] false none none
» Redemption Category redemptionCategory false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» description string true none Description
»» configurationId integer¦null true none ConfigurationId
»» categoryType string true none CategoryType
»» deleted boolean true none Deleted
»» enabled boolean true none Enabled
»» hasCustomImage boolean false none HasCustomImage
»» defaultLogo string¦null false none DefaultLogo
»» productIds [integer]¦null false none ProductIds
»» displayName string¦null false none DisplayName

Deletes rrredemptioncategory by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/categories/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/categories/{categoryId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/categories/{categoryId}

This endpoint deletes one rrredemptioncategory by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path string true The id of the category to delete, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "description": "string",
    "configurationId": 0,
    "categoryType": "string",
    "deleted": true,
    "enabled": true,
    "hasCustomImage": true,
    "defaultLogo": "string",
    "productIds": [
      12
    ],
    "displayName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionCategory] false none none
» Redemption Category redemptionCategory false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» description string true none Description
»» configurationId integer¦null true none ConfigurationId
»» categoryType string true none CategoryType
»» deleted boolean true none Deleted
»» enabled boolean true none Enabled
»» hasCustomImage boolean false none HasCustomImage
»» defaultLogo string¦null false none DefaultLogo
»» productIds [integer]¦null false none ProductIds
»» displayName string¦null false none DisplayName

Enables rrredemptioncategory by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/enable', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/enable HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/enable \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/enable',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/categories/{categoryId}/enable

This endpoint enables one rrredemptioncategory by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path string true The id of the category to enable, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "description": "string",
    "configurationId": 0,
    "categoryType": "string",
    "deleted": true,
    "enabled": true,
    "hasCustomImage": true,
    "defaultLogo": "string",
    "productIds": [
      12
    ],
    "displayName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionCategory] false none none
» Redemption Category redemptionCategory false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» description string true none Description
»» configurationId integer¦null true none ConfigurationId
»» categoryType string true none CategoryType
»» deleted boolean true none Deleted
»» enabled boolean true none Enabled
»» hasCustomImage boolean false none HasCustomImage
»» defaultLogo string¦null false none DefaultLogo
»» productIds [integer]¦null false none ProductIds
»» displayName string¦null false none DisplayName

Disables rrredemptioncategory by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/disable', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/disable HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/disable \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/disable',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/categories/{categoryId}/disable

This endpoint disables one rrredemptioncategory by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path string true The id of the category to disable, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "description": "string",
    "configurationId": 0,
    "categoryType": "string",
    "deleted": true,
    "enabled": true,
    "hasCustomImage": true,
    "defaultLogo": "string",
    "productIds": [
      12
    ],
    "displayName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionCategory] false none none
» Redemption Category redemptionCategory false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» description string true none Description
»» configurationId integer¦null true none ConfigurationId
»» categoryType string true none CategoryType
»» deleted boolean true none Deleted
»» enabled boolean true none Enabled
»» hasCustomImage boolean false none HasCustomImage
»» defaultLogo string¦null false none DefaultLogo
»» productIds [integer]¦null false none ProductIds
»» displayName string¦null false none DisplayName

Retrieves the custom image override for a redemption category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/categories/{categoryId}/customimage

This endpoint retrieves the custom image for a redemption category

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path integer true The id of the category for which a custom image is being retrieved

Example responses

200 Response

{
  "id": 1,
  "categoryId": 3,
  "configurationId": 1,
  "logo": "https://ugc.rewardgateway.dev/img/RewardRecognition/Redemption/Categories/3-1.png",
  "originalImageName": "boom.png"
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionCategoryCustomImage
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category custom image was not found errorModel

Creates a custom image override for the redemption category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "imageName": "string",
  "imageExtension": "string",
  "originalImageName": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/categories/{categoryId}/customimage

This endpoint override the redemption category image

Body parameter

{
  "imageName": "string",
  "imageExtension": "string",
  "originalImageName": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path integer true The id of the category for which a custom image is being provided
body body object false none
» imageName body string true none
» imageExtension body string true none
» originalImageName body string false none

Example responses

200 Response

{
  "id": 1,
  "categoryId": 3,
  "configurationId": 1,
  "logo": "https://ugc.rewardgateway.dev/img/RewardRecognition/Redemption/Categories/3-1.png",
  "originalImageName": "boom.png"
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionCategoryCustomImage
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Deletes a custom image override for the redemption category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/categories/{categoryId}/customimage

This endpoint deletes a custom image override for the redemption category

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path integer true The id of the category for which a custom image is being deleted

Example responses

200 Response

{
  "id": 1,
  "categoryId": 3,
  "configurationId": 1,
  "logo": "https://ugc.rewardgateway.dev/img/RewardRecognition/Redemption/Categories/3-1.png",
  "originalImageName": "boom.png"
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionCategoryCustomImage
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category custom image was not found errorModel

Updates the custom image override for a redemption category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "imageName": "string",
  "imageExtension": "string",
  "originalImageName": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/categories/{categoryId}/customimage',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/categories/{categoryId}/customimage

This endpoint updates the custom image override for a redemption category

Body parameter

{
  "imageName": "string",
  "imageExtension": "string",
  "originalImageName": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categoryId path integer true The id of the category for which a custom image is being provided
body body object false none
» imageName body string true none
» imageExtension body string true none
» originalImageName body string false none

Example responses

200 Response

{
  "id": 1,
  "categoryId": 3,
  "configurationId": 1,
  "logo": "https://ugc.rewardgateway.dev/img/RewardRecognition/Redemption/Categories/3-1.png",
  "originalImageName": "boom.png"
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionCategoryCustomImage
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The category custom image was not found errorModel

Checkout and Disburse a client's funds to a thirdparty e.g. amazon

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/physical/checkout', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/physical/checkout HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/physical/checkout \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "type": "string",
  "basketId": "string",
  "externalCustomerId": "string",
  "externalCustomerEmail": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/checkout',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/physical/checkout

This endpoint will checkout the basket and disburse funds from a clients balance to the selected physical store of a thirdparty e.g. amazon

Body parameter

type: string
basketId: string
externalCustomerId: string
externalCustomerEmail: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» type body string true Physical store type e.g. amazon
» basketId body string true Basket identifier
» externalCustomerId body string true Unique customer account identifier for the external store
» externalCustomerEmail body string true The email address that the member is registered with on Amazon

Example responses

200 Response

[
  {
    "orderReference": "101-01"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found When basket or compartment is not found errorModel
422 Unprocessable Entity When product pricing or availability has changed, and needs to be communicated back to the user errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [checkoutSuccess] false none [Class CheckoutSuccess]
» orderReference string true none The order reference

Get custom rewards

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/custom', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/custom HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/custom \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/custom

This endpoint returns a list of custom rewards

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "id": 0,
    "title": "string",
    "description": "string",
    "localeId": 0,
    "image": "string",
    "currency": "string",
    "price": 1.99,
    "qty": 0,
    "rrConfigurationId": 0,
    "createdOn": "string",
    "createdBy": "string",
    "deleted": true,
    "enabled": true,
    "parentId": 0,
    "instructions": "string",
    "termsAndConditions": "string",
    "rrRedemptionCategoryId": 0,
    "purchasable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [customReward] false none none
» Redemption Custom Reward customReward false none none
»» id integer true none Id
»» title string true none Type
»» description string true none Description
»» localeId integer true none LocaleId
»» image string true none Image
»» currency string false none currency
»» price number(float) true none The price of the product
»» qty integer¦null true none Qty
»» rrConfigurationId integer true none rrConfigurationId
»» createdOn string false none createdOn
»» createdBy string false none createdBy
»» deleted boolean false none Deleted
»» enabled boolean false none Enabled
»» parentId integer¦null false none parentId
»» instructions string false none instructions
»» termsAndConditions string false none terms and conditions
»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»» purchasable boolean¦null false none Purchasable

Creates a new custom reward

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/redemption/custom', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/redemption/custom HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/redemption/custom \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "id": 0,
  "title": "string",
  "description": "string",
  "localeId": 0,
  "image": "string",
  "currency": "string",
  "price": 1.99,
  "qty": 0,
  "rrConfigurationId": 0,
  "createdOn": "string",
  "createdBy": "string",
  "deleted": true,
  "enabled": true,
  "parentId": 0,
  "instructions": "string",
  "termsAndConditions": "string",
  "rrRedemptionCategoryId": 0,
  "purchasable": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/redemption/custom

This endpoint creates a new custom reward

Body parameter

{
  "id": 0,
  "title": "string",
  "description": "string",
  "localeId": 0,
  "image": "string",
  "currency": "string",
  "price": 1.99,
  "qty": 0,
  "rrConfigurationId": 0,
  "createdOn": "string",
  "createdBy": "string",
  "deleted": true,
  "enabled": true,
  "parentId": 0,
  "instructions": "string",
  "termsAndConditions": "string",
  "rrRedemptionCategoryId": 0,
  "purchasable": true
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body customReward false none

Example responses

200 Response

[
  {
    "id": 0,
    "title": "string",
    "description": "string",
    "localeId": 0,
    "image": "string",
    "currency": "string",
    "price": 1.99,
    "qty": 0,
    "rrConfigurationId": 0,
    "createdOn": "string",
    "createdBy": "string",
    "deleted": true,
    "enabled": true,
    "parentId": 0,
    "instructions": "string",
    "termsAndConditions": "string",
    "rrRedemptionCategoryId": 0,
    "purchasable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [customReward] false none none
» Redemption Custom Reward customReward false none none
»» id integer true none Id
»» title string true none Type
»» description string true none Description
»» localeId integer true none LocaleId
»» image string true none Image
»» currency string false none currency
»» price number(float) true none The price of the product
»» qty integer¦null true none Qty
»» rrConfigurationId integer true none rrConfigurationId
»» createdOn string false none createdOn
»» createdBy string false none createdBy
»» deleted boolean false none Deleted
»» enabled boolean false none Enabled
»» parentId integer¦null false none parentId
»» instructions string false none instructions
»» termsAndConditions string false none terms and conditions
»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»» purchasable boolean¦null false none Purchasable

Return one custom reward by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/custom/{customRewardId}

This endpoint returns one custom reward by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
customRewardId path string true The id of the custom reward, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "title": "string",
    "description": "string",
    "localeId": 0,
    "image": "string",
    "currency": "string",
    "price": 1.99,
    "qty": 0,
    "rrConfigurationId": 0,
    "createdOn": "string",
    "createdBy": "string",
    "deleted": true,
    "enabled": true,
    "parentId": 0,
    "instructions": "string",
    "termsAndConditions": "string",
    "rrRedemptionCategoryId": 0,
    "purchasable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The custom reward was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [customReward] false none none
» Redemption Custom Reward customReward false none none
»» id integer true none Id
»» title string true none Type
»» description string true none Description
»» localeId integer true none LocaleId
»» image string true none Image
»» currency string false none currency
»» price number(float) true none The price of the product
»» qty integer¦null true none Qty
»» rrConfigurationId integer true none rrConfigurationId
»» createdOn string false none createdOn
»» createdBy string false none createdBy
»» deleted boolean false none Deleted
»» enabled boolean false none Enabled
»» parentId integer¦null false none parentId
»» instructions string false none instructions
»» termsAndConditions string false none terms and conditions
»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»» purchasable boolean¦null false none Purchasable

Updates custom reward

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "id": 0,
  "title": "string",
  "description": "string",
  "localeId": 0,
  "image": "string",
  "currency": "string",
  "price": 1.99,
  "qty": 0,
  "rrConfigurationId": 0,
  "createdOn": "string",
  "createdBy": "string",
  "deleted": true,
  "enabled": true,
  "parentId": 0,
  "instructions": "string",
  "termsAndConditions": "string",
  "rrRedemptionCategoryId": 0,
  "purchasable": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /recognition/redemption/custom/{customRewardId}

This endpoint updates one custom reward by id

Body parameter

{
  "id": 0,
  "title": "string",
  "description": "string",
  "localeId": 0,
  "image": "string",
  "currency": "string",
  "price": 1.99,
  "qty": 0,
  "rrConfigurationId": 0,
  "createdOn": "string",
  "createdBy": "string",
  "deleted": true,
  "enabled": true,
  "parentId": 0,
  "instructions": "string",
  "termsAndConditions": "string",
  "rrRedemptionCategoryId": 0,
  "purchasable": true
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
customRewardId path string true The id of the custom reward to update, e.g. 1
body body customReward false none

Example responses

200 Response

[
  {
    "id": 0,
    "title": "string",
    "description": "string",
    "localeId": 0,
    "image": "string",
    "currency": "string",
    "price": 1.99,
    "qty": 0,
    "rrConfigurationId": 0,
    "createdOn": "string",
    "createdBy": "string",
    "deleted": true,
    "enabled": true,
    "parentId": 0,
    "instructions": "string",
    "termsAndConditions": "string",
    "rrRedemptionCategoryId": 0,
    "purchasable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The custom reward was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [customReward] false none none
» Redemption Custom Reward customReward false none none
»» id integer true none Id
»» title string true none Type
»» description string true none Description
»» localeId integer true none LocaleId
»» image string true none Image
»» currency string false none currency
»» price number(float) true none The price of the product
»» qty integer¦null true none Qty
»» rrConfigurationId integer true none rrConfigurationId
»» createdOn string false none createdOn
»» createdBy string false none createdBy
»» deleted boolean false none Deleted
»» enabled boolean false none Enabled
»» parentId integer¦null false none parentId
»» instructions string false none instructions
»» termsAndConditions string false none terms and conditions
»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»» purchasable boolean¦null false none Purchasable

Deletes a custom reward by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /recognition/redemption/custom/{customRewardId}

This endpoint deletes one custom reward by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
customRewardId path string true The id of the custom reward to delete, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "title": "string",
    "description": "string",
    "localeId": 0,
    "image": "string",
    "currency": "string",
    "price": 1.99,
    "qty": 0,
    "rrConfigurationId": 0,
    "createdOn": "string",
    "createdBy": "string",
    "deleted": true,
    "enabled": true,
    "parentId": 0,
    "instructions": "string",
    "termsAndConditions": "string",
    "rrRedemptionCategoryId": 0,
    "purchasable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The custom reward was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [customReward] false none none
» Redemption Custom Reward customReward false none none
»» id integer true none Id
»» title string true none Type
»» description string true none Description
»» localeId integer true none LocaleId
»» image string true none Image
»» currency string false none currency
»» price number(float) true none The price of the product
»» qty integer¦null true none Qty
»» rrConfigurationId integer true none rrConfigurationId
»» createdOn string false none createdOn
»» createdBy string false none createdBy
»» deleted boolean false none Deleted
»» enabled boolean false none Enabled
»» parentId integer¦null false none parentId
»» instructions string false none instructions
»» termsAndConditions string false none terms and conditions
»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»» purchasable boolean¦null false none Purchasable

Enables custom reward by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/enable', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/enable HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/enable \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/enable',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/custom/{customRewardId}/enable

This endpoint enables one custom reward by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
customRewardId path string true The id of the custom reward to enable, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "title": "string",
    "description": "string",
    "localeId": 0,
    "image": "string",
    "currency": "string",
    "price": 1.99,
    "qty": 0,
    "rrConfigurationId": 0,
    "createdOn": "string",
    "createdBy": "string",
    "deleted": true,
    "enabled": true,
    "parentId": 0,
    "instructions": "string",
    "termsAndConditions": "string",
    "rrRedemptionCategoryId": 0,
    "purchasable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The custom reward was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [customReward] false none none
» Redemption Custom Reward customReward false none none
»» id integer true none Id
»» title string true none Type
»» description string true none Description
»» localeId integer true none LocaleId
»» image string true none Image
»» currency string false none currency
»» price number(float) true none The price of the product
»» qty integer¦null true none Qty
»» rrConfigurationId integer true none rrConfigurationId
»» createdOn string false none createdOn
»» createdBy string false none createdBy
»» deleted boolean false none Deleted
»» enabled boolean false none Enabled
»» parentId integer¦null false none parentId
»» instructions string false none instructions
»» termsAndConditions string false none terms and conditions
»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»» purchasable boolean¦null false none Purchasable

Disables custom reward by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/disable', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/disable HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/disable \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/custom/{customRewardId}/disable',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /recognition/redemption/custom/{customRewardId}/disable

This endpoint disables one custom reward by id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
customRewardId path string true The id of the custom reward to disable, e.g. 1

Example responses

200 Response

[
  {
    "id": 0,
    "title": "string",
    "description": "string",
    "localeId": 0,
    "image": "string",
    "currency": "string",
    "price": 1.99,
    "qty": 0,
    "rrConfigurationId": 0,
    "createdOn": "string",
    "createdBy": "string",
    "deleted": true,
    "enabled": true,
    "parentId": 0,
    "instructions": "string",
    "termsAndConditions": "string",
    "rrRedemptionCategoryId": 0,
    "purchasable": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The custom reward was not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [customReward] false none none
» Redemption Custom Reward customReward false none none
»» id integer true none Id
»» title string true none Type
»» description string true none Description
»» localeId integer true none LocaleId
»» image string true none Image
»» currency string false none currency
»» price number(float) true none The price of the product
»» qty integer¦null true none Qty
»» rrConfigurationId integer true none rrConfigurationId
»» createdOn string false none createdOn
»» createdBy string false none createdBy
»» deleted boolean false none Deleted
»» enabled boolean false none Enabled
»» parentId integer¦null false none parentId
»» instructions string false none instructions
»» termsAndConditions string false none terms and conditions
»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»» purchasable boolean¦null false none Purchasable

Get data for the reward marketplace home

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/marketplace', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/marketplace HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/marketplace \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/marketplace',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/marketplace

This endpoint returns categories and products to show on the Reward marketplace home

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "products": {
      "items": [
        {
          "id": 0,
          "name": "string",
          "logo": "string",
          "typeName": "string",
          "type": "string",
          "stockCode": "string",
          "price": null,
          "getUsableOnline": true,
          "getUsableInstore": true,
          "description": "string",
          "termsAndConditions": "string",
          "minimumOrder": "string",
          "maximumOrder": "string",
          "denominations": [
            0
          ],
          "stockStatus": "string",
          "statusMesssage": "string",
          "productImage": "string",
          "useQuantity": true,
          "isFlex": true,
          "cardOptions": [
            {
              "id": 5,
              "name": "Test ASDA Card #1 (6137350000000002)",
              "enabled": true
            }
          ],
          "startDate": "string",
          "endDate": "string",
          "retailerId": 0,
          "retailerName": "string",
          "ctaText": "string",
          "ctaUrl": "string"
        }
      ],
      "pagination": {
        "offset": 0,
        "limit": 10,
        "count": 157,
        "additionalItems": true
      }
    },
    "featuredProducts": [
      {
        "id": 0,
        "name": "string",
        "logo": "string",
        "typeName": "string",
        "type": "string",
        "stockCode": "string",
        "price": null,
        "getUsableOnline": true,
        "getUsableInstore": true,
        "description": "string",
        "termsAndConditions": "string",
        "minimumOrder": "string",
        "maximumOrder": "string",
        "denominations": [
          0
        ],
        "stockStatus": "string",
        "statusMesssage": "string",
        "productImage": "string",
        "useQuantity": true,
        "isFlex": true,
        "cardOptions": [
          {
            "id": 5,
            "name": "Test ASDA Card #1 (6137350000000002)",
            "enabled": true
          }
        ],
        "startDate": "string",
        "endDate": "string",
        "retailerId": 0,
        "retailerName": "string",
        "ctaText": "string",
        "ctaUrl": "string"
      }
    ],
    "featuredCharityProducts": [
      {
        "id": 0,
        "name": "string",
        "logo": "string",
        "typeName": "string",
        "type": "string",
        "stockCode": "string",
        "price": null,
        "getUsableOnline": true,
        "getUsableInstore": true,
        "description": "string",
        "termsAndConditions": "string",
        "minimumOrder": "string",
        "maximumOrder": "string",
        "denominations": [
          0
        ],
        "stockStatus": "string",
        "statusMesssage": "string",
        "productImage": "string",
        "useQuantity": true,
        "isFlex": true,
        "cardOptions": [
          {
            "id": 5,
            "name": "Test ASDA Card #1 (6137350000000002)",
            "enabled": true
          }
        ],
        "startDate": "string",
        "endDate": "string",
        "retailerId": 0,
        "retailerName": "string",
        "ctaText": "string",
        "ctaUrl": "string"
      }
    ],
    "categories": [
      {
        "id": 0,
        "name": "string",
        "logo": "string",
        "description": "string",
        "configurationId": 0,
        "categoryType": "string",
        "deleted": true,
        "enabled": true,
        "hasCustomImage": true,
        "defaultLogo": "string",
        "productIds": [
          12
        ],
        "displayName": "string"
      }
    ],
    "customRewards": [
      {
        "id": 0,
        "title": "string",
        "description": "string",
        "localeId": 0,
        "image": "string",
        "currency": "string",
        "price": 1.99,
        "qty": 0,
        "rrConfigurationId": 0,
        "createdOn": "string",
        "createdBy": "string",
        "deleted": true,
        "enabled": true,
        "parentId": 0,
        "instructions": "string",
        "termsAndConditions": "string",
        "rrRedemptionCategoryId": 0,
        "purchasable": true
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionRewardMarketplace] false none none
» Redemption Reward Marketplace redemptionRewardMarketplace false none none
»» products redemptionPaginatedProducts true none none
»»» items [redemptionProduct] true none Items
»»»» Redemption Product redemptionProduct false none none
»»»»» id integer true none Id
»»»»» name string true none Name
»»»»» logo string true none Logo
»»»»» typeName string false none Type Name
»»»»» type string false none Type
»»»»» stockCode string false none Stock Code
»»»»» price any false none Price
»»»»» getUsableOnline boolean false none Get usable online
»»»»» getUsableInstore boolean false none Get usable in store
»»»»» description string true none Description
»»»»» termsAndConditions string false none TermsAndConditions
»»»»» minimumOrder string false none Product minimum order amount
»»»»» maximumOrder string false none Product maximum order amount
»»»»» denominations [number] false none Product denominations
»»»»» stockStatus string false none StockStatus
»»»»» statusMesssage string false none StatusMessage
»»»»» productImage string false none Product Image
»»»»» useQuantity boolean false none Use Quantity
»»»»» isFlex boolean false none Is Flexible voucher
»»»»» cardOptions [redemptionCardOption] false none CardOptions
»»»»»» Redemption Card Option redemptionCardOption false none none
»»»»»»» id integer true none The card id
»»»»»»» name string true none The alias name given to the reloadable card and card number
»»»»»»» enabled boolean true none Enabled
»»»»» startDate string¦null false none StartDate
»»»»» endDate string¦null false none EndDate
»»»»» retailerId integer¦null false none RetailerId
»»»»» retailerName string¦null false none RetailerName
»»»»» ctaText string¦null false none CTA text
»»»»» ctaUrl string¦null false none CTA URL
»»» pagination redemptionPagination true none none
»»»» offset integer true none The amount to offset the results by
»»»» limit integer true none The amount to limit the results by
»»»» count integer true none The total number of results that exist and which can be paginated
»»»» additionalItems boolean true none A flag that can be used to determine whether there are additional items for pagination
»» featuredProducts [redemptionProduct] true none FeaturedProducts
»»» Redemption Product redemptionProduct false none none
»» featuredCharityProducts [redemptionProduct] true none FeaturedCharityProducts
»»» Redemption Product redemptionProduct false none none
»» categories [redemptionCategory] true none Categories
»»» Redemption Category redemptionCategory false none none
»»»» id integer true none Id
»»»» name string true none Name
»»»» logo string true none Logo
»»»» description string true none Description
»»»» configurationId integer¦null true none ConfigurationId
»»»» categoryType string true none CategoryType
»»»» deleted boolean true none Deleted
»»»» enabled boolean true none Enabled
»»»» hasCustomImage boolean false none HasCustomImage
»»»» defaultLogo string¦null false none DefaultLogo
»»»» productIds [integer]¦null false none ProductIds
»»»» displayName string¦null false none DisplayName
»» customRewards [customReward] true none CustomRewards
»»» Redemption Custom Reward customReward false none none
»»»» id integer true none Id
»»»» title string true none Type
»»»» description string true none Description
»»»» localeId integer true none LocaleId
»»»» image string true none Image
»»»» currency string false none currency
»»»» price number(float) true none The price of the product
»»»» qty integer¦null true none Qty
»»»» rrConfigurationId integer true none rrConfigurationId
»»»» createdOn string false none createdOn
»»»» createdBy string false none createdBy
»»»» deleted boolean false none Deleted
»»»» enabled boolean false none Enabled
»»»» parentId integer¦null false none parentId
»»»» instructions string false none instructions
»»»» termsAndConditions string false none terms and conditions
»»»» rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
»»»» purchasable boolean¦null false none Purchasable

Get top rated items

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/categories/topRated', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/categories/topRated?type=amazon&category=fashion HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/categories/topRated?type=amazon&category=fashion \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/categories/topRated?type=amazon&category=fashion',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/categories/topRated

This endpoint returns top rated items

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
category query string true The the category to get the results for, e.g. fashion

Example responses

200 Response

{
  "name": "New Releases",
  "items": [
    {
      "productCode": "B07PFQNPKW",
      "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
      "reviewCount": 917,
      "reviewRating": 4.6,
      "images": [
        {
          "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
          "medium": "string",
          "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
        }
      ],
      "value": {
        "currency": "£20",
        "points": "200 Points"
      },
      "previousValue": {
        "currency": "£20",
        "points": "200 Points"
      },
      "savingPercentage": 32,
      "productSummary": [
        "Single SIM slot"
      ],
      "productDetails": [
        {
          "name": "Color",
          "value": "Black"
        }
      ],
      "availability": {
        "message": "In stock",
        "minOrderQuantity": 1,
        "maxOrderQuantity": 10
      },
      "variations": {
        "items": [
          {}
        ],
        "variationSummary": {
          "pageCount": 9,
          "variationsCount": 89,
          "variationDimensions": [
            {
              "displayName": "Colour ",
              "name": "color_name",
              "Values": [
                "Blue"
              ]
            }
          ]
        }
      },
      "deliveryInfo": [
        "string"
      ],
      "features": [
        "string"
      ],
      "variantInfo": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation physicalProductCollection
400 Bad Request Bad request errorModel
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied errorModel

Get new releases items

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/categories/newReleases', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/categories/newReleases?type=amazon&category=fashion HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/categories/newReleases?type=amazon&category=fashion \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/categories/newReleases?type=amazon&category=fashion',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/categories/newReleases

This endpoint returns new releases items

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
category query string true The the category to get the results for, e.g. fashion

Example responses

200 Response

{
  "name": "New Releases",
  "items": [
    {
      "productCode": "B07PFQNPKW",
      "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
      "reviewCount": 917,
      "reviewRating": 4.6,
      "images": [
        {
          "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
          "medium": "string",
          "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
        }
      ],
      "value": {
        "currency": "£20",
        "points": "200 Points"
      },
      "previousValue": {
        "currency": "£20",
        "points": "200 Points"
      },
      "savingPercentage": 32,
      "productSummary": [
        "Single SIM slot"
      ],
      "productDetails": [
        {
          "name": "Color",
          "value": "Black"
        }
      ],
      "availability": {
        "message": "In stock",
        "minOrderQuantity": 1,
        "maxOrderQuantity": 10
      },
      "variations": {
        "items": [
          {}
        ],
        "variationSummary": {
          "pageCount": 9,
          "variationsCount": 89,
          "variationDimensions": [
            {
              "displayName": "Colour ",
              "name": "color_name",
              "Values": [
                "Blue"
              ]
            }
          ]
        }
      },
      "deliveryInfo": [
        "string"
      ],
      "features": [
        "string"
      ],
      "variantInfo": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation physicalProductCollection
400 Bad Request Bad request errorModel
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied errorModel

Get best sellers items

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/categories/bestSellers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/categories/bestSellers?type=amazon&category=fashion HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/categories/bestSellers?type=amazon&category=fashion \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/categories/bestSellers?type=amazon&category=fashion',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/categories/bestSellers

This endpoint returns best sellers items

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
category query string true The the category to get the results for, e.g. fashion

Example responses

200 Response

{
  "name": "New Releases",
  "items": [
    {
      "productCode": "B07PFQNPKW",
      "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
      "reviewCount": 917,
      "reviewRating": 4.6,
      "images": [
        {
          "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
          "medium": "string",
          "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
        }
      ],
      "value": {
        "currency": "£20",
        "points": "200 Points"
      },
      "previousValue": {
        "currency": "£20",
        "points": "200 Points"
      },
      "savingPercentage": 32,
      "productSummary": [
        "Single SIM slot"
      ],
      "productDetails": [
        {
          "name": "Color",
          "value": "Black"
        }
      ],
      "availability": {
        "message": "In stock",
        "minOrderQuantity": 1,
        "maxOrderQuantity": 10
      },
      "variations": {
        "items": [
          {}
        ],
        "variationSummary": {
          "pageCount": 9,
          "variationsCount": 89,
          "variationDimensions": [
            {
              "displayName": "Colour ",
              "name": "color_name",
              "Values": [
                "Blue"
              ]
            }
          ]
        }
      },
      "deliveryInfo": [
        "string"
      ],
      "features": [
        "string"
      ],
      "variantInfo": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation physicalProductCollection
400 Bad Request Bad request errorModel
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied errorModel

Get departments for scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/departments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/departments?type=amazon HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/departments?type=amazon \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/departments?type=amazon',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/departments

This endpoint returns a list of R&R redemption departments for the selected physical store

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon

Example responses

200 Response

[
  {
    "id": 1,
    "name": "Films, TV, Music & Games",
    "logo": "https://static.rewardgateway.dev/BrandAssets/responsive/img/rr-redemption-assets/department-icon-films.svg",
    "categories": [
      {
        "searchIndex": "HomeAndKitchen",
        "name": "Home & Kitchen",
        "logo": "https://static.cdn.rewardgateway.net/BrandAssets/responsive/img/rr-redemption-assets/category-icon-homekitchen.svg",
        "activeInDepartment": true,
        "activeInSearch": true
      }
    ],
    "tag": "men"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [physicalDepartment] false none none
» Physical Department physicalDepartment false none none
»» id integer true none An id reference given to a department
»» name string true none The name of the departmnent
»» logo string true none An image logo for the department
»» categories [physicalCategory] false none Categories
»»» Physical Category physicalCategory false none none
»»»» searchIndex string true none The searchIndex name given to the category
»»»» name string true none The name of the category
»»»» logo string true none An image logo for the category
»»»» activeInDepartment boolean false none ActiveInDepartment
»»»» activeInSearch boolean false none ActiveInSearch
»» tag string false none A tag given to the department

Get product by product code

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/product', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/product?type=amazon&productCode=B07WTVQ171 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/product?type=amazon&productCode=B07WTVQ171 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/product?type=amazon&productCode=B07WTVQ171',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/product

This endpoint returns a R&R redemption product for the given product code and selected physical store

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
productCode query string true The code of the product to retrieve data for
useCache query string false Force product retrieval from our internal/cached product data. '1' to get from cache, '0' (default) to potentially retrieve from supplier api
localeId query integer false The locale for which to retrieve product data for

Example responses

200 Response

[
  {
    "productCode": "B07PFQNPKW",
    "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
    "reviewCount": 917,
    "reviewRating": 4.6,
    "images": [
      {
        "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
        "medium": "string",
        "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
      }
    ],
    "value": {
      "currency": "£20",
      "points": "200 Points"
    },
    "previousValue": {
      "currency": "£20",
      "points": "200 Points"
    },
    "savingPercentage": 32,
    "productSummary": [
      "Single SIM slot"
    ],
    "productDetails": [
      {
        "name": "Color",
        "value": "Black"
      }
    ],
    "availability": {
      "message": "In stock",
      "minOrderQuantity": 1,
      "maxOrderQuantity": 10
    },
    "variations": {
      "items": [
        {}
      ],
      "variationSummary": {
        "pageCount": 9,
        "variationsCount": 89,
        "variationDimensions": [
          {
            "displayName": "Colour ",
            "name": "color_name",
            "Values": [
              "Blue"
            ]
          }
        ]
      }
    },
    "deliveryInfo": [
      "string"
    ],
    "features": [
      "string"
    ],
    "variantInfo": [
      "string"
    ],
    "tags": [
      "string"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Could not retrieve product errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [physicalProduct] false none none
» Physical Product physicalProduct false none none
»» productCode string true none A reference to the product
»» productName string true none The name/title given to a product
»» reviewCount integer false none The number of reviews that there are on a product
»» reviewRating number(float) false none The review rating of a product
»» images [physicalImages] true none Images
»»» Physical Product Images physicalImages false none none
»»»» small string true none The url path to a small dimension of the image
»»»» medium string¦null true none The url path to a medium dimension of the image
»»»» large string true none The url path to a large dimension of the image
»» value physicalProductValue true none none
»»» currency string true none The value of the product in currency format
»»» points string true none The value of the product in points
»» previousValue physicalProductValue false none none
»» savingPercentage integer false none The percentage of saving that the product has been reduced in value by
»» productSummary [string] false none The product summary
»» productDetails [physicalProductAttributes] false none ProductDetails
»»» Physical Product Attributes physicalProductAttributes false none none
»»»» name string true none The value given to the attribute
»»»» value string true none The value given to the attribute
»» availability physicalProductAvailability false none none
»»» message string true none The availability message of the product
»»» minOrderQuantity integer true none The minimum quantity of this product that can be purchased
»»» maxOrderQuantity integer true none The maximum quantity of this product that can be purchased
»» variations physicalProductVariations false none none
»»» items [physicalProduct] false none Items
»»»» Physical Product physicalProduct false none none
»»» variationSummary physicalProductVariationsSummary false none none
»»»» pageCount integer false none The number of pages of variations
»»»» variationsCount integer false none The number of total variations
»»»» variationDimensions [physicalVariationDimension] false none VariationDimensions
»»»»» Physical Variation Dimension physicalVariationDimension false none none
»»»»»» displayName string false none The display name
»»»»»» name string false none The name
»»»»»» Values [string] true none The values for the dimensions
»» deliveryInfo [string] false none DeliveryInfo
»» features [string] false none Features
»» variantInfo [string] false none VariantInfo
»» tags [string] false none Tags

Search for a product

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/productSearch', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/productSearch?type=amazon&searchTerm=shoes HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/productSearch?type=amazon&searchTerm=shoes \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/productSearch?type=amazon&searchTerm=shoes',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/productSearch

This endpoint returns search for a product

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
searchTerm query string true The search term to search for
category query string false The category to search for
priceMin query string false The minimum price of the item
priceMax query string false The maximum price of the item
minReviewsRating query string false Filters search results to items with customer review ratings above specified value
sortBy query string false Results are sorted according to supplied option
page query string false The search results page number
isAmazonFulfilled query string false Is Amazon Fulfilled (Only for Amazon integration)
isFreeShippingEligible query string false Is Free Shipping Eligible (Only for Amazon integration)
isPrimeEligible query string false Is Prime Eligible (Only for Amazon integration)
isAmazonGlobal query string false Is Amazon Global product (Only for Amazon integration)

Example responses

200 Response

[
  {
    "productCode": "B07PFQNPKW",
    "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
    "reviewCount": 917,
    "reviewRating": 4.6,
    "images": [
      {
        "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
        "medium": "string",
        "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
      }
    ],
    "value": {
      "currency": "£20",
      "points": "200 Points"
    },
    "previousValue": {
      "currency": "£20",
      "points": "200 Points"
    },
    "savingPercentage": 32,
    "productSummary": [
      "Single SIM slot"
    ],
    "productDetails": [
      {
        "name": "Color",
        "value": "Black"
      }
    ],
    "availability": {
      "message": "In stock",
      "minOrderQuantity": 1,
      "maxOrderQuantity": 10
    },
    "variations": {
      "items": [
        {}
      ],
      "variationSummary": {
        "pageCount": 9,
        "variationsCount": 89,
        "variationDimensions": [
          {
            "displayName": "Colour ",
            "name": "color_name",
            "Values": [
              "Blue"
            ]
          }
        ]
      }
    },
    "deliveryInfo": [
      "string"
    ],
    "features": [
      "string"
    ],
    "variantInfo": [
      "string"
    ],
    "tags": [
      "string"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Could not perform a product search errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [physicalProduct] false none none
» Physical Product physicalProduct false none none
»» productCode string true none A reference to the product
»» productName string true none The name/title given to a product
»» reviewCount integer false none The number of reviews that there are on a product
»» reviewRating number(float) false none The review rating of a product
»» images [physicalImages] true none Images
»»» Physical Product Images physicalImages false none none
»»»» small string true none The url path to a small dimension of the image
»»»» medium string¦null true none The url path to a medium dimension of the image
»»»» large string true none The url path to a large dimension of the image
»» value physicalProductValue true none none
»»» currency string true none The value of the product in currency format
»»» points string true none The value of the product in points
»» previousValue physicalProductValue false none none
»» savingPercentage integer false none The percentage of saving that the product has been reduced in value by
»» productSummary [string] false none The product summary
»» productDetails [physicalProductAttributes] false none ProductDetails
»»» Physical Product Attributes physicalProductAttributes false none none
»»»» name string true none The value given to the attribute
»»»» value string true none The value given to the attribute
»» availability physicalProductAvailability false none none
»»» message string true none The availability message of the product
»»» minOrderQuantity integer true none The minimum quantity of this product that can be purchased
»»» maxOrderQuantity integer true none The maximum quantity of this product that can be purchased
»» variations physicalProductVariations false none none
»»» items [physicalProduct] false none Items
»»»» Physical Product physicalProduct false none none
»»» variationSummary physicalProductVariationsSummary false none none
»»»» pageCount integer false none The number of pages of variations
»»»» variationsCount integer false none The number of total variations
»»»» variationDimensions [physicalVariationDimension] false none VariationDimensions
»»»»» Physical Variation Dimension physicalVariationDimension false none none
»»»»»» displayName string false none The display name
»»»»»» name string false none The name
»»»»»» Values [string] true none The values for the dimensions
»» deliveryInfo [string] false none DeliveryInfo
»» features [string] false none Features
»» variantInfo [string] false none VariantInfo
»» tags [string] false none Tags

Get product variations by product code

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/physical/product/variation', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/physical/product/variation?type=amazon&productCode=B08Z5NYG12 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/physical/product/variation?type=amazon&productCode=B08Z5NYG12 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/physical/product/variation?type=amazon&productCode=B08Z5NYG12',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/physical/product/variation

This endpoint returns a list variations given the product code and selected physical store

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
type query string true Physical store type e.g. amazon
productCode query string true The code of the product to retrieve variations for

Example responses

200 Response

[
  {
    "items": [
      {
        "productCode": "B07PFQNPKW",
        "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
        "reviewCount": 917,
        "reviewRating": 4.6,
        "images": [
          {
            "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
            "medium": "string",
            "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
          }
        ],
        "value": {
          "currency": "£20",
          "points": "200 Points"
        },
        "previousValue": {
          "currency": "£20",
          "points": "200 Points"
        },
        "savingPercentage": 32,
        "productSummary": [
          "Single SIM slot"
        ],
        "productDetails": [
          {
            "name": "Color",
            "value": "Black"
          }
        ],
        "availability": {
          "message": "In stock",
          "minOrderQuantity": 1,
          "maxOrderQuantity": 10
        },
        "variations": {},
        "deliveryInfo": [
          "string"
        ],
        "features": [
          "string"
        ],
        "variantInfo": [
          "string"
        ],
        "tags": [
          "string"
        ]
      }
    ],
    "variationSummary": {
      "pageCount": 9,
      "variationsCount": 89,
      "variationDimensions": [
        {
          "displayName": "Colour ",
          "name": "color_name",
          "Values": [
            "Blue"
          ]
        }
      ]
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [physicalProductVariations] false none none
» Physical Product Variations physicalProductVariations false none none
»» items [physicalProduct] false none Items
»»» Physical Product physicalProduct false none none
»»»» productCode string true none A reference to the product
»»»» productName string true none The name/title given to a product
»»»» reviewCount integer false none The number of reviews that there are on a product
»»»» reviewRating number(float) false none The review rating of a product
»»»» images [physicalImages] true none Images
»»»»» Physical Product Images physicalImages false none none
»»»»»» small string true none The url path to a small dimension of the image
»»»»»» medium string¦null true none The url path to a medium dimension of the image
»»»»»» large string true none The url path to a large dimension of the image
»»»» value physicalProductValue true none none
»»»»» currency string true none The value of the product in currency format
»»»»» points string true none The value of the product in points
»»»» previousValue physicalProductValue false none none
»»»» savingPercentage integer false none The percentage of saving that the product has been reduced in value by
»»»» productSummary [string] false none The product summary
»»»» productDetails [physicalProductAttributes] false none ProductDetails
»»»»» Physical Product Attributes physicalProductAttributes false none none
»»»»»» name string true none The value given to the attribute
»»»»»» value string true none The value given to the attribute
»»»» availability physicalProductAvailability false none none
»»»»» message string true none The availability message of the product
»»»»» minOrderQuantity integer true none The minimum quantity of this product that can be purchased
»»»»» maxOrderQuantity integer true none The maximum quantity of this product that can be purchased
»»»» variations physicalProductVariations false none none
»»»» deliveryInfo [string] false none DeliveryInfo
»»»» features [string] false none Features
»»»» variantInfo [string] false none VariantInfo
»»»» tags [string] false none Tags
»» variationSummary physicalProductVariationsSummary false none none
»»» pageCount integer false none The number of pages of variations
»»» variationsCount integer false none The number of total variations
»»» variationDimensions [physicalVariationDimension] false none VariationDimensions
»»»» Physical Variation Dimension physicalVariationDimension false none none
»»»»» displayName string false none The display name
»»»»» name string false none The name
»»»»» Values [string] true none The values for the dimensions

Get a list of products

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/products HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/products \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/products',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/products

This endpoint returns a list of products based on the filter criteria

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
q query string false Search query for the product field
categories query string false Value must be comma-separated list of categoryIds
page query integer false Offset the number of results returned
limit query integer false Limit the number of results returned, default is 100

Example responses

200 Response

[
  {
    "items": [
      {
        "id": 0,
        "name": "string",
        "logo": "string",
        "typeName": "string",
        "type": "string",
        "stockCode": "string",
        "price": null,
        "getUsableOnline": true,
        "getUsableInstore": true,
        "description": "string",
        "termsAndConditions": "string",
        "minimumOrder": "string",
        "maximumOrder": "string",
        "denominations": [
          0
        ],
        "stockStatus": "string",
        "statusMesssage": "string",
        "productImage": "string",
        "useQuantity": true,
        "isFlex": true,
        "cardOptions": [
          {
            "id": 5,
            "name": "Test ASDA Card #1 (6137350000000002)",
            "enabled": true
          }
        ],
        "startDate": "string",
        "endDate": "string",
        "retailerId": 0,
        "retailerName": "string",
        "ctaText": "string",
        "ctaUrl": "string"
      }
    ],
    "pagination": {
      "offset": 0,
      "limit": 10,
      "count": 157,
      "additionalItems": true
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionPaginatedProducts] false none none
» Redemption Paginated Products redemptionPaginatedProducts false none none
»» items [redemptionProduct] true none Items
»»» Redemption Product redemptionProduct false none none
»»»» id integer true none Id
»»»» name string true none Name
»»»» logo string true none Logo
»»»» typeName string false none Type Name
»»»» type string false none Type
»»»» stockCode string false none Stock Code
»»»» price any false none Price
»»»» getUsableOnline boolean false none Get usable online
»»»» getUsableInstore boolean false none Get usable in store
»»»» description string true none Description
»»»» termsAndConditions string false none TermsAndConditions
»»»» minimumOrder string false none Product minimum order amount
»»»» maximumOrder string false none Product maximum order amount
»»»» denominations [number] false none Product denominations
»»»» stockStatus string false none StockStatus
»»»» statusMesssage string false none StatusMessage
»»»» productImage string false none Product Image
»»»» useQuantity boolean false none Use Quantity
»»»» isFlex boolean false none Is Flexible voucher
»»»» cardOptions [redemptionCardOption] false none CardOptions
»»»»» Redemption Card Option redemptionCardOption false none none
»»»»»» id integer true none The card id
»»»»»» name string true none The alias name given to the reloadable card and card number
»»»»»» enabled boolean true none Enabled
»»»» startDate string¦null false none StartDate
»»»» endDate string¦null false none EndDate
»»»» retailerId integer¦null false none RetailerId
»»»» retailerName string¦null false none RetailerName
»»»» ctaText string¦null false none CTA text
»»»» ctaUrl string¦null false none CTA URL
»» pagination redemptionPagination true none none
»»» offset integer true none The amount to offset the results by
»»» limit integer true none The amount to limit the results by
»»» count integer true none The total number of results that exist and which can be paginated
»»» additionalItems boolean true none A flag that can be used to determine whether there are additional items for pagination

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/products/featured', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/products/featured HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/products/featured \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/products/featured',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/products/featured

This endpoint returns a list of featured products for the locale

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
categories query string false Value must be comma-separated list of categoryIds
banners query string false The csv name of any banners to return. eg 'Avios' for avios banner

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "typeName": "string",
    "type": "string",
    "stockCode": "string",
    "price": null,
    "getUsableOnline": true,
    "getUsableInstore": true,
    "description": "string",
    "termsAndConditions": "string",
    "minimumOrder": "string",
    "maximumOrder": "string",
    "denominations": [
      0
    ],
    "stockStatus": "string",
    "statusMesssage": "string",
    "productImage": "string",
    "useQuantity": true,
    "isFlex": true,
    "cardOptions": [
      {
        "id": 5,
        "name": "Test ASDA Card #1 (6137350000000002)",
        "enabled": true
      }
    ],
    "startDate": "string",
    "endDate": "string",
    "retailerId": 0,
    "retailerName": "string",
    "ctaText": "string",
    "ctaUrl": "string"
  }
]
Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionProduct] false none none
» Redemption Product redemptionProduct false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» typeName string false none Type Name
»» type string false none Type
»» stockCode string false none Stock Code
»» price any false none Price
»» getUsableOnline boolean false none Get usable online
»» getUsableInstore boolean false none Get usable in store
»» description string true none Description
»» termsAndConditions string false none TermsAndConditions
»» minimumOrder string false none Product minimum order amount
»» maximumOrder string false none Product maximum order amount
»» denominations [number] false none Product denominations
»» stockStatus string false none StockStatus
»» statusMesssage string false none StatusMessage
»» productImage string false none Product Image
»» useQuantity boolean false none Use Quantity
»» isFlex boolean false none Is Flexible voucher
»» cardOptions [redemptionCardOption] false none CardOptions
»»» Redemption Card Option redemptionCardOption false none none
»»»» id integer true none The card id
»»»» name string true none The alias name given to the reloadable card and card number
»»»» enabled boolean true none Enabled
»» startDate string¦null false none StartDate
»» endDate string¦null false none EndDate
»» retailerId integer¦null false none RetailerId
»» retailerName string¦null false none RetailerName
»» ctaText string¦null false none CTA text
»» ctaUrl string¦null false none CTA URL

Get a single charity prod, if exists

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/products/featured/charity', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/products/featured/charity HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/products/featured/charity \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/products/featured/charity',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/products/featured/charity

This endpoint returns the charity redemption product

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "logo": "string",
    "typeName": "string",
    "type": "string",
    "stockCode": "string",
    "price": null,
    "getUsableOnline": true,
    "getUsableInstore": true,
    "description": "string",
    "termsAndConditions": "string",
    "minimumOrder": "string",
    "maximumOrder": "string",
    "denominations": [
      0
    ],
    "stockStatus": "string",
    "statusMesssage": "string",
    "productImage": "string",
    "useQuantity": true,
    "isFlex": true,
    "cardOptions": [
      {
        "id": 5,
        "name": "Test ASDA Card #1 (6137350000000002)",
        "enabled": true
      }
    ],
    "startDate": "string",
    "endDate": "string",
    "retailerId": 0,
    "retailerName": "string",
    "ctaText": "string",
    "ctaUrl": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [redemptionProduct] false none none
» Redemption Product redemptionProduct false none none
»» id integer true none Id
»» name string true none Name
»» logo string true none Logo
»» typeName string false none Type Name
»» type string false none Type
»» stockCode string false none Stock Code
»» price any false none Price
»» getUsableOnline boolean false none Get usable online
»» getUsableInstore boolean false none Get usable in store
»» description string true none Description
»» termsAndConditions string false none TermsAndConditions
»» minimumOrder string false none Product minimum order amount
»» maximumOrder string false none Product maximum order amount
»» denominations [number] false none Product denominations
»» stockStatus string false none StockStatus
»» statusMesssage string false none StatusMessage
»» productImage string false none Product Image
»» useQuantity boolean false none Use Quantity
»» isFlex boolean false none Is Flexible voucher
»» cardOptions [redemptionCardOption] false none CardOptions
»»» Redemption Card Option redemptionCardOption false none none
»»»» id integer true none The card id
»»»» name string true none The alias name given to the reloadable card and card number
»»»» enabled boolean true none Enabled
»» startDate string¦null false none StartDate
»» endDate string¦null false none EndDate
»» retailerId integer¦null false none RetailerId
»» retailerName string¦null false none RetailerName
»» ctaText string¦null false none CTA text
»» ctaUrl string¦null false none CTA URL

Get redeemable points for a member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/redemption/points', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/redemption/points HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/redemption/points \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/redemption/points',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/redemption/points

This endpoint returns a list of redeemable points/currency for a specific member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "id": "string",
  "points": "string",
  "currency": "string",
  "currencyType": "string",
  "exchangeRate": 0.1,
  "reverseExchangeRate": 0.1,
  "configurationId": 10,
  "pageRedeemTitle": "Reward Marketplace",
  "pageRedeemDescription": "Redeem your award balance on an amazing selection of rewards",
  "allowBankWithdrawal": true,
  "schemeId": 10,
  "schemeUuid": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
  "schemeName": "Example Site",
  "customStoreStatus": true,
  "memberLocaleId": 10,
  "pointsFullName": "Coins",
  "pointsShortName": "CNS",
  "pointsDisplayMode": 1,
  "isRewardMarketplaceAdministrator": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation redemptionUser
403 Forbidden Access to the resource has been denied errorModel

Customer Recognition

Ability to send nomination to someone from outside.

Create a new customer recognition

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/customer', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/customer HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/customer \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "rrProgramId": 0,
  "sender": "string",
  "nominee": "string",
  "awardId": 0,
  "nominationReason": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/customer',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/customer

Creates a new customer recognition.

Body parameter

{
  "rrProgramId": 0,
  "sender": "string",
  "nominee": "string",
  "awardId": 0,
  "nominationReason": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» rrProgramId body integer false none
» sender body string false none
» nominee body string false none
» awardId body integer false none
» nominationReason body string false none

Example responses

201 Response

null

Responses

Status Meaning Description Schema
201 Created Created customerRecognition

Get details for making request for external recognition form.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/details/view/{hash}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/details/view/{hash} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/details/view/{hash} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/recognition/details/view/{hash}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/details/view/{hash}

Fetching details needed for customer recognition external form scheme.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
hash path string true Hash from external page url.

Example responses

200 Response

{
  "request_headers": {
    "Accept": "application/vnd.rewardgateway+json; version=3.0",
    "Authorization": "[access token]"
  },
  "request_urls": {
    "fetch_form_scheme_url": "string",
    "store_form_url": "string"
  },
  "scheme_id": "string",
  "rr_scheme_id": "string",
  "page_data": {
    "submit_page": {
      "title": "Thank you title.",
      "description": "Thank you description."
    },
    "submit_page_button": {
      "hasButton": true,
      "text": "Button text",
      "link": "Link to"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK All details needed for making request to Customer Recognition endpoints. customerRequestDetails
404 Not Found Resource was not found. errorModel

Get customer recognition form structure.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/scheme/{schemeId}/{rrSchemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/scheme/{schemeId}/{rrSchemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/scheme/{schemeId}/{rrSchemeId} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/recognition/scheme/{schemeId}/{rrSchemeId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/scheme/{schemeId}/{rrSchemeId}

Customer Recognition form structure returned as json.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
schemeId path string true Clients scheme id
rrSchemeId path string true Reward and Recognition programme id

Example responses

200 Response

{
  "fields": [
    {
      "id": "RRNomineeAsText",
      "type": "checkbox",
      "label": "Who would you like to recognize?",
      "description": "Example description",
      "isHidden": true,
      "isRequired": true,
      "options": [
        {
          "value": "18",
          "label": "-- Select --"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK External recognition form structure needed to build fronend form. customerFormStructure
400 Bad Request Bad Request. errorModel

Create external recognition.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/store/{schemeId}/{rrSchemeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/store/{schemeId}/{rrSchemeId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/store/{schemeId}/{rrSchemeId} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/recognition/store/{schemeId}/{rrSchemeId}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/store/{schemeId}/{rrSchemeId}

Submit new external recognition nomination.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
schemeId path string true Clients scheme id
rrSchemeId path string true Reward and Recognition programme id

Example responses

200 Response

{
  "success": true,
  "message": "string",
  "errors": null,
  "nominationId": 0,
  "nominationFeedItem": [
    {}
  ]
}

Responses

Status Meaning Description Schema
200 OK New customer nomination customerNominationEntity
400 Bad Request Bad Request. errorModel
422 Unprocessable Entity Validation errors if form is not valid. customerStoreValidationError

Smart Pay

Endpoints to manage Smart Pay products related functionality.

Propose an amendment to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartpay/application/{applicationId}/amend', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartpay/application/{applicationId}/amend HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartpay/application/{applicationId}/amend \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/amend',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartpay/application/{applicationId}/amend

This endpoint will create an amendment proposal for an existing application. This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true Id of the application
body body smartpay_application_amend false none

Example responses

201 Response

{
  "applicationId": 96,
  "amendmentId": 182,
  "customerId": 1
}

Responses

Status Meaning Description Schema
201 Created Successful operation smart_pay_application_amend_created
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Amendment was not accepted, due to system or product specific state. standardModel

Approve or reject an amendment to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/smartpay/application/{applicationId}/amend/{amendmentId}/{action}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/smartpay/application/{applicationId}/amend/{amendmentId}/{action} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/smartpay/application/{applicationId}/amend/{amendmentId}/{action} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/amend/{amendmentId}/{action}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /smartpay/application/{applicationId}/amend/{amendmentId}/{action}

This endpoint will let you approve or reject an amendment for an existing application.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true Id of the application
amendmentId path integer true Id of the amendment
action path string true Approve or Reject amendment
body body smartpay_application_amend_action false none

Enumerated Values

Parameter Value
action approve
action reject

Example responses

201 Response

{
  "applicationId": 96,
  "amendmentId": 182,
  "customerId": 1
}

Responses

Status Meaning Description Schema
201 Created Successful operation smart_pay_application_amend_processed
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Amendment was not accepted, due to system or product specific state. standardModel

Update metadata for an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/smartpay/application/{applicationId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/smartpay/application/{applicationId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/smartpay/application/{applicationId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Philips Daily Collection HD2583/90; Dimensions: X by Y;",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /smartpay/application/{applicationId}

This endpoint will let you update the metadata for an existing application.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Philips Daily Collection HD2583/90; Dimensions: X by Y;",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true Id of the application
body body smartpay_application_update false none

Example responses

201 Response

{
  "applicationId": 96,
  "customerId": 1
}

Responses

Status Meaning Description Schema
201 Created Successful operation smart_pay_application_updated
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Update was not processed, due to system or product specific state. standardModel

Create an application for a customer

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartpay/application', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartpay/application HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartpay/application \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartpay/application

This endpoint will create an application for a specified customer and product, with a certain amount and repayment period.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body smartpay_application_create false none

Example responses

201 Response

{
  "applicationId": 96,
  "customerId": 1
}

Responses

Status Meaning Description Schema
201 Created Successful operation smart_pay_application_created
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Application was not created, due to system or product specific state. standardModel

Cancel an application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartpay/application/{applicationId}/cancel', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartpay/application/{applicationId}/cancel HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartpay/application/{applicationId}/cancel \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "reason": "User requested cancellation",
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/cancel',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartpay/application/{applicationId}/cancel

This endpoint will cancel an application for the selected customer, with the product and application id.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "reason": "User requested cancellation",
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true RG internal application identifier
body body smartpay_application_cancel false none

Example responses

200 Response

{
  "customerId": 1,
  "applicationId": 12
}

Responses

Status Meaning Description Schema
200 OK Successful operation smartpay_application_cancelled
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customner or product not found. standardModel

Approve an application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartpay/application/{applicationId}/approve', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartpay/application/{applicationId}/approve HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartpay/application/{applicationId}/approve \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/approve',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartpay/application/{applicationId}/approve

This endpoint will approve an application for the selected customer, with the product and application id.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true RG internal application identifier
body body smartpay_application_approve false none

Example responses

200 Response

{
  "customerId": 1,
  "applicationId": 12
}

Responses

Status Meaning Description Schema
200 OK Successful operation smartpay_application_approved
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel

Reject an application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartpay/application/{applicationId}/reject', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartpay/application/{applicationId}/reject HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartpay/application/{applicationId}/reject \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "reason": "Member does not qualify for this product"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/reject',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartpay/application/{applicationId}/reject

This endpoint will approve an application for the selected customer, with the product and application id.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "reason": "Member does not qualify for this product"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true RG internal application identifier
body body smartpay_application_reject false none

Example responses

200 Response

{
  "customerId": 1,
  "applicationId": 12
}

Responses

Status Meaning Description Schema
200 OK Successful operation smartpay_application_rejected
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel

End an application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartpay/application/{applicationId}/end', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartpay/application/{applicationId}/end HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartpay/application/{applicationId}/end \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "reason": "Early termination"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/end',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartpay/application/{applicationId}/end

This endpoint will end an application for the selected customer, with the product and application id.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "reason": "Early termination"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true RG internal application identifier
body body smartpay_application_close false none

Example responses

200 Response

{
  "customerId": 1,
  "applicationId": 12
}

Responses

Status Meaning Description Schema
200 OK Successful operation smartpay_application_closed
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel

Get the available funds for a customer

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartpay/application/affordability', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartpay/application/affordability?customerId=1&scheme=John&product=John HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartpay/application/affordability?customerId=1&scheme=John&product=John \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/affordability?customerId=1&scheme=John&product=John',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartpay/application/affordability

This endpoint will return the available spending amount for the selected customer and product.This endpoint has been deprecated. Please see the Global Benefits API.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
customerId query integer true User Identifier
scheme query string true RG internal Scheme ID
product query string true Product ID
ignoreAppId query integer false RG Application ID to be ignored

Example responses

200 Response

{
  "availableFunds": 0.1,
  "customerId": 1
}

Responses

Status Meaning Description Schema
200 OK Successful operation smartpay_available_funds
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel

Propose a renewal to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartpay/application/{applicationId}/renewal

This endpoint will create an renewal proposal for an existing application.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true Id of the application
body body smartpay_application_renewal false none

Example responses

200 Response

{
  "applicationId": 96,
  "renewalId": 182,
  "customerId": 1
}

Responses

Status Meaning Description Schema
200 OK Successful operation smart_pay_application_renewal_created
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Renewal was not accepted, due to system or product specific state. standardModel

Approve or reject a renewal proposal to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal/{renewalId}/{action}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal/{renewalId}/{action} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PUT https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal/{renewalId}/{action} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "endOriginalApp": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartpay/application/{applicationId}/renewal/{renewalId}/{action}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /smartpay/application/{applicationId}/renewal/{renewalId}/{action}

This endpoint will let you approve or reject a renewal proposal for an existing application.This endpoint has been deprecated. Please see the Global Benefits API.

Body parameter

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "endOriginalApp": true
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
applicationId path integer true Id of the application
renewalId path integer true Id of the renewal
action path string true Approve or Reject renewal
body body smartpay_application_renewal_action false none

Enumerated Values

Parameter Value
action approve
action reject

Example responses

200 Response

{
  "applicationId": 96,
  "renewalId": 182,
  "customerId": 1
}

Responses

Status Meaning Description Schema
200 OK Successful operation smart_pay_application_renewal_processed
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Renewal was not accepted, due to system or product specific state. standardModel

Global Benefits

Endpoints to manage Global Benefits related functionality.

Approve or reject an amendment to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/amendments/{amendmentId}/{action}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/amendments/{amendmentId}/{action} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X PUT https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/amendments/{amendmentId}/{action} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/amendments/{amendmentId}/{action}',
{
  method: 'PUT',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /globalbenefits/applications/{applicationId}/amendments/{amendmentId}/{action}

This endpoint will let you approve or reject an amendment for an existing application. The amendment ID is required to identify the amendment to be approved or rejected. The action parameter must be either 'approve' or 'reject'. Once an amendment has been approved, the application will be updated with the new details. If the amendment is rejected, the application will remain unchanged. Once an amendment is approved, all other pending amendments for the same application will be rejected.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
amendmentId path integer true Id of the amendment
action path string true Approve or Reject amendment

Enumerated Values

Parameter Value
action approve
action reject

Example responses

201 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "amendmentId": 182,
  "action": "approve"
}

Responses

Status Meaning Description Schema
201 Created Successful operation globalbenefits_application_amend_processed
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Amendment was not accepted, due to system or product specific state. standardModel

Propose an amendment to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/application/{applicationId}/amend', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/application/{applicationId}/amend HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/application/{applicationId}/amend \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/application/{applicationId}/amend',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/application/{applicationId}/amend

This endpoint will create an amendment proposal for an existing application. An amendment proposal can then be approved or rejected. A single application can have many pending amendments, but once an amendment is approved, all other pending amendments are rejected.

Body parameter

{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
body body globalbenefits_application_amend false none

Example responses

201 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "amendmentId": 182
}

Responses

Status Meaning Description Schema
201 Created Successful operation globalbenefits_application_amend_created
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Application not found. standardModel
409 Conflict Amendment was not accepted, due to system or product specific state. standardModel

Approve an application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/approve', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/approve HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/approve \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = 'null';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/approve',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/applications/{applicationId}/approve

This endpoint will approve an application for the selected customer, with the product and application ID. The application must be in a pending state to be approved. If the application is not in a pending state, an error will be returned.

Body parameter

null

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
body body globalbenefits_application_approve false none

Example responses

200 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_application_approved
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Application. standardModel

Cancel a benefits application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/cancel', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/cancel HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/cancel \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "reason": "User requested cancellation"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/cancel',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/applications/{applicationId}/cancel

This endpoint will cancel an application for the selected customer. The application must be in a pending or hold state to be cancelled. If the application is not in a pending or hold state, an error will be returned.

Body parameter

{
  "reason": "User requested cancellation"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
body body globalbenefits_application_cancel false none

Example responses

200 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_application_cancelled
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Application not found. standardModel

Retrieve a list of all applications for a scheme.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/applications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/applications HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/applications \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/applications

This endpoint retrieves all applications your token has access to.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
page query integer false Offset the number of results returned
limit query integer false Constraint the number of results returned
status query string false Application status filter
product query string false Product name filter

Enumerated Values

Parameter Value
status hold
status pending
status approved
status rejected
status cancelled
status closed
status revoked

Example responses

200 Response

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=2&limit=10"
    },
    "first": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=1&limit=10"
    },
    "last": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=10&limit=10"
    },
    "next": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=3&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
        "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "applicationId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "deductionPeriod": 12,
        "deductionFrequency": "monthly",
        "amount": 100,
        "product": "product",
        "externalOrderId": "123456",
        "description": "description",
        "status": "approved",
        "externalStatus": "active",
        "savings": {
          "ni": 18.25,
          "tax": 10.88
        },
        "metadata": [
          {
            "name": "width",
            "type": "string",
            "value": "145 centimeters"
          }
        ],
        "items": [
          {
            "externalId": "SKU123456",
            "quantity": 3.4,
            "amount": 118.54,
            "name": "Hair dryer Brand Model X",
            "description": "Short description of the purchased item",
            "metadata": [
              {
                "name": "width",
                "type": "string",
                "value": "145 centimeters"
              }
            ]
          }
        ],
        "dateCreated": "2021-01-01 12:17:42",
        "dateApproved": "2021-01-01 12:17:42",
        "_links": {
          "self": {
            "href": "/globalbenefits/applications/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK List of filtered applications globalbenefits_paginated_applications
400 Bad Request BadRequest - request parameters invalid. errorModel

Create a benefits application for an employee

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Member-Id' => 'uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/applications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/applications HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Member-Id: uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/applications \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Member-Id: uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Member-Id':'uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/applications

Create an application for a member, specifying the product and application metadata like amount and deduction period. When submitting an application creation request, make sure to include a member identifier (in the form of an X-Member-Id header). This will ensure your application is created for the correct member. Please see documentation on 'Member Identification' for more information.

Body parameter

{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Member-Id header string true The member identifier you are creating an application for. Please see documentation on 'Member Identification' for more information.
X-Scheme-Id header string true The scheme identifier of the member you are creating an application for. Please see documentation on 'Member Identification' for more information.
body body globalbenefits_application_create false none

Example responses

201 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "memberUuid": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "status": "ended"
}

Responses

Status Meaning Description Schema
201 Created Successful operation globalbenefits_application_created
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Application was not created, due to system or product specific state. standardModel

End an application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/end', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/end HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/end \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/end',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/applications/{applicationId}/end

This endpoint will end an application identified by its application identifier. The application must be in an approved state to be ended. If the application is not in an approved state, an error will be returned. The application will be set to a closed state and the reason for closure will be recorded if a reason is specified in the request body.

Body parameter

{}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
body body globalbenefits_application_close false none

Example responses

200 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_application_closed
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Application not found. standardModel

Reject an application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/reject', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/reject HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/reject \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "reason": "Member does not qualify for this product"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications/{applicationId}/reject',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/applications/{applicationId}/reject

This endpoint will reject an application based on its application identifier. The application must be in a pending or hold state to be rejected. If the application is not in a pending or hold state, an error will be returned. The application will be set to a rejected state and the reason for rejection will be recorded if a reason is specified in the request body. The application will be set to a rejected state and the reason for rejection will be recorded if a reason is specified in the request body.

Body parameter

{
  "reason": "Member does not qualify for this product"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
body body globalbenefits_application_reject false none

Example responses

200 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_application_rejected
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Application not found. standardModel

Approve or reject a renewal proposal to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal/{renewalId}/{action}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal/{renewalId}/{action} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X PUT https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal/{renewalId}/{action} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "endOriginalApp": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal/{renewalId}/{action}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /globalbenefits/application/{applicationId}/renewal/{renewalId}/{action}

This endpoint will let you approve or reject a renewal proposal for an existing application. The renewalId is the ID of the renewal proposal, not the application. The applicationId is the ID of the application that the renewal proposal is for. The action must be either 'approve' or 'reject'. Once a renewal proposal has been approved, the application will be updated with the new details. If the renewal proposal is rejected, the application will remain unchanged. Once a renewal proposal is approved, all other pending renewal proposals for the same application will be rejected.

Body parameter

{
  "endOriginalApp": true
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
renewalId path integer true Id of the renewal
action path string true Approve or Reject renewal
body body globalbenefits_application_renewal_action false none

Enumerated Values

Parameter Value
action approve
action reject

Example responses

200 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "renewalId": 182
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_application_renewal_processed
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Renewal was not accepted, due to system or product specific state. standardModel

Propose a renewal to an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/application/{applicationId}/renewal',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/application/{applicationId}/renewal

This endpoint will create an renewal proposal for an existing application. The renewal proposal will be in a pending state until it is either approved or rejected. An application ca have multiple pending renewals, but only one can be approved. Once an renewal is approved, all other pending renewals for the same application will be rejected.

Body parameter

{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
body body globalbenefits_application_renewal false none

Example responses

200 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "renewalId": 182
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_application_renewal_created
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Renewal was not accepted, due to system or product specific state. standardModel

Retrieve information for a single application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/applications/{applicationId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/applications/{applicationId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/applications/{applicationId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications/{applicationId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/applications/{applicationId}

This endpoint retrieves a single application by its ID.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
applicationId path string true The unique identifier of the application you are querying for

Example responses

200 Response

{
  "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "applicationId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 100,
  "product": "product",
  "externalOrderId": "123456",
  "description": "description",
  "status": "approved",
  "externalStatus": "active",
  "savings": {
    "ni": 18.25,
    "tax": 10.88
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ],
  "dateCreated": "2021-01-01 12:17:42",
  "dateApproved": "2021-01-01 12:17:42"
}

Responses

Status Meaning Description Schema
200 OK Data for a single application globalbenefits_application_minimal
400 Bad Request BadRequest - request parameters invalid. errorModel

Update metadata for an existing application

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/globalbenefits/applications/{applicationId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/globalbenefits/applications/{applicationId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X PUT https://api.rewardgateway.net/globalbenefits/applications/{applicationId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Philips Daily Collection HD2583/90; Dimensions: X by Y;",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/applications/{applicationId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /globalbenefits/applications/{applicationId}

This endpoint will let you update the metadata for an existing application. This endpoint cannot be used to adjust the monetary amount of the application, this requires an Amendment (see 'Propose an amendment to an existing application').

Body parameter

{
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Philips Daily Collection HD2583/90; Dimensions: X by Y;",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The identifier of the scheme you are acting upon.
applicationId path string true RG internal application identifier
body body globalbenefits_application_update false none

Example responses

201 Response

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb"
}

Responses

Status Meaning Description Schema
201 Created Successful operation globalbenefits_application_updated
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Update was not processed, due to system or product specific state. standardModel

Retrieve a list of members

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/members', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/members HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/members \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/members',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/members

This endpoint retrieves a list of members associated with a specified client, filtered based on criteria provided in the request.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
page query integer false Offset the number of results returned
limit query integer false Constraint the number of results returned
payrollName query string false Filter result by payroll name

Example responses

200 Response

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=2&limit=4"
    },
    "first": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=1&limit=4"
    },
    "last": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=10&limit=4"
    },
    "next": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=3&limit=4"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
        "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "payrollName": "Night shift monthly payroll",
        "payrollNumber": "AZ1128KT",
        "payrollFrequency": "weekly",
        "_links": {
          "self": {
            "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK List of members globalbenefits_paginated_members
400 Bad Request BadRequest - request parameters invalid. errorModel

Retrieve a member by ID

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/members/{memberId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/members/{memberId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/members/{memberId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/members/{memberId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/members/{memberId}

This endpoint retrieves a member by their unique identifier.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
memberId path string true The member identifier you are fetching information for. Please see documentation on 'Member Identification' for more information.

Example responses

200 Response

{
  "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "payrollName": "Night shift monthly payroll",
  "payrollNumber": "AZ1128KT",
  "payrollFrequency": "weekly"
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_member_minimal
400 Bad Request BadRequest - request parameters invalid. errorModel

Retrieve a list of member's applications

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/members/{memberId}/applications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/members/{memberId}/applications HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/members/{memberId}/applications \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/members/{memberId}/applications',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/members/{memberId}/applications

This endpoint retrieves all applications for a specified member.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
memberId path string true The member identifier you are fetching information for. Please see documentation on 'Member Identification' for more information.
page query integer false Offset the number of results returned
limit query integer false Constraint the number of results returned
status query string false Application status filter
product query string false Product name filter

Enumerated Values

Parameter Value
status hold
status pending
status approved
status rejected
status cancelled
status closed
status revoked

Example responses

200 Response

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=2&limit=10"
    },
    "first": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=1&limit=10"
    },
    "last": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=10&limit=10"
    },
    "next": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=3&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
        "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "applicationId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "deductionPeriod": 12,
        "deductionFrequency": "monthly",
        "amount": 100,
        "product": "product",
        "externalOrderId": "123456",
        "description": "description",
        "status": "approved",
        "externalStatus": "active",
        "savings": {
          "ni": 18.25,
          "tax": 10.88
        },
        "metadata": [
          {
            "name": "width",
            "type": "string",
            "value": "145 centimeters"
          }
        ],
        "items": [
          {
            "externalId": "SKU123456",
            "quantity": 3.4,
            "amount": 118.54,
            "name": "Hair dryer Brand Model X",
            "description": "Short description of the purchased item",
            "metadata": [
              {
                "name": "width",
                "type": "string",
                "value": "145 centimeters"
              }
            ]
          }
        ],
        "dateCreated": "2021-01-01 12:17:42",
        "dateApproved": "2021-01-01 12:17:42",
        "_links": {
          "self": {
            "href": "/globalbenefits/applications/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_paginated_applications
400 Bad Request BadRequest - request parameters invalid. errorModel

Retrieve a list of member's subscriptions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/members/{memberId}/subscriptions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/members/{memberId}/subscriptions HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/members/{memberId}/subscriptions \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/members/{memberId}/subscriptions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/members/{memberId}/subscriptions

This endpoint retrieves all subscriptions for a specified member.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
memberId path string true The member identifier you are fetching information for. Please see documentation on 'Member Identification' for more information.
page query integer false Offset the number of results returned
limit query integer false Constraint the number of results returned
status query string false Subscription status filter
product query string false Product name filter

Enumerated Values

Parameter Value
status active
status inactive

Example responses

200 Response

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=2&limit=10"
    },
    "first": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=1&limit=10"
    },
    "last": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=10&limit=10"
    },
    "next": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=3&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "status": "active",
        "deductionFrequency": "monthly",
        "amount": 118.54,
        "product": "product name",
        "_links": {
          "self": {
            "href": "/globalbenefits/subscription/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_paginated_subscriptions
400 Bad Request BadRequest - request parameters invalid. errorModel

Get product affordability for a member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Member-Id' => 'uuid:16a365e4-1509-a0de-ab2b-e0a384cf8bd2',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/products/{product}/affordability', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/products/{product}/affordability HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Member-Id: uuid:16a365e4-1509-a0de-ab2b-e0a384cf8bd2
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/products/{product}/affordability \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Member-Id: uuid:16a365e4-1509-a0de-ab2b-e0a384cf8bd2' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Member-Id':'uuid:16a365e4-1509-a0de-ab2b-e0a384cf8bd2',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/products/{product}/affordability',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/products/{product}/affordability

This endpoint will return the available spending amount for the selected member and product. The available spending amount is the amount that the member can spend on the product, based on their current salary and any other products that they have applied for. The available spending amount is calculated by subtracting the total cost of all products that the member has applied for from the member's current salary. You must the member ID using the X-Member-Id header. You must also specify the scheme ID using the X-Scheme-Id header. See the 'Member Identification' section for more information.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
product path string true Product Identifier
X-Member-Id header string true The member identifier of the member you are querying. Please see documentation on 'Member Identification' for more information.
X-Scheme-Id header string true The scheme identifier of the member you are querying. Please see documentation on 'Member Identification' for more information.
ignoreAppId query integer false RG Application ID to be ignored

Example responses

200 Response

{
  "availableFunds": 0.1
}

Responses

Status Meaning Description Schema
200 OK Successful operation globalbenefits_available_funds
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel

Retrieve a list of all subscriptions for a scheme.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/subscriptions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/subscriptions HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/subscriptions \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/subscriptions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/subscriptions

This endpoint retrieves all subscriptions your token has access to.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
page query integer false Offset the number of results returned
limit query integer false Constraint the number of results returned
status query string false Subscription status filter
product query string false Product name filter

Enumerated Values

Parameter Value
status active
status inactive

Example responses

200 Response

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=2&limit=10"
    },
    "first": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=1&limit=10"
    },
    "last": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=10&limit=10"
    },
    "next": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=3&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "status": "active",
        "deductionFrequency": "monthly",
        "amount": 118.54,
        "product": "product name",
        "_links": {
          "self": {
            "href": "/globalbenefits/subscription/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK List of filtered subscriptions globalbenefits_paginated_subscriptions
400 Bad Request BadRequest - request parameters invalid. errorModel

Create a benefits subscription for an employee

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Member-Id' => 'uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/subscriptions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/subscriptions HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Member-Id: uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/subscriptions \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Member-Id: uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Member-Id':'uuid:89bb65e4-9599-46de-a92b-e0a289cf8c22',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/subscriptions',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/subscriptions

Create a subscription for a member, specifying the product and subscription metadata like amount and deduction frequency. When submitting a subscription creation request, make sure to include a member identifier (in the form of an X-Member-Id header). This will ensure your subscription is created for the correct member. Please see documentation on 'Member Identification' for more information.

Body parameter

{
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Member-Id header string true The member identifier you are creating a subscription for. Please see documentation on 'Member Identification' for more information.
X-Scheme-Id header string true The scheme identifier of the member you are creating a subscription for. Please see documentation on 'Member Identification' for more information.
body body globalbenefits_subscription false none

Example responses

201 Response

{
  "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "status": "active",
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}

Responses

Status Meaning Description Schema
201 Created Successful operation globalbenefits_subscription
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Subscription was not created, due to system or product specific state. standardModel

End a benefits subscription for an employee

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}/end', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}/end HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X POST https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}/end \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}/end',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /globalbenefits/subscriptions/{subscriptionId}/end

End a subscription for a member, specifying the subscription identifier. When submitting a subscription end request, make sure to include a member identifier (in the form of an X-Member-Id header). This will ensure your subscription is ended for the correct member. Please see documentation on 'Member Identification' for more information.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the member you are creating a subscription for. Please see documentation on 'Member Identification' for more information.
subscriptionId path string true The identifier of the subscription you are ending.

Example responses

201 Response

{
  "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "status": "active",
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}

Responses

Status Meaning Description Schema
201 Created Successful operation globalbenefits_subscription
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Subscription was not created, due to system or product specific state. standardModel

Retrieve information for a single subscription

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X GET https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /globalbenefits/subscriptions/{subscriptionId}

This endpoint retrieves a single subscription by its ID.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the members you are querying for.
subscriptionId path string true The unique identifier of the subscription you are querying for

Example responses

200 Response

{
  "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "status": "active",
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}

Responses

Status Meaning Description Schema
200 OK Data for a single subscription globalbenefits_subscription
400 Bad Request BadRequest - request parameters invalid. errorModel

Update a benefits subscription for an employee

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'X-Scheme-Id' => 'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0
X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'X-Scheme-Id: uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'

const inputBody = '{
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'X-Scheme-Id':'uuid:32bb65e4-1509-a0de-ab2b-e0a384cf8ce4'
};

fetch('https://api.rewardgateway.net/globalbenefits/subscriptions/{subscriptionId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /globalbenefits/subscriptions/{subscriptionId}

Update a subscription for a member, specifying the product and subscription metadata like amount and deduction frequency. When submitting a subscription creation request, make sure to include a member identifier (in the form of an X-Member-Id header). This will ensure your subscription is updated for the correct member. Please see documentation on 'Member Identification' for more information.

Body parameter

{
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
X-Scheme-Id header string true The scheme identifier of the member you are creating a subscription for. Please see documentation on 'Member Identification' for more information.
subscriptionId path string true The identifier of the subscription you are ending.
body body globalbenefits_subscription false none

Example responses

201 Response

{
  "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "status": "active",
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}

Responses

Status Meaning Description Schema
201 Created Successful operation globalbenefits_subscription
400 Bad Request BadRequest - request parameters invalid. standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Customer or product not found. standardModel
409 Conflict Subscription was not updated, due to system or product specific state. standardModel

Total Reward Statement

Endpoints to manage a members Total Reward Statements.

Get the total reward statement for current user

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/trs/getSections', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/trs/getSections HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/trs/getSections \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/trs/getSections',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /trs/getSections

This endpoint will return the total reward statement for the user associated with the access token.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

{
  "summary": [
    {
      "name": "string",
      "description": "string",
      "summaryItems": [
        [
          {
            "id": 1,
            "label": "string",
            "value": 123,
            "formattedValue": "string"
          }
        ]
      ],
      "annualRewards": 123,
      "currencySymbol": "string"
    }
  ],
  "sections": [
    "string"
  ],
  "downloadIsActive": true,
  "isPasswordRequired": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Unauthorized standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» summary [object] true none none
»» name string true none none
»» description string true none none
»» summaryItems [array] true none none
»»» id integer true none none
»»» label string true none none
»»» value integer true none none
»»» formattedValue string true none none
annualRewards integer true none none
currencySymbol string true none none
sections [string] true none none
downloadIsActive boolean true none none
isPasswordRequired boolean true none none

Auth trs user

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/trs/auth', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/trs/auth HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/trs/auth \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "password": "password"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/trs/auth',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /trs/auth

Auth trs user

Body parameter

{
  "password": "password"
}

Parameters

Name In Type Required Description
body body Auth false none

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Data validation errors None
401 Unauthorized Unauthorized Access Exception None

Translation

Translations

Translations

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/translation', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/translation HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/translation \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/translation',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /translation

That end-point will return mapping between keys and real translations.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "locale": "https://ugc.rewardgateway.dev/locales/en_gb/5d4fa74be8eceac4ca687209c04c2d20.json?1701176934",
  "locale_key": "en_GB",
  "fallback": "https://ugc.rewardgateway.dev/locales/en_gb/5d4fa74be8eceac4ca687209c04c2d20.json?1701176934",
  "fallback_key": "en_GB"
}

Responses

Status Meaning Description Schema
200 OK Successful operation mapping is returned. Inline
401 Unauthorized If current token doesn't have access to that resource. errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» locale string true none none
» locale_key string true none none
» fallback string true none none
» fallback_key string true none none

Wellbeing Centre

Endpoints to list and delete favourite items for a current user

Get audio item for current user

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/wellbeingcentre/audio/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/wellbeingcentre/audio/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/wellbeingcentre/audio/{id} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wellbeingcentre/audio/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /wellbeingcentre/audio/{id}

This endpoint will return detailes of an audio item of the user associated with the access * token.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path string true Wellbeing centre audio item identifier

Example responses

200 Response

{
  "id": 12,
  "audioLink": "https://ugc.rewardgateway.dev/wellbeing/mind/audio/012498b3b6376f9e6fcbb2b8598d839facf76b40.mp3",
  "transcript": "transcript text",
  "type": "audio",
  "title": "Cosy winter cabin",
  "courseLength": "3h20m",
  "duration": "20min",
  "author": "Adam Smith",
  "description": "description text",
  "imageLink": "https://ugc.rewardgateway.dev/wellbeing/mind/audio/images/012498b3b6376f9e6fcbb2b8598d839facf76b40.jpg",
  "isPlayed": false
}

Responses

Status Meaning Description Schema
200 OK Successful operation Audio
403 Forbidden Invalid request. standardModel

Delete favourite item

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/wellbeingcentre/favourites/delete/{favouriteId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/wellbeingcentre/favourites/delete/{favouriteId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/wellbeingcentre/favourites/delete/{favouriteId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wellbeingcentre/favourites/delete/{favouriteId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /wellbeingcentre/favourites/delete/{favouriteId}

This endpoint will delete favourite item of the user associated with the access token.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
favouriteId path integer true Wellbeing centre favourite identifier

Example responses

403 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation None
403 Forbidden Access to the resource has been denied standardModel

Get wellbeing centre content

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/content/wellbeing/bookmarks/{contentType}/{contentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/content/wellbeing/bookmarks/{contentType}/{contentId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/content/wellbeing/bookmarks/{contentType}/{contentId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/content/wellbeing/bookmarks/{contentType}/{contentId}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /content/wellbeing/bookmarks/{contentType}/{contentId}

Bookmark content

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
contentType path string true Content type.
contentId path integer true Content Id.

Example responses

200 Response

[
  null
]

Responses

Status Meaning Description Schema
200 OK Json array containing wbc content data. Inline
401 Unauthorized Wellbeing Centre is not active. errorModel
403 Forbidden Invalid request errorModel

Response Schema

Get topics for wellbeing centre

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/content/wellbeing/topics', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/content/wellbeing/topics HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/content/wellbeing/topics \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/content/wellbeing/topics',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /content/wellbeing/topics

Fetch topics for scheme and locale

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  null
]

Responses

Status Meaning Description Schema
200 OK Json array containing wbc topics data. Inline
403 Forbidden Invalid request errorModel

Response Schema

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/content/wellbeing/featured', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/content/wellbeing/featured HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/content/wellbeing/featured \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/content/wellbeing/featured',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /content/wellbeing/featured

Fetch featured content.

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  null
]
Status Meaning Description Schema
200 OK Json array containing wbc content data. Inline
403 Forbidden Invalid request errorModel

Get favourite itemes for current user

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/wellbeingcentre/favourites/list', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/wellbeingcentre/favourites/list HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/wellbeingcentre/favourites/list \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wellbeingcentre/favourites/list',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /wellbeingcentre/favourites/list

This endpoint will return all favourite items of the user associated with the access * token.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "itemId": 123,
  "favouriteId": 1,
  "category": "move",
  "itemUrl": "",
  "title": "Ipsum dolor sit amet",
  "subTitle": "Ipsum dolor sit amet",
  "imageUrl": "",
  "type": "video",
  "duration": "30",
  "additionalInfo": "Ipsum dolor sit amet"
}

Responses

Status Meaning Description Schema
200 OK Successful operation wellbeingcentre_favourites_item
403 Forbidden Invalid request. standardModel

Authentication

Authentication Service

Retrieves login form fields and initialises the login form

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/login', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/login HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/login \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/login',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/login

Retrieves login form fields and initialises the login form

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Login form for given scheme provided LoginForm
400 Bad Request Invalid scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Username and password login is disabled for this scheme None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Processes login form data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/login/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/login/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/login/{formUuid} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "Username": "user@example.com",
  "Password": "password",
  "sExtendedCookie": "0"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/login/{formUuid}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/login/{formUuid}

Processes login form data

Body parameter

Username: user@example.com
Password: password
sExtendedCookie: "0"

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
formUuid path string true Unique identifier of the form
body body object true Username and password required for login
» Username body string false Email address of the user
» Password body string false Plain-text password of the user
» sExtendedCookie body string false If available, enable extended session for user

Example responses

200 Response

{
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  }
}

Responses

Status Meaning Description Schema
200 OK User authenticated successfully AuthCode
400 Bad Request Invalid scheme UUID provided; Invalid form data submitted None
403 Forbidden Scheme temporary unavailable; Scheme closed; Username and password login is disabled for this scheme None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit None
500 Internal Server Error Scheme not fully configured None

Fetch receovery forms based on the member knowing what email address was used for registration

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/email', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/email HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/email \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/email',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/recover/email

Fetch receovery forms based on the member knowing what email address was used for registration

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK One of the different possible variations of the recovery form RecoveryForm
400 Bad Request Invalid Scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Recovery process for this scheme is forbidden None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Fetch the form for emailing the member reset password instructions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}

Fetch the form for emailing the member reset password instructions

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
memberUuid path string true Unique identifier of the member

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A form for emailing reset password instructions SimpleForm
400 Bad Request No member found with provided UUID; Invalid Scheme UUID provided; Fetched member does not belong to scheme None
403 Forbidden Scheme temporary unavailable; Scheme closed; Recovery process for this scheme is forbidden None
404 Not Found Scheme UUID does not exist None
500 Internal Server Error Scheme not fully configured None

Fetch receovery forms based on the member knowing the registration credentials

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/registration-criteria', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/registration-criteria HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/registration-criteria \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/registration-criteria',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/recover/registration-criteria

Fetch receovery forms based on the member knowing the registration credentials

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK One of the different possible variations of the recovery form RecoveryForm
400 Bad Request Invalid Scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Recovery process for this scheme is forbidden; Registration criteria recovery for this scheme is forbidden None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Process the submitted form for emailing the member reset password instructions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}/{formUuid} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}/{formUuid}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/recover/send-instructions/{memberUuid}/{formUuid}

Process the submitted form for emailing the member reset password instructions

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
memberUuid path string true Unique identifier of the member
formUuid path string true Unique identifier of the form

Example responses

200 Response

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

Responses

Status Meaning Description Schema
200 OK A password reset guide has been successfully sent FormSuccess
400 Bad Request No member found with provided UUID; Invalid Scheme UUID provided; Invalid Form UUID provided; Fetched member does not belong to scheme None
403 Forbidden Scheme temporary unavailable; Scheme closed; Recovery process for this scheme is forbidden None
404 Not Found Scheme UUID does not exist None
409 Conflict Form already submitted for process or took too long to submit None
500 Internal Server Error Scheme not fully configured None

Process all recovery forms that are submitted

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/{formUuid} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/{formUuid}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/recover/{formUuid}

Process all recovery forms that are submitted

Body parameter

{}

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
formUuid path string true Unique identifier of the form

Example responses

200 Response

{
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false,
    "form": {
      "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
      "title": "<strong class='title'>Sign In</strong>",
      "description": "<span class='subtitle'>Welcome!</span>",
      "globalFormError": {
        "title": "Invalid form",
        "message": "Invalid data submited"
      },
      "enableCaptcha": true,
      "nextAction": {
        "method": "POST",
        "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
        "redirect": false
      },
      "formFieldSections": [
        {
          "group": true,
          "type": "date",
          "label": "Date of Birth",
          "fields": [
            {
              "id": "sFirstName",
              "type": "text",
              "label": "First Name",
              "description": "Please enter your first name",
              "isHidden": false,
              "isXhrCallback": true,
              "isRequired": true,
              "options": {},
              "attributes": {},
              "value": "string",
              "errors": [
                "string"
              ]
            }
          ],
          "errors": [
            "string"
          ]
        }
      ]
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Next step of the recovery process NextRecoveryForm
400 Bad Request Invalid Scheme UUID provided; Invalid form data submitted; Invalid member UUID used for recovery process None
403 Forbidden Scheme temporary unavailable; Scheme closed; Recovery process for this scheme is forbidden; Used incorrect scheme UUID; Member account locked due to too many failed attempts; Member account already locked, can't use recovery process; Registration criteria recovery for this scheme is forbidden None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit; Recovery process started for unknown member; None
500 Internal Server Error Scheme not fully configured None

Resend the verification code durring the recovery process

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/resend-verification-code/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/resend-verification-code/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/resend-verification-code/{formUuid} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/recover/resend-verification-code/{formUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/recover/resend-verification-code/{formUuid}

Resend the verification code durring the recovery process

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
formUuid path string true Unique identifier of the form

Example responses

200 Response

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

Responses

Status Meaning Description Schema
200 OK Verification code resent successfully FormSuccess
400 Bad Request Invalid Scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Recovery process for this scheme is forbidden; Incorrect step in recovery process, cannot resend verification code; Member account locked due to too many failed attempts; Member account already locked, can't resend verificaiton code; Your session has timed out due to inactivity. Please refresh the page and try again. None
404 Not Found Scheme UUID can't be found None
409 Conflict Unknown member, cannot resend verificaiton code; None
429 Too Many Requests Resend requested too many times, a cooldown period is in place None
500 Internal Server Error Scheme not fully configured None

Fetch the registration form fields for default registration to the discount site

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/registration

Fetch the registration form fields for default registration to the discount site

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Registration form for given scheme provided RegistrationForm
400 Bad Request Invalid Scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Registration for this scheme is forbidden None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Retrieves access request form fields and initialises the request form

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/request', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/request HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/request \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/request',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/request

Retrieves access request form fields and initialises the request form

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Request form for given scheme provided RegistrationForm
400 Bad Request Invalid Scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Access requests are not allowed for this programme None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Fetch the registration form fields for social registration to the discount site

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/registration/social

Fetch the registration form fields for social registration to the discount site

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Social registration form for given scheme provided RegistrationForm
400 Bad Request Invalid Scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Registration for this scheme is forbidden None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Process a form data for registering a new member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/{formUuid} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/{formUuid}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/registration/{formUuid}

Process a form data for registering a new member

Body parameter

{}

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
formUuid path string true Unique identifier of the form

Example responses

200 Response

{
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  }
}

Responses

Status Meaning Description Schema
200 OK User was successfully registered AuthCode
201 Created Access request was sent successfully FormSuccess
400 Bad Request Invalid Scheme UUID provided; Invalid form data submitted None
403 Forbidden Scheme temporary unavailable; Scheme closed; Registration for this scheme is forbidden None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit None
500 Internal Server Error Scheme not fully configured; Failed to register the member None

Processes request form data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/request/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/request/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/request/{formUuid} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/request/{formUuid}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/request/{formUuid}

Processes request form data

Body parameter

{}

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
formUuid path string true Unique identifier of the form

Example responses

201 Response

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

Responses

Status Meaning Description Schema
201 Created Access request was sent successfully FormSuccess
400 Bad Request Invalid Scheme UUID provided; Invalid form data submitted None
403 Forbidden Scheme temporary unavailable; Scheme closed; Access requests are not allowed None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit None
500 Internal Server Error Scheme not fully configured; Failed to request registration None

Process a form data for social registration

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/{formUuid}?idp=1 HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/{formUuid}?idp=1 \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/{formUuid}?idp=1',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/registration/social/{formUuid}

Process a form data for social registration

Body parameter

{}

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
formUuid path string true Unique identifier of the form
idp query integer true The identifier of a Social Identity Provider. The ID can be obtained from endpoint /v3/schemes/{schemeUuid}/auth/providers

Example responses

200 Response

{
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false,
    "form": {
      "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
      "title": "<strong class='title'>Sign In</strong>",
      "description": "<span class='subtitle'>Welcome!</span>",
      "globalFormError": {
        "title": "Invalid form",
        "message": "Invalid data submited"
      },
      "enableCaptcha": true,
      "nextAction": {
        "method": "POST",
        "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
        "redirect": false
      },
      "formFieldSections": [
        {
          "group": true,
          "type": "date",
          "label": "Date of Birth",
          "fields": [
            {
              "id": "sFirstName",
              "type": "text",
              "label": "First Name",
              "description": "Please enter your first name",
              "isHidden": false,
              "isXhrCallback": true,
              "isRequired": true,
              "options": {},
              "attributes": {},
              "value": "string",
              "errors": [
                "string"
              ]
            }
          ],
          "errors": [
            "string"
          ]
        }
      ]
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Social registration was successfully processed NextSocialRegistrationForm
400 Bad Request Invalid Scheme UUID provided; Invalid form data submitted; Invalid Social Identity Provider None
403 Forbidden Scheme temporary unavailable; Scheme closed; None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit None
500 Internal Server Error Scheme not fully configured; Failed to process social registration None

Resend the confirmation email for linking a social account

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'X-RG-Simple-API-Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/resend-email/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/resend-email/{formUuid}?idp=1 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/resend-email/{formUuid}?idp=1 \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'X-RG-Simple-API-Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'X-RG-Simple-API-Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/registration/social/resend-email/{formUuid}?idp=1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/registration/social/resend-email/{formUuid}

Resend the confirmation email for linking a social account

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
X-RG-Simple-API-Authorization header string true Authorization Header with secret
schemeUuid path string true Unique identifier of the scheme
formUuid path string true Unique identifier of the form
idp query integer true The identifier of a Social Identity Provider. The ID can be obtained from endpoint /v3/schemes/{schemeUuid}/auth/providers

Example responses

200 Response

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

Responses

Status Meaning Description Schema
200 OK Confirmation email sent successfully FormSuccess
400 Bad Request Invalid Scheme UUID provided; Invalid Social Identity Provider None
403 Forbidden Scheme temporary unavailable; Scheme closed; Invalid form step None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit; Unknown member, cannot resend verificaiton code; None
429 Too Many Requests Resend requested too many times, a cooldown period is in place None
500 Internal Server Error Scheme not fully configured None

Retrieves update member form fields and initialises the update form

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/update-member-password

Retrieves update member form fields and initialises the update form

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
schemeUuid path string true Unique identifier of the scheme
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Update form for given scheme provided MemberPasswordUpdateForm
400 Bad Request Invalid scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Password update is disabled for this scheme None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Retrieves forgotten password form fields

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/forgotten-password', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/forgotten-password HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/forgotten-password \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/forgotten-password',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/update-member-password/forgotten-password

Retrieves forgotten password form fields

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
schemeUuid path string true Unique identifier of the scheme
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Forgotten password form for given scheme provided MemberPasswordUpdateForm
400 Bad Request Invalid scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Password update is disabled for this scheme None
404 Not Found Scheme UUID can't be found None
500 Internal Server Error Scheme not fully configured None

Processes update member form data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/{formUuid} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "current_password": "password",
  "new_password": "password",
  "repeat_new_password": "password"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/{formUuid}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/update-member-password/{formUuid}

Processes update member form data

Body parameter

current_password: password
new_password: password
repeat_new_password: password

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
schemeUuid path string true Unique identifier of the scheme
Authorization header string true Authorization Header with Bearer Token
formUuid path string true Unique identifier of the form
body body object true Current password, new password and confirm new password are required for update member
» current_password body string false Current password of member
» new_password body string false New password of member
» repeat_new_password body string false Confirm new password of member

Example responses

200 Response

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

Responses

Status Meaning Description Schema
200 OK Member password has been changed successfully FormSuccess
400 Bad Request Invalid scheme UUID provided; Invalid form data submitted None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit None
500 Internal Server Error Scheme not fully configured None

Processes forgotten password update member form data

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/verified-form/{formUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/verified-form/{formUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/verified-form/{formUuid} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "verification_code": "967057",
  "new_password": "password",
  "repeat_new_password": "password"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/verified-form/{formUuid}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/form/update-member-password/verified-form/{formUuid}

Processes forgotten password update member form data

Body parameter

verification_code: "967057"
new_password: password
repeat_new_password: password

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
schemeUuid path string true Unique identifier of the scheme
Authorization header string true Authorization Header with Bearer Token
formUuid path string true Unique identifier of the form
body body object true New password and confirm new password are required for update member
» verification_code body string false Verification code
» new_password body string false New password of member
» repeat_new_password body string false Confirm new password of member

Example responses

200 Response

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

Responses

Status Meaning Description Schema
200 OK Member password has been changed successfully FormSuccess
400 Bad Request Invalid scheme UUID provided; Invalid form data submitted None
404 Not Found Scheme UUID can't be found None
409 Conflict Form already submitted for process or took too long to submit None
500 Internal Server Error Scheme not fully configured None

Resend the verification code

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Accept-Language' => 'en_GB',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/resend-email-verification', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/resend-email-verification HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Accept-Language: en_GB
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/resend-email-verification \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Accept-Language: en_GB' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Accept-Language':'en_GB',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/form/update-member-password/resend-email-verification',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/form/update-member-password/resend-email-verification

Resend the verification code

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Accept-Language header string false Accept-Language Header with the preferred languages of the user
schemeUuid path string true Unique identifier of the scheme
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

Responses

Status Meaning Description Schema
200 OK Verification code resent successfully FormSuccess
400 Bad Request Invalid Scheme UUID provided None
403 Forbidden Scheme temporary unavailable; Scheme closed; Update member password process for this scheme is forbidden; None
404 Not Found Scheme UUID can't be found None
429 Too Many Requests Resend requested too many times, a cooldown period is in place None
500 Internal Server Error Scheme not fully configured None

Fetch programme's branding configuration entity

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'If-None-Match' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/{languageCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/{languageCode} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
If-None-Match: string

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/{languageCode} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'If-None-Match: string'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'If-None-Match':'string'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/{languageCode}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/auth/branding/{languageCode}

Fetch programme's branding configuration entity

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the programme
languageCode path string true Language code for the programme
If-None-Match header string false ETag version of the response

Example responses

200 Response

{
  "schemeId": 123,
  "showPayrollImage": false,
  "payrollImageText": "<strong class='title'>Looks like this is your first time signing in</strong>",
  "configureGetAccessText": "<strong class='title'>Get access</strong>",
  "signInText": "<strong class='title'>Sign In</strong>",
  "forgotYourPasswordText": "<strong class='title'>FORGOT YOUR PASSWORD?</strong>",
  "signInFirstTimeText": "If it’s your first time",
  "changeYourEmailAddressText": "<strong class='title'>CHANGE YOUR EMAIL ADDRESS</strong>",
  "successMessageText": "<span class='subtitle'>Thanks for registering!</span>",
  "requestAccessMessageText": "<span class='subtitle'>Thank you for requesting access to Example Site.</span>",
  "connectAccountsMessageText": "<strong class='title'>Connect your accounts</strong>",
  "finalStepTitleText": "<strong class='title'>Final Step</strong>",
  "finalStepRegisteringText": "<span class='subtitle'>By registering on this site...</span>",
  "socialOrderIds": "{'priority1':1000,'priority2':1200,'priority3':1151}",
  "registrationCompletedMessageText": "<strong class='title'>Registration Completed</strong>",
  "loginSubtitleEnabled": false,
  "loginTitleEnabled": false,
  "creatingYourAccountMessageText": "<span class='subtitle'>To make your experience...</span>",
  "isLogoTransparentBackground": false,
  "createNewPasswordMessageText": "<span class='subtitle'>Use your new password...</span>",
  "logoBackgroundColor": "ffffff",
  "loginTitle": "<p>Welcome to the Demo Site, where you can save at...</p>",
  "loginSubtitle": "<p>Benefits and savings for all</p>",
  "isDefault": false,
  "hasDarkOverlay": false,
  "backgroundImage": [
    "string"
  ],
  "brandingColours": [
    "string"
  ],
  "favIcon": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
  "homeScreenIcon": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
  "welcomeTitle": "Welcome to MySite",
  "aboutTitle": "About MySite",
  "footerLinks": [
    {
      "text": "Link",
      "link": "/path"
    }
  ],
  "selectLabel": "I speak",
  "backLabel": "Back",
  "registerToGetAccessLabel": "Register to get access"
}

Responses

Status Meaning Description Schema
200 OK Branding configuration entity Branding
304 Not Modified Response was not modified None
403 Forbidden Scheme temporary unavailable; Scheme closed None
404 Not Found Scheme UUID can't be found None

Response Headers

Status Header Type Format Description
200 ETag string ETag version of the response
304 ETag string ETag version of the response

Fetch programme's metadata entity

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'If-None-Match' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/auth/metadata/{languageCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/auth/metadata/{languageCode} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
If-None-Match: string

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/auth/metadata/{languageCode} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'If-None-Match: string'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'If-None-Match':'string'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/auth/metadata/{languageCode}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/auth/metadata/{languageCode}

Fetch programme's metadata entity

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the programme
languageCode path string true Language code for the programme
If-None-Match header string false ETag version of the response

Example responses

200 Response

{
  "preferredLanguage": "en_GB",
  "availableLanguages": [
    "string"
  ],
  "pageTitle": "Example Site | Login",
  "isSearchable": false,
  "isRegistrationAllowed": false
}

Responses

Status Meaning Description Schema
200 OK Metadata entity Metadata
304 Not Modified Response was not modified None
403 Forbidden Scheme temporary unavailable; Scheme closed None
404 Not Found Scheme UUID can't be found None

Response Headers

Status Header Type Format Description
200 ETag string ETag version of the response
304 ETag string ETag version of the response

Fetch all auth providers for a given programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'If-None-Match' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/auth/providers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/auth/providers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
If-None-Match: string

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/auth/providers \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'If-None-Match: string'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'If-None-Match':'string'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/auth/providers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/auth/providers

Fetch all auth providers for a given programme

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the scheme
If-None-Match header string false ETag version of the response

Example responses

200 Response

[
  {
    "id": 156879,
    "type": "SAML",
    "actionLabel": "Sign in with Email",
    "actionDescription": "To use this login method you must be signed up to the platform first",
    "actionType": "link",
    "actionUrl": "https://example.rewardgateway.com/Authentication/StartLogin?idp=156789",
    "actionIcon": "icon-facebook",
    "actionColor": "#000000"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation returns a list of Inline
304 Not Modified Response was not modified None
403 Forbidden Scheme temporary unavailable; Scheme closed None
404 Not Found Scheme UUID can't be found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Provider] false none [Exposes an auth provider in the application to the REST API.]
» id integer false none Unique integer to identify an auth provider
» type string false none Type of auth provider
» actionLabel string false none Label of the action provided through this auth provider
» actionDescription string false none Description of the action provided through this auth provider
» actionType string false none Defines the type of action. Can be a link or a form
» actionUrl string false none Specifies the url needed to complete the authentication using this auth provider. In the case of a form action type, this would be where the form data should be posted to.
» actionIcon string false none Icon that is associates with this auth provider. In some cases these maybe static image urls.
» actionColor string false none Preferred color to be rendered along side the auth provider actions

Response Headers

Status Header Type Format Description
200 ETag string ETag version of the response
304 ETag string ETag version of the response

Get the branding text form.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/branding/{state}/{languageCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/branding/{state}/{languageCode} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/branding/{state}/{languageCode} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/branding/{state}/{languageCode}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/branding/{state}/{languageCode}

Get the branding text form.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the scheme
state path string true The state of the page
languageCode path string true Language code for the programme

Example responses

200 Response

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Edit Branding message BrandingTextForm
403 Forbidden Scheme temporary unavailable; Scheme closed None
404 Not Found Scheme UUID does not exist. None

Update programme's auth screen branding messages

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/message/{languageCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/message/{languageCode} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/message/{languageCode} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "property1": "string",
  "property2": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/auth/branding/message/{languageCode}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /schemes/{schemeUuid}/auth/branding/message/{languageCode}

Update programme's auth screen branding messages

Body parameter

property1: string
property2: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the scheme
languageCode path string true Language code for the programme
body body object true none

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Branding message updated successfully standardModel
403 Forbidden Scheme temporary unavailable; Scheme closed None
404 Not Found Scheme UUID does not exist; Language code is not available for scheme None

Obtain an access token

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/auth/access_token', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/auth/access_token HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/auth/access_token \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "client_id": "string",
  "client_secret": "string",
  "grant_type": "string",
  "username": "string",
  "password": "string",
  "scope": "string",
  "os": "string",
  "os_version": "string",
  "device_manufacturer": "string",
  "device_model": "string",
  "app_name": "string",
  "app_version": "string",
  "device_unique_id": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/auth/access_token',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /auth/access_token

Issues an access token based on supplied credentials

Body parameter

client_id: string
client_secret: string
grant_type: string
username: string
password: string
scope: string
os: string
os_version: string
device_manufacturer: string
device_model: string
app_name: string
app_version: string
device_unique_id: string

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
body body object true none
» client_id body string false Client Id
» client_secret body string false Client Secret
» grant_type body string false Grant type
» username body string false Email address of the member
» password body string false Password of the member
» scope body string false OAuth scope
» os body string false Client OS
» os_version body string false Client OS version
» device_manufacturer body string false Client device manufacturer
» device_model body string false Client device model
» app_name body string false Client app name
» app_version body string false Client app version
» device_unique_id body string false Device Unique ID

Example responses

200 Response

{
  "token_type": null,
  "expires_in": null,
  "access_token": null,
  "refresh_token": null
}

Responses

Status Meaning Description Schema
200 OK Successful operation authResponse
401 Unauthorized Invalid credentials standardModel

Logs the member out

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/auth/logout', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/auth/logout HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/auth/logout \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/auth/logout',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /auth/logout

Logs the member out

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

401 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
204 No Content Successful operation None
401 Unauthorized Access has been denied standardModel

Issues an authorization code

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/auth/authorize_code', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/auth/authorize_code?client_id=Example&scope=client&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A80&state=test HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/auth/authorize_code?client_id=Example&scope=client&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A80&state=test \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "username": "string",
  "password": "string",
  "grant_type": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/auth/authorize_code?client_id=Example&scope=client&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A80&state=test',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /auth/authorize_code

Issues an authorization code

Body parameter

username: string
password: string
grant_type: string

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
client_id query string true Client Id
scope query string true Scope
response_type query string true Response Type should always be code
redirect_uri query string true Redirect uri
state query string true State
body body object false none
» username body string true Username
» password body string true Password
» grant_type body string true Grant Type

Example responses

200 Response

{
  "redirect_uri": null
}

Responses

Status Meaning Description Schema
200 OK Successful operation authCodeResponse
400 Bad Request Invalid request standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Invalid Credentials. Please try again. standardModel

Simple test on token validity

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/auth/is_logged_in', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/auth/is_logged_in HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/auth/is_logged_in \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/auth/is_logged_in',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /auth/is_logged_in

Returns 200 OK if still logged in

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Logged in standardModel
403 Forbidden Not logged in standardModel

Returns API keys for jwks_uri

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/auth/jwks', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/auth/jwks HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/auth/jwks \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/auth/jwks',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /auth/jwks

Get JWKs

Example responses

200 Response

{
  "keys": [
    {
      "alg": "RS256",
      "kty": "RSA",
      "use": "sig",
      "n": "string",
      "e": "AQAB",
      "kid": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Returns API keys for jwks_uri JwkSet

Categories

Categories Service

Retailer category details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/category/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/category/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/category/{categoryId} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/category/{categoryId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /category/{categoryId}

Returns retailer category details from an identifier

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
categoryId path integer true Identifier of the category

Example responses

200 Response

{
  "_links": {
    "self": {
      "href": null
    },
    "hierarchy": {
      "href": "/category/{categoryId}/hierarchy"
    }
  },
  "id": 123,
  "name": "Reloadable cards",
  "retailerCount": 45,
  "isFavourite": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation cat
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Retailer category not found standardModel

Toggle retailer category favourite

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/category/{categoryId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/category/{categoryId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/category/{categoryId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "isFavourite": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/category/{categoryId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /category/{categoryId}

Toggles retailer category favourite status from an id

Body parameter

{
  "isFavourite": true
}

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
categoryId path integer true Identifier of the category
body body object false none
» isFavourite body boolean true none

Example responses

200 Response

{
  "_links": {
    "self": {
      "href": null
    },
    "hierarchy": {
      "href": "/category/{categoryId}/hierarchy"
    }
  },
  "id": 123,
  "name": "Reloadable cards",
  "retailerCount": 45,
  "isFavourite": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation cat
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Retailer category not found standardModel

Retailer category hierarchy

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/category/{categoryId}/hierarchy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/category/{categoryId}/hierarchy HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/category/{categoryId}/hierarchy \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/category/{categoryId}/hierarchy',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /category/{categoryId}/hierarchy

Returns retailer category hierarchy from an identifier

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
categoryId path integer true Identifier of the category

Example responses

200 Response

{
  "category": {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  },
  "parent": {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  },
  "children": [
    {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation categoryHierarchy
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Retailer category not found standardModel

Get favourited categories by the logged in user

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/categories/favourites', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/categories/favourites HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/categories/favourites \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/categories/favourites',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /categories/favourites

Get favourited categories by the logged in user

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

[
  {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [cat] false none [Class Category]
» _links object false none none
»» self object false none none
»»» href any false none none
»» hierarchy object false none none
»»» href string false none Endpoint to retrieve category hierarchy
» id integer(int32) true none Category identifier
» name string true none Category name
» retailerCount integer(int32) true none Category retailer count
» isFavourite boolean(boolean) true none Category favourite

Curated

Curated Retailer Lists

Our picks

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/curated/our-picks', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/curated/our-picks HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/curated/our-picks \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/curated/our-picks',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /curated/our-picks

Returns 'Our picks' curated list of retailers

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
page query integer false Page number for paginated collections
limit query integer false Number of items per page for paginated collections

Example responses

200 Response

{
  "page": 1,
  "limit": 20,
  "pages": 10,
  "total": 200,
  "title": "Our Picks",
  "_links": {
    "self": {
      "href": "/curated/our-picks?page=5&limit=20"
    },
    "first": {
      "href": "/curated/our-picks?page=1&limit=20"
    },
    "last": {
      "href": "/curated/our-picks?page=10&limit=20"
    },
    "next": {
      "href": "/curated/our-picks?page=6&limit=20"
    },
    "previous": {
      "href": "/curated/our-picks?page=4&limit=20"
    }
  },
  "_embedded": {
    "retailers": [
      {
        "retailer": {
          "id": 1234,
          "name": "Acme",
          "logo": "https://www.acme.com/path/to/image.jpg",
          "description": "Retailer description for Acme",
          "isFavourite": true,
          "isFeatured": true,
          "category": {
            "_links": {
              "self": {
                "href": null
              },
              "hierarchy": {
                "href": "/category/{categoryId}/hierarchy"
              }
            },
            "id": 123,
            "name": "Reloadable cards",
            "retailerCount": 45,
            "isFavourite": true
          }
        },
        "bestOffer": {
          "id": 9999,
          "typeId": 9999,
          "type": "Cashback",
          "description": "Description for this offer",
          "keyInformation": "Key information for this offer",
          "howItWorks": "Details on how this offer works",
          "termsAndConditions": "Terms & conditions of this offer",
          "expiryDate": "2019-08-24T14:15:22Z",
          "specialOffer": true,
          "redeemableOnDesktop": true,
          "redeemableOnMobile": true,
          "discount": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          },
          "normally": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» page integer(int32) true none none
» limit integer(int32) true none none
» pages integer(int32) true none none
» total integer(int32) true none none
» title string true none none
» _links object false none none
»» self object false none none
»»» href string false none Endpoint to access the current page of results
»» first object false none none
»»» href string false none Endpoint to access the first page of results
»» last object false none none
»»» href string false none Endpoint to access the last page of results
»» next object false none none
»»» href string false none Endpoint to access the next page of results
»» previous object false none none
»»» href string false none Endpoint to access the previous page of results
» _embedded object true none none
»» retailers [retailerDetails] false none [Class Retailer]
»»» retailer retailer true none Class Retailer
»»»» id integer(int32) true none Retailer identifier
»»»» name string true none Retailer's name
»»»» logo string true none Retailer's logo (URL)
»»»» description string true none Retailer's description
»»»» isFavourite boolean true none Is retailer favourited
»»»» isFeatured boolean true none Is retailer featured
»»»» category cat false none Class Category
»»»»» _links object false none none
»»»»»» self object false none none
»»»»»»» href any false none none
»»»»»» hierarchy object false none none
»»»»»»» href string false none Endpoint to retrieve category hierarchy
»»»»» id integer(int32) true none Category identifier
»»»»» name string true none Category name
»»»»» retailerCount integer(int32) true none Category retailer count
»»»»» isFavourite boolean(boolean) true none Category favourite
»»» bestOffer offer true none Class Offer
»»»» id integer(int32) true none Offer identifier
»»»» typeId integer(int32) true none Type id of the offer
»»»» type string true none Type of the offer
»»»» description string true none Offer's description
»»»» keyInformation string true none Offer's key information
»»»» howItWorks string true none How the offer works
»»»» termsAndConditions string true none Offer's terms and conditions
»»»» expiryDate string(date-time) true none Offer's expiry date
»»»» specialOffer boolean true none Is this a special offer?
»»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»»» discount discount true none Class Discount
»»»»» saving string true none Discount savings
»»»»» description string true none Discount description
»»»»» useableInStore boolean true none Discount can be used in-store
»»»»» useableOnline boolean true none Discount can be used online
»»»»» startsOn string(date-time) true none Discount is valid from
»»»»» endsOn string(date-time) true none Discount is valid until
»»»» normally discount false none Class Discount

This week is all about

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/curated/this-week', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/curated/this-week HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/curated/this-week \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/curated/this-week',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /curated/this-week

Returns 'This week is all about' curated list of retailers

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
page query integer false Page number for paginated collections
limit query integer false Number of items per page for paginated collections

Example responses

200 Response

{
  "page": 1,
  "limit": 20,
  "pages": 10,
  "total": 200,
  "title": "This week is all about",
  "_links": {
    "self": {
      "href": "/curated/this-week?page=5&limit=20"
    },
    "first": {
      "href": "/curated/this-week?page=1&limit=20"
    },
    "last": {
      "href": "/curated/this-week?page=10&limit=20"
    },
    "next": {
      "href": "/curated/this-week?page=6&limit=20"
    },
    "previous": {
      "href": "/curated/this-week?page=4&limit=20"
    }
  },
  "_embedded": {
    "retailers": [
      {
        "retailer": {
          "id": 1234,
          "name": "Acme",
          "logo": "https://www.acme.com/path/to/image.jpg",
          "description": "Retailer description for Acme",
          "isFavourite": true,
          "isFeatured": true,
          "category": {
            "_links": {
              "self": {
                "href": null
              },
              "hierarchy": {
                "href": "/category/{categoryId}/hierarchy"
              }
            },
            "id": 123,
            "name": "Reloadable cards",
            "retailerCount": 45,
            "isFavourite": true
          }
        },
        "bestOffer": {
          "id": 9999,
          "typeId": 9999,
          "type": "Cashback",
          "description": "Description for this offer",
          "keyInformation": "Key information for this offer",
          "howItWorks": "Details on how this offer works",
          "termsAndConditions": "Terms & conditions of this offer",
          "expiryDate": "2019-08-24T14:15:22Z",
          "specialOffer": true,
          "redeemableOnDesktop": true,
          "redeemableOnMobile": true,
          "discount": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          },
          "normally": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» page integer(int32) true none none
» limit integer(int32) true none none
» pages integer(int32) true none none
» total integer(int32) true none none
» title string true none none
» _links object false none none
»» self object false none none
»»» href string false none Endpoint to access the current page of results
»» first object false none none
»»» href string false none Endpoint to access the first page of results
»» last object false none none
»»» href string false none Endpoint to access the last page of results
»» next object false none none
»»» href string false none Endpoint to access the next page of results
»» previous object false none none
»»» href string false none Endpoint to access the previous page of results
» _embedded object true none none
»» retailers [retailerDetails] false none [Class Retailer]
»»» retailer retailer true none Class Retailer
»»»» id integer(int32) true none Retailer identifier
»»»» name string true none Retailer's name
»»»» logo string true none Retailer's logo (URL)
»»»» description string true none Retailer's description
»»»» isFavourite boolean true none Is retailer favourited
»»»» isFeatured boolean true none Is retailer featured
»»»» category cat false none Class Category
»»»»» _links object false none none
»»»»»» self object false none none
»»»»»»» href any false none none
»»»»»» hierarchy object false none none
»»»»»»» href string false none Endpoint to retrieve category hierarchy
»»»»» id integer(int32) true none Category identifier
»»»»» name string true none Category name
»»»»» retailerCount integer(int32) true none Category retailer count
»»»»» isFavourite boolean(boolean) true none Category favourite
»»» bestOffer offer true none Class Offer
»»»» id integer(int32) true none Offer identifier
»»»» typeId integer(int32) true none Type id of the offer
»»»» type string true none Type of the offer
»»»» description string true none Offer's description
»»»» keyInformation string true none Offer's key information
»»»» howItWorks string true none How the offer works
»»»» termsAndConditions string true none Offer's terms and conditions
»»»» expiryDate string(date-time) true none Offer's expiry date
»»»» specialOffer boolean true none Is this a special offer?
»»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»»» discount discount true none Class Discount
»»»»» saving string true none Discount savings
»»»»» description string true none Discount description
»»»»» useableInStore boolean true none Discount can be used in-store
»»»»» useableOnline boolean true none Discount can be used online
»»»»» startsOn string(date-time) true none Discount is valid from
»»»»» endsOn string(date-time) true none Discount is valid until
»»»» normally discount false none Class Discount

Retailers

Reward Gateway Retailers

Offer details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/offer/{offerId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/offer/{offerId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/offer/{offerId} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/offer/{offerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /offer/{offerId}

Returns offer details from an identifier

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
offerId path integer true Identifier of the offer

Example responses

200 Response

{
  "id": 9999,
  "typeId": 9999,
  "type": "Cashback",
  "description": "Description for this offer",
  "keyInformation": "Key information for this offer",
  "howItWorks": "Details on how this offer works",
  "termsAndConditions": "Terms & conditions of this offer",
  "expiryDate": "2019-08-24T14:15:22Z",
  "specialOffer": true,
  "redeemableOnDesktop": true,
  "redeemableOnMobile": true,
  "discount": {
    "saving": "Earn 3%",
    "description": "on all offers",
    "useableInStore": true,
    "useableOnline": true,
    "startsOn": "2019-08-24T14:15:22Z",
    "endsOn": "2019-08-24T14:15:22Z"
  },
  "normally": {
    "saving": "Earn 3%",
    "description": "on all offers",
    "useableInStore": true,
    "useableOnline": true,
    "startsOn": "2019-08-24T14:15:22Z",
    "endsOn": "2019-08-24T14:15:22Z"
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation offer
401 Unauthorized Access token expired standardModel
403 Forbidden Offer not available standardModel
404 Not Found Offer not found standardModel

List retailers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailers \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailers

Returns list of retailers

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
category query string false Comma-separated list of category IDs to filter the retailers
type query string false Comma-separated list of offer types to filter the retailers. Set to 'all', or combination of 'cashback', 'easysaver', 'egiftcard', 'evoucher', 'instant', 'instore', 'online', 'telephone', 'topup'
page query integer false Page number for paginated collections
limit query integer false Number of items per page for paginated collections

Example responses

200 Response

{
  "page": 1,
  "limit": 20,
  "pages": 10,
  "total": 200,
  "title": null,
  "_links": {
    "self": {},
    "first": {
      "href": "/retailers?page=1&limit=20"
    },
    "last": {
      "href": "/retailers?page=10&limit=20"
    },
    "next": {
      "href": "/retailers?page=6&limit=20"
    },
    "previous": {
      "href": "/retailers?page=4&limit=20"
    }
  },
  "_embedded": {
    "retailers": [
      {
        "retailer": {
          "id": 1234,
          "name": "Acme",
          "logo": "https://www.acme.com/path/to/image.jpg",
          "description": "Retailer description for Acme",
          "isFavourite": true,
          "isFeatured": true,
          "category": {
            "_links": {
              "self": {
                "href": null
              },
              "hierarchy": {
                "href": "/category/{categoryId}/hierarchy"
              }
            },
            "id": 123,
            "name": "Reloadable cards",
            "retailerCount": 45,
            "isFavourite": true
          }
        },
        "bestOffer": {
          "id": 9999,
          "typeId": 9999,
          "type": "Cashback",
          "description": "Description for this offer",
          "keyInformation": "Key information for this offer",
          "howItWorks": "Details on how this offer works",
          "termsAndConditions": "Terms & conditions of this offer",
          "expiryDate": "2019-08-24T14:15:22Z",
          "specialOffer": true,
          "redeemableOnDesktop": true,
          "redeemableOnMobile": true,
          "discount": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          },
          "normally": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Unrecognized value passed via parameters standardModel
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» page integer(int32) true none none
» limit integer(int32) true none none
» pages integer(int32) true none none
» total integer(int32) true none none
» title any true none none
» _links object false none none
»» self object false none none
»» first object false none none
»»» href string false none Endpoint to access the first page of results
»» last object false none none
»»» href string false none Endpoint to access the last page of results
»» next object false none none
»»» href string false none Endpoint to access the next page of results
»» previous object false none none
»»» href string false none Endpoint to access the previous page of results
» _embedded object true none none
»» retailers [retailerDetails] false none [Class Retailer]
»»» retailer retailer true none Class Retailer
»»»» id integer(int32) true none Retailer identifier
»»»» name string true none Retailer's name
»»»» logo string true none Retailer's logo (URL)
»»»» description string true none Retailer's description
»»»» isFavourite boolean true none Is retailer favourited
»»»» isFeatured boolean true none Is retailer featured
»»»» category cat false none Class Category
»»»»» _links object false none none
»»»»»» self object false none none
»»»»»»» href any false none none
»»»»»» hierarchy object false none none
»»»»»»» href string false none Endpoint to retrieve category hierarchy
»»»»» id integer(int32) true none Category identifier
»»»»» name string true none Category name
»»»»» retailerCount integer(int32) true none Category retailer count
»»»»» isFavourite boolean(boolean) true none Category favourite
»»» bestOffer offer true none Class Offer
»»»» id integer(int32) true none Offer identifier
»»»» typeId integer(int32) true none Type id of the offer
»»»» type string true none Type of the offer
»»»» description string true none Offer's description
»»»» keyInformation string true none Offer's key information
»»»» howItWorks string true none How the offer works
»»»» termsAndConditions string true none Offer's terms and conditions
»»»» expiryDate string(date-time) true none Offer's expiry date
»»»» specialOffer boolean true none Is this a special offer?
»»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»»» discount discount true none Class Discount
»»»»» saving string true none Discount savings
»»»»» description string true none Discount description
»»»»» useableInStore boolean true none Discount can be used in-store
»»»»» useableOnline boolean true none Discount can be used online
»»»»» startsOn string(date-time) true none Discount is valid from
»»»»» endsOn string(date-time) true none Discount is valid until
»»»» normally discount false none Class Discount

New Retailers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailers/new', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailers/new HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailers/new \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailers/new',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailers/new

Returns list of new retailers

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

[
  {
    "retailer": {
      "id": 1234,
      "name": "Acme",
      "logo": "https://www.acme.com/path/to/image.jpg",
      "description": "Retailer description for Acme",
      "isFavourite": true,
      "isFeatured": true,
      "category": {
        "_links": {
          "self": {
            "href": null
          },
          "hierarchy": {
            "href": "/category/{categoryId}/hierarchy"
          }
        },
        "id": 123,
        "name": "Reloadable cards",
        "retailerCount": 45,
        "isFavourite": true
      }
    },
    "bestOffer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [retailerDetails] false none [Class Retailer]
» retailer retailer true none Class Retailer
»» id integer(int32) true none Retailer identifier
»» name string true none Retailer's name
»» logo string true none Retailer's logo (URL)
»» description string true none Retailer's description
»» isFavourite boolean true none Is retailer favourited
»» isFeatured boolean true none Is retailer featured
»» category cat false none Class Category
»»» _links object false none none
»»»» self object false none none
»»»»» href any false none none
»»»» hierarchy object false none none
»»»»» href string false none Endpoint to retrieve category hierarchy
»»» id integer(int32) true none Category identifier
»»» name string true none Category name
»»» retailerCount integer(int32) true none Category retailer count
»»» isFavourite boolean(boolean) true none Category favourite
» bestOffer offer true none Class Offer
»» id integer(int32) true none Offer identifier
»» typeId integer(int32) true none Type id of the offer
»» type string true none Type of the offer
»» description string true none Offer's description
»» keyInformation string true none Offer's key information
»» howItWorks string true none How the offer works
»» termsAndConditions string true none Offer's terms and conditions
»» expiryDate string(date-time) true none Offer's expiry date
»» specialOffer boolean true none Is this a special offer?
»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»» discount discount true none Class Discount
»»» saving string true none Discount savings
»»» description string true none Discount description
»»» useableInStore boolean true none Discount can be used in-store
»»» useableOnline boolean true none Discount can be used online
»»» startsOn string(date-time) true none Discount is valid from
»»» endsOn string(date-time) true none Discount is valid until
»» normally discount false none Class Discount

Search retailers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailers/search', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailers/search?query=amazon HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailers/search?query=amazon \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailers/search?query=amazon',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailers/search

Returns list of retailers matching the query provided

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
page query integer false Page number for paginated collections
limit query integer false Number of items per page for paginated collections
query query string true Search query to match

Example responses

200 Response

{
  "page": 1,
  "limit": 20,
  "pages": 10,
  "total": 200,
  "title": null,
  "_links": {
    "self": {
      "href": "/retailers?page=5&limit=20"
    },
    "first": {
      "href": "/retailers?page=1&limit=20"
    },
    "last": {
      "href": "/retailers?page=10&limit=20"
    },
    "next": {
      "href": "/retailers?page=6&limit=20"
    },
    "previous": {
      "href": "/retailers?page=4&limit=20"
    }
  },
  "_embedded": {
    "results": [
      {
        "retailer": null,
        "bestRate": "Earn 5%",
        "mainCategory": "Reloadable cards"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid search term standardModel
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» page integer(int32) true none none
» limit integer(int32) true none none
» pages integer(int32) true none none
» total integer(int32) true none none
» title any true none none
» _links object false none none
»» self object false none none
»»» href string false none Endpoint to access the current page of results
»» first object false none none
»»» href string false none Endpoint to access the first page of results
»» last object false none none
»»» href string false none Endpoint to access the last page of results
»» next object false none none
»»» href string false none Endpoint to access the next page of results
»» previous object false none none
»»» href string false none Endpoint to access the previous page of results
» _embedded object true none none
»» results [searchResult] false none [Class SearchResult]
»»» Search Result searchResult false none Class SearchResult
»»»» retailer any true none Retailer
»»»» bestRate string true none Retailer's best offer
»»»» mainCategory string true none Retailer's main category

Retailer details

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/{retailerId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/{retailerId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/{retailerId} \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailer/{retailerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/{retailerId}

Returns retailer details from an identifier

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
retailerId path integer true Identifier of the retailer

Example responses

200 Response

{
  "id": 1234,
  "name": "Acme",
  "logo": "https://www.acme.com/path/to/image.jpg",
  "description": "Retailer description for Acme",
  "isFavourite": true,
  "isFeatured": true,
  "category": {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation retailer
401 Unauthorized Access token expired standardModel
403 Forbidden Retailer not available standardModel
404 Not Found Retailer not found standardModel

Set Retailer's favourite status

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/retailer/{retailerId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/retailer/{retailerId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/retailer/{retailerId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "isFavourite": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailer/{retailerId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /retailer/{retailerId}

Sets or unsets retailer as favourite using an identifier

Body parameter

{
  "isFavourite": true
}

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
retailerId path integer true Identifier of the retailer
body body object false none
» isFavourite body boolean true none

Example responses

200 Response

{
  "id": 1234,
  "name": "Acme",
  "logo": "https://www.acme.com/path/to/image.jpg",
  "description": "Retailer description for Acme",
  "isFavourite": true,
  "isFeatured": true,
  "category": {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation retailer
400 Bad Request Request body does not contain valid data standardModel
401 Unauthorized Access token expired standardModel
403 Forbidden Retailer not available standardModel
404 Not Found Retailer not found standardModel

Similar retailers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/{retailerId}/similar', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/{retailerId}/similar HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/{retailerId}/similar \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailer/{retailerId}/similar',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/{retailerId}/similar

Returns similar retailers to a specified retailer

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
retailerId path integer true Identifier of the retailer

Example responses

200 Response

[
  {
    "retailer": {
      "id": 1234,
      "name": "Acme",
      "logo": "https://www.acme.com/path/to/image.jpg",
      "description": "Retailer description for Acme",
      "isFavourite": true,
      "isFeatured": true,
      "category": {
        "_links": {
          "self": {
            "href": null
          },
          "hierarchy": {
            "href": "/category/{categoryId}/hierarchy"
          }
        },
        "id": 123,
        "name": "Reloadable cards",
        "retailerCount": 45,
        "isFavourite": true
      }
    },
    "bestOffer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [retailerDetails] false none [Class Retailer]
» retailer retailer true none Class Retailer
»» id integer(int32) true none Retailer identifier
»» name string true none Retailer's name
»» logo string true none Retailer's logo (URL)
»» description string true none Retailer's description
»» isFavourite boolean true none Is retailer favourited
»» isFeatured boolean true none Is retailer featured
»» category cat false none Class Category
»»» _links object false none none
»»»» self object false none none
»»»»» href any false none none
»»»» hierarchy object false none none
»»»»» href string false none Endpoint to retrieve category hierarchy
»»» id integer(int32) true none Category identifier
»»» name string true none Category name
»»» retailerCount integer(int32) true none Category retailer count
»»» isFavourite boolean(boolean) true none Category favourite
» bestOffer offer true none Class Offer
»» id integer(int32) true none Offer identifier
»» typeId integer(int32) true none Type id of the offer
»» type string true none Type of the offer
»» description string true none Offer's description
»» keyInformation string true none Offer's key information
»» howItWorks string true none How the offer works
»» termsAndConditions string true none Offer's terms and conditions
»» expiryDate string(date-time) true none Offer's expiry date
»» specialOffer boolean true none Is this a special offer?
»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»» discount discount true none Class Discount
»»» saving string true none Discount savings
»»» description string true none Discount description
»»» useableInStore boolean true none Discount can be used in-store
»»» useableOnline boolean true none Discount can be used online
»»» startsOn string(date-time) true none Discount is valid from
»»» endsOn string(date-time) true none Discount is valid until
»» normally discount false none Class Discount

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailers/trending', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailers/trending HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailers/trending \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailers/trending',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailers/trending

List trending retailers in a scheme

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

[
  {
    "retailer": {
      "id": 1234,
      "name": "Acme",
      "logo": "https://www.acme.com/path/to/image.jpg",
      "description": "Retailer description for Acme",
      "isFavourite": true,
      "isFeatured": true,
      "category": {
        "_links": {
          "self": {
            "href": null
          },
          "hierarchy": {
            "href": "/category/{categoryId}/hierarchy"
          }
        },
        "id": 123,
        "name": "Reloadable cards",
        "retailerCount": 45,
        "isFavourite": true
      }
    },
    "bestOffer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  }
]
Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Status Code 200

Name Type Required Restrictions Description
anonymous [retailerDetails] false none [Class Retailer]
» retailer retailer true none Class Retailer
»» id integer(int32) true none Retailer identifier
»» name string true none Retailer's name
»» logo string true none Retailer's logo (URL)
»» description string true none Retailer's description
»» isFavourite boolean true none Is retailer favourited
»» isFeatured boolean true none Is retailer featured
»» category cat false none Class Category
»»» _links object false none none
»»»» self object false none none
»»»»» href any false none none
»»»» hierarchy object false none none
»»»»» href string false none Endpoint to retrieve category hierarchy
»»» id integer(int32) true none Category identifier
»»» name string true none Category name
»»» retailerCount integer(int32) true none Category retailer count
»»» isFavourite boolean(boolean) true none Category favourite
» bestOffer offer true none Class Offer
»» id integer(int32) true none Offer identifier
»» typeId integer(int32) true none Type id of the offer
»» type string true none Type of the offer
»» description string true none Offer's description
»» keyInformation string true none Offer's key information
»» howItWorks string true none How the offer works
»» termsAndConditions string true none Offer's terms and conditions
»» expiryDate string(date-time) true none Offer's expiry date
»» specialOffer boolean true none Is this a special offer?
»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»» discount discount true none Class Discount
»»» saving string true none Discount savings
»»» description string true none Discount description
»»» useableInStore boolean true none Discount can be used in-store
»»» useableOnline boolean true none Discount can be used online
»»» startsOn string(date-time) true none Discount is valid from
»»» endsOn string(date-time) true none Discount is valid until
»» normally discount false none Class Discount

List all offers from Retailer

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailer/{retailerId}/offers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailer/{retailerId}/offers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailer/{retailerId}/offers \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailer/{retailerId}/offers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailer/{retailerId}/offers

Returns retailer offers from an identifier

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
retailerId path integer true Identifier of the retailer

Example responses

200 Response

{
  "retailer": {
    "id": 1234,
    "name": "Acme",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Retailer description for Acme",
    "isFavourite": true,
    "isFeatured": true,
    "category": {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  },
  "offers": [
    {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation retailerOffers
401 Unauthorized Access token expired standardModel
403 Forbidden Retailer not available standardModel
404 Not Found Retailer not found standardModel

Favourite Retailers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailers/favourites', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailers/favourites HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailers/favourites \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailers/favourites',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailers/favourites

Returns list of favourite retailers

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
sort query string false Sort results by chosen criteria, name for sorting retailer alphabetically, date for sorting by the date added in favourites.

Example responses

200 Response

[
  {
    "id": 1234,
    "name": "Acme",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Retailer description for Acme",
    "isFavourite": true,
    "isFeatured": true,
    "category": {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [retailer] false none [Class Retailer]
» id integer(int32) true none Retailer identifier
» name string true none Retailer's name
» logo string true none Retailer's logo (URL)
» description string true none Retailer's description
» isFavourite boolean true none Is retailer favourited
» isFeatured boolean true none Is retailer featured
» category cat false none Class Category
»» _links object false none none
»»» self object false none none
»»»» href any false none none
»»» hierarchy object false none none
»»»» href string false none Endpoint to retrieve category hierarchy
»» id integer(int32) true none Category identifier
»» name string true none Category name
»» retailerCount integer(int32) true none Category retailer count
»» isFavourite boolean(boolean) true none Category favourite

Favourite Retailers with best offer

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailers/favouriteswithoffers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailers/favouriteswithoffers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailers/favouriteswithoffers \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailers/favouriteswithoffers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailers/favouriteswithoffers

Returns list of favourite retailers and their best offer

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
sort query string false Sort results by chosen criteria, name for sorting retailer alphabetically, date for
page query integer false Page number for paginated collections
limit query integer false Number of items per page for paginated collections

Detailed descriptions

sort: Sort results by chosen criteria, name for sorting retailer alphabetically, date for * sorting by the date added in favourites.

Example responses

200 Response

{
  "page": 1,
  "limit": 20,
  "pages": 10,
  "total": 200,
  "title": null,
  "_links": {
    "self": {
      "href": "/retailers/favouriteswithoffers?page=5&limit=20"
    },
    "first": {
      "href": "/retailers/favouriteswithoffers?page=1&limit=20"
    },
    "last": {
      "href": "/retailers/favouriteswithoffers?page=10&limit=20"
    },
    "next": {
      "href": "/retailers/favouriteswithoffers?page=6&limit=20"
    },
    "previous": {
      "href": "/retailers/favouriteswithoffers?page=4&limit=20"
    }
  },
  "_embedded": {
    "results": [
      {
        "retailer": {
          "id": 1234,
          "name": "Acme",
          "logo": "https://www.acme.com/path/to/image.jpg",
          "description": "Retailer description for Acme",
          "isFavourite": true,
          "isFeatured": true,
          "category": {
            "_links": {
              "self": {
                "href": null
              },
              "hierarchy": {
                "href": "/category/{categoryId}/hierarchy"
              }
            },
            "id": 123,
            "name": "Reloadable cards",
            "retailerCount": 45,
            "isFavourite": true
          }
        },
        "bestOffer": {
          "id": 9999,
          "typeId": 9999,
          "type": "Cashback",
          "description": "Description for this offer",
          "keyInformation": "Key information for this offer",
          "howItWorks": "Details on how this offer works",
          "termsAndConditions": "Terms & conditions of this offer",
          "expiryDate": "2019-08-24T14:15:22Z",
          "specialOffer": true,
          "redeemableOnDesktop": true,
          "redeemableOnMobile": true,
          "discount": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          },
          "normally": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» page integer(int32) true none none
» limit integer(int32) true none none
» pages integer(int32) true none none
» total integer(int32) true none none
» title any true none none
» _links object false none none
»» self object false none none
»»» href string false none Endpoint to access the current page of results
»» first object false none none
»»» href string false none Endpoint to access the first page of results
»» last object false none none
»»» href string false none Endpoint to access the last page of results
»» next object false none none
»»» href string false none Endpoint to access the next page of results
»» previous object false none none
»»» href string false none Endpoint to access the previous page of results
» _embedded object true none none
»» results [retailerDetails] false none [Class Retailer]
»»» retailer retailer true none Class Retailer
»»»» id integer(int32) true none Retailer identifier
»»»» name string true none Retailer's name
»»»» logo string true none Retailer's logo (URL)
»»»» description string true none Retailer's description
»»»» isFavourite boolean true none Is retailer favourited
»»»» isFeatured boolean true none Is retailer featured
»»»» category cat false none Class Category
»»»»» _links object false none none
»»»»»» self object false none none
»»»»»»» href any false none none
»»»»»» hierarchy object false none none
»»»»»»» href string false none Endpoint to retrieve category hierarchy
»»»»» id integer(int32) true none Category identifier
»»»»» name string true none Category name
»»»»» retailerCount integer(int32) true none Category retailer count
»»»»» isFavourite boolean(boolean) true none Category favourite
»»» bestOffer offer true none Class Offer
»»»» id integer(int32) true none Offer identifier
»»»» typeId integer(int32) true none Type id of the offer
»»»» type string true none Type of the offer
»»»» description string true none Offer's description
»»»» keyInformation string true none Offer's key information
»»»» howItWorks string true none How the offer works
»»»» termsAndConditions string true none Offer's terms and conditions
»»»» expiryDate string(date-time) true none Offer's expiry date
»»»» specialOffer boolean true none Is this a special offer?
»»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»»» discount discount true none Class Discount
»»»»» saving string true none Discount savings
»»»»» description string true none Discount description
»»»»» useableInStore boolean true none Discount can be used in-store
»»»»» useableOnline boolean true none Discount can be used online
»»»»» startsOn string(date-time) true none Discount is valid from
»»»»» endsOn string(date-time) true none Discount is valid until
»»»» normally discount false none Class Discount

Get list with recomended retailers based on the favourite retailers for the logged in member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/retailers/recommendations', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/retailers/recommendations HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/retailers/recommendations \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/retailers/recommendations',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /retailers/recommendations

Get list with recomended retailers based on the favourite retailers for the logged in member

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
page query integer false Page number for paginated collections
limit query integer false Number of items per page for paginated collections

Example responses

200 Response

{
  "page": 1,
  "limit": 20,
  "pages": 10,
  "total": 200,
  "title": null,
  "_links": {
    "self": {
      "href": "/retailers/recommendations?page=5&limit=20"
    },
    "first": {
      "href": "/retailers/recommendations?page=1&limit=20"
    },
    "last": {
      "href": "/retailers/recommendations?page=10&limit=20"
    },
    "next": {
      "href": "/retailers/recommendations?page=6&limit=20"
    },
    "previous": {
      "href": "/retailers/recommendations?page=4&limit=20"
    }
  },
  "_embedded": {
    "results": [
      {
        "retailer": {
          "id": 1234,
          "name": "Acme",
          "logo": "https://www.acme.com/path/to/image.jpg",
          "description": "Retailer description for Acme",
          "isFavourite": true,
          "isFeatured": true,
          "category": {
            "_links": {
              "self": {
                "href": null
              },
              "hierarchy": {
                "href": "/category/{categoryId}/hierarchy"
              }
            },
            "id": 123,
            "name": "Reloadable cards",
            "retailerCount": 45,
            "isFavourite": true
          }
        },
        "bestOffer": {
          "id": 9999,
          "typeId": 9999,
          "type": "Cashback",
          "description": "Description for this offer",
          "keyInformation": "Key information for this offer",
          "howItWorks": "Details on how this offer works",
          "termsAndConditions": "Terms & conditions of this offer",
          "expiryDate": "2019-08-24T14:15:22Z",
          "specialOffer": true,
          "redeemableOnDesktop": true,
          "redeemableOnMobile": true,
          "discount": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          },
          "normally": {
            "saving": "Earn 3%",
            "description": "on all offers",
            "useableInStore": true,
            "useableOnline": true,
            "startsOn": "2019-08-24T14:15:22Z",
            "endsOn": "2019-08-24T14:15:22Z"
          }
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» page integer(int32) true none none
» limit integer(int32) true none none
» pages integer(int32) true none none
» total integer(int32) true none none
» title any true none none
» _links object false none none
»» self object false none none
»»» href string false none Endpoint to access the current page of results
»» first object false none none
»»» href string false none Endpoint to access the first page of results
»» last object false none none
»»» href string false none Endpoint to access the last page of results
»» next object false none none
»»» href string false none Endpoint to access the next page of results
»» previous object false none none
»»» href string false none Endpoint to access the previous page of results
» _embedded object true none none
»» results [retailerDetails] false none [Class Retailer]
»»» retailer retailer true none Class Retailer
»»»» id integer(int32) true none Retailer identifier
»»»» name string true none Retailer's name
»»»» logo string true none Retailer's logo (URL)
»»»» description string true none Retailer's description
»»»» isFavourite boolean true none Is retailer favourited
»»»» isFeatured boolean true none Is retailer featured
»»»» category cat false none Class Category
»»»»» _links object false none none
»»»»»» self object false none none
»»»»»»» href any false none none
»»»»»» hierarchy object false none none
»»»»»»» href string false none Endpoint to retrieve category hierarchy
»»»»» id integer(int32) true none Category identifier
»»»»» name string true none Category name
»»»»» retailerCount integer(int32) true none Category retailer count
»»»»» isFavourite boolean(boolean) true none Category favourite
»»» bestOffer offer true none Class Offer
»»»» id integer(int32) true none Offer identifier
»»»» typeId integer(int32) true none Type id of the offer
»»»» type string true none Type of the offer
»»»» description string true none Offer's description
»»»» keyInformation string true none Offer's key information
»»»» howItWorks string true none How the offer works
»»»» termsAndConditions string true none Offer's terms and conditions
»»»» expiryDate string(date-time) true none Offer's expiry date
»»»» specialOffer boolean true none Is this a special offer?
»»»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»»»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»»»» discount discount true none Class Discount
»»»»» saving string true none Discount savings
»»»»» description string true none Discount description
»»»»» useableInStore boolean true none Discount can be used in-store
»»»»» useableOnline boolean true none Discount can be used online
»»»»» startsOn string(date-time) true none Discount is valid from
»»»»» endsOn string(date-time) true none Discount is valid until
»»»» normally discount false none Class Discount

Email Digest

All endpoints available for email digest.

Get status of emaildigest product for scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/emaildigest', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/emaildigest HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/emaildigest \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/emaildigest',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /emaildigest

Get status of emaildigest product for scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "schemeId": 0,
  "schemeUuid": "string",
  "isEnabled": true,
  "period": {
    "id": 0,
    "name": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK All details for member's email digest status EmailDigestScheme
401 Unauthorized Access token expired standardModel
500 Internal Server Error Error: Could not fetch status standardModel

Update status of emaildigest product for scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/emaildigest', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/emaildigest HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/emaildigest \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "enabled": false
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/emaildigest',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /emaildigest

Update status of emaildigest product for scheme

Body parameter

enabled: false

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» enabled body boolean true If email digest should be enabled.

Example responses

200 Response

{
  "schemeId": 0,
  "schemeUuid": "string",
  "isEnabled": true,
  "period": {
    "id": 0,
    "name": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK All details for member's email digest status EmailDigestScheme
401 Unauthorized Access token expired standardModel
500 Internal Server Error Error: Could not update emaildigest status for current scheme standardModel

Get status of emaildigest subscription for member.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/emaildigest/notification', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/emaildigest/notification HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/emaildigest/notification \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/emaildigest/notification',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /emaildigest/notification

Get status of emaildigest subscription for member.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "isDigestAvailable": true,
  "subscribed": true,
  "memberId": "string"
}

Responses

Status Meaning Description Schema
200 OK All details for member's email digest status EmailDigestSubscription
401 Unauthorized Access token expired standardModel
500 Internal Server Error Error: Could not fetch emaildigest subscription preferences standardModel

Toggle status for email digest subscription for current member.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/emaildigest/notification', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/emaildigest/notification HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/emaildigest/notification \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/emaildigest/notification',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /emaildigest/notification

Toggle status for email digest subscription for current member.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "isDigestAvailable": true,
  "subscribed": true,
  "memberId": "string"
}

Responses

Status Meaning Description Schema
200 OK All details for member's email digest status. EmailDigestSubscription
401 Unauthorized Access token expired standardModel
500 Internal Server Error Error: Could not update emaildigest subscription preferences standardModel

Notification

Endpoints to manage sending notifications to the current member (Currently only supports Push Notifications to registered devices).

Retrieve device information by a device identifier

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/notification/device/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/notification/device/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/notification/device/{id} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/device/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /notification/device/{id}

This endpoint will return device information based on a device identifier previously * registered.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path string true Identifier of the device

Example responses

200 Response

[
  {
    "id": 0,
    "deviceOs": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Device is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [device] false none none
» Device device false none none
»» id integer true none Device Id
»» deviceOs string true none Device Operating System

Remove a registered device

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/notification/device/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/notification/device/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/notification/device/{id} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/device/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /notification/device/{id}

This endpoint will remove a device from the list of registered devices for the current member.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path string true Identifier of the device

Example responses

204 Response

"string"

Responses

Status Meaning Description Schema
204 No Content Successful operation string
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Device is not found None

Return notification preferences

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/notification/preferences', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/notification/preferences HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/notification/preferences \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/preferences',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /notification/preferences

This endpoint will return a list of notification preferences for a member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK Get notification preferences for a member Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Toggle one notification category

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/preferences/category', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/preferences/category?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/preferences/category?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "channel_id": 0,
  "category_id": "string",
  "state": "string",
  "preference_id": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/preferences/category?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/preferences/category

This endpoint will toggle a single notification category

Body parameter

{
  "channel_id": 0,
  "category_id": "string",
  "state": "string",
  "preference_id": 0
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
uuid query string true Member UUID
body body object true none
» channel_id body integer false Channel Identifier of the preference to toggle
» category_id body string false Category Identifier of the preference to toggle
» state body string false Snoooze status
» preference_id body integer false Preference Identifier of the preference to toggle

Example responses

200 Response

{
  "channelState": 0,
  "categoryState": 0,
  "status": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation PreferencesToggleCategoryResultsEntity
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The type of notification is not found errorModel

Toggle one notification channel

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/preferences/channel', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/preferences/channel?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/preferences/channel?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "channel_id": 0,
  "state": "string",
  "preference_id": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/preferences/channel?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/preferences/channel

This endpoint will toggle a single notification channel

Body parameter

{
  "channel_id": 0,
  "state": "string",
  "preference_id": 0
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
uuid query string true Member UUID
body body object true none
» channel_id body integer false Channel Identifier of the preference to toggle
» state body string false Snoooze status
» preference_id body integer false Preference Identifier of the preference to toggle

Example responses

200 Response

{
  "channelState": 0,
  "snoozedUntil": "string",
  "status": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation PreferencesToggleChannelResultsEntity
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The type of notification is not found errorModel

Unsnooze a notification channel

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/preferences/unsnooze', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/preferences/unsnooze?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/preferences/unsnooze?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "channel_id": 0,
  "state": "string",
  "preference_id": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/preferences/unsnooze?uuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/preferences/unsnooze

This endpoint will unsnooze a single notification channel

Body parameter

{
  "channel_id": 0,
  "state": "string",
  "preference_id": 0
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
uuid query string true Member UUID
body body object true none
» channel_id body integer false Channel Identifier of the preference to toggle
» state body string false Snoooze status
» preference_id body integer false Preference Identifier of the preference to toggle

Example responses

200 Response

{
  "snoozeStopped": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation PreferencesToggleUnsnoozeResultsEntity
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The type of notification is not found errorModel

Get a list of all subscribed notifications

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/notification/preferences/status', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/notification/preferences/status HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/notification/preferences/status \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/preferences/status',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /notification/preferences/status

This endpoint will return a list of all enabled/disabled notifications for the current member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "typeId": 0,
    "typeName": "string",
    "message": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The type of notification is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [notificationMessage] false none [Class NotificationMessage]
» typeId integer true none Message type
» typeName string true none Page name for the message
» message string true none Message

Toggle one push notification for member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/preferences/toggle', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/preferences/toggle HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/preferences/toggle \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/preferences/toggle',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/preferences/toggle

This endpoint will toggle a single push notification for the current member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "typeId": 0,
    "typeName": "string",
    "message": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The type of notification is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [notificationMessage] false none [Class NotificationMessage]
» typeId integer true none Message type
» typeName string true none Page name for the message
» message string true none Message

Toggle push notifications for all notifications

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/preferences/toggle/all', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/preferences/toggle/all HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/preferences/toggle/all \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/preferences/toggle/all',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/preferences/toggle/all

This endpoint toggles multiple push notifications for current member for all notifications

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "typeId": 0,
    "typeName": "string",
    "message": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found The type of notification is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [notificationMessage] false none [Class NotificationMessage]
» typeId integer true none Message type
» typeName string true none Page name for the message
» message string true none Message

Manage member subscription to notifications

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/member/togglePushNotifications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/member/togglePushNotifications HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/member/togglePushNotifications \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "toggleValue": true
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/member/togglePushNotifications',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/member/togglePushNotifications

This endpoint sets a member's push notifications settings to on or off

Body parameter

toggleValue: true

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» toggleValue body boolean false true or false bool value

Example responses

200 Response

{
  "status": "string",
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Retailer is not found errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» status string true none none
» message string true none none

Register a device to receive notifications

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/device', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/device HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/device \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "client_id": "string",
  "device_token": "string",
  "device_os": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/device',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/device

This endpoint will register a member's device to allow it to receive notifications.

Body parameter

client_id: string
device_token: string
device_os: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» client_id body string false Client Identifier of the application
» device_token body string false Device token
» device_os body string false Device OS (IOS, Android)

Example responses

200 Response

[
  {
    "id": 0,
    "deviceOs": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel
406 Not Acceptable Request is not acceptable errorModel
500 Internal Server Error Unhandled error while registering device errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [device] false none none
» Device device false none none
»» id integer true none Device Id
»» deviceOs string true none Device Operating System

Return the notifications of the user

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/notification/list', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/notification/list HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/notification/list \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/list',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /notification/list

This endpoint will return the notifications of the user

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "senderContact": [
      null
    ],
    "recipientContact": [
      null
    ],
    "notificationId": 0,
    "notificationType": "string",
    "isRead": true,
    "createdDate": "string",
    "subjectType": "string",
    "subjectTitle": "string",
    "iconUrl": "string",
    "secondaryIconUrl": "string",
    "url": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Return the notifications of the user Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [notificationListMessage] false none [Class NotificationListMessage]
» senderContact [any] false none Sender Contact
» recipientContact [any] true none Recipient Contact
» notificationId integer true none none
» notificationType string true none none
» isRead boolean true none none
» createdDate string false none none
» subjectType string false none none
» subjectTitle string false none none
» iconUrl string false none none
» secondaryIconUrl string false none none
» url string false none none

Mark notification(s) as read

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/notification/read', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/notification/read HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/notification/read \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "notificationIds": [
    0
  ]
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/notification/read',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /notification/read

This endpoint will mark a single notification or multiple notifications as read.

Body parameter

notificationIds:
  - 0

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» notificationIds body [integer] false IDs of the notifications to be marked as read

Example responses

200 Response

[
  {
    "code": null,
    "message": null,
    "details": [
      null
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
402 Payment Required Bad Request (invalid parameters) errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Unhandled error errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [standardModel] false none none
» Standard Model standardModel false none none
»» code any true none none
»» message any true none none
»» details [any] true none none

Promotions

Retailer Promotions Service

Deal of the Week promotion

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/promotions/deal-of-the-week', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/promotions/deal-of-the-week HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/promotions/deal-of-the-week \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/promotions/deal-of-the-week',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /promotions/deal-of-the-week

Returns deal of the week promotion

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

{
  "banner": {
    "image": "https://www.acme.com/path/to/image.jpg",
    "title": "Title of this banner",
    "subtitle": "Subtitle of this banner",
    "endsOn": "2019-08-24T14:15:22Z"
  },
  "retailer": {
    "id": 1234,
    "name": "Acme",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Retailer description for Acme",
    "isFavourite": true,
    "isFeatured": true,
    "category": {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  },
  "offer": {
    "id": 9999,
    "typeId": 9999,
    "type": "Cashback",
    "description": "Description for this offer",
    "keyInformation": "Key information for this offer",
    "howItWorks": "Details on how this offer works",
    "termsAndConditions": "Terms & conditions of this offer",
    "expiryDate": "2019-08-24T14:15:22Z",
    "specialOffer": true,
    "redeemableOnDesktop": true,
    "redeemableOnMobile": true,
    "discount": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    },
    "normally": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation promotion
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/promotions/featured-retailers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/promotions/featured-retailers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/promotions/featured-retailers \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/promotions/featured-retailers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /promotions/featured-retailers

Returns featured retailer promotions

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

[
  {
    "banner": {
      "image": "https://www.acme.com/path/to/image.jpg",
      "title": "Title of this banner",
      "subtitle": "Subtitle of this banner",
      "endsOn": "2019-08-24T14:15:22Z"
    },
    "retailer": {
      "id": 1234,
      "name": "Acme",
      "logo": "https://www.acme.com/path/to/image.jpg",
      "description": "Retailer description for Acme",
      "isFavourite": true,
      "isFeatured": true,
      "category": {
        "_links": {
          "self": {
            "href": null
          },
          "hierarchy": {
            "href": "/category/{categoryId}/hierarchy"
          }
        },
        "id": 123,
        "name": "Reloadable cards",
        "retailerCount": 45,
        "isFavourite": true
      }
    },
    "offer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  }
]
Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Status Code 200

Name Type Required Restrictions Description
anonymous [promotion] false none [Class Promotion]
» banner banner true none Class Banner
»» image string true none Banner image location (URL)
»» title string true none Banner title
»» subtitle string true none Banner subtitle
»» endsOn string(date-time) true none Banner ends on date
» retailer retailer true none Class Retailer
»» id integer(int32) true none Retailer identifier
»» name string true none Retailer's name
»» logo string true none Retailer's logo (URL)
»» description string true none Retailer's description
»» isFavourite boolean true none Is retailer favourited
»» isFeatured boolean true none Is retailer featured
»» category cat false none Class Category
»»» _links object false none none
»»»» self object false none none
»»»»» href any false none none
»»»» hierarchy object false none none
»»»»» href string false none Endpoint to retrieve category hierarchy
»»» id integer(int32) true none Category identifier
»»» name string true none Category name
»»» retailerCount integer(int32) true none Category retailer count
»»» isFavourite boolean(boolean) true none Category favourite
» offer offer true none Class Offer
»» id integer(int32) true none Offer identifier
»» typeId integer(int32) true none Type id of the offer
»» type string true none Type of the offer
»» description string true none Offer's description
»» keyInformation string true none Offer's key information
»» howItWorks string true none How the offer works
»» termsAndConditions string true none Offer's terms and conditions
»» expiryDate string(date-time) true none Offer's expiry date
»» specialOffer boolean true none Is this a special offer?
»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»» discount discount true none Class Discount
»»» saving string true none Discount savings
»»» description string true none Discount description
»»» useableInStore boolean true none Discount can be used in-store
»»» useableOnline boolean true none Discount can be used online
»»» startsOn string(date-time) true none Discount is valid from
»»» endsOn string(date-time) true none Discount is valid until
»» normally discount false none Class Discount

Top Offers promotions

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/promotions/top-offers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/promotions/top-offers HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/promotions/top-offers \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/promotions/top-offers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /promotions/top-offers

Returns top offers promotions

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token
limit query integer false Number of items per page for paginated collections

Example responses

200 Response

[
  {
    "banner": {
      "image": "https://www.acme.com/path/to/image.jpg",
      "title": "Title of this banner",
      "subtitle": "Subtitle of this banner",
      "endsOn": "2019-08-24T14:15:22Z"
    },
    "retailer": {
      "id": 1234,
      "name": "Acme",
      "logo": "https://www.acme.com/path/to/image.jpg",
      "description": "Retailer description for Acme",
      "isFavourite": true,
      "isFeatured": true,
      "category": {
        "_links": {
          "self": {
            "href": null
          },
          "hierarchy": {
            "href": "/category/{categoryId}/hierarchy"
          }
        },
        "id": 123,
        "name": "Reloadable cards",
        "retailerCount": 45,
        "isFavourite": true
      }
    },
    "offer": {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [promotion] false none [Class Promotion]
» banner banner true none Class Banner
»» image string true none Banner image location (URL)
»» title string true none Banner title
»» subtitle string true none Banner subtitle
»» endsOn string(date-time) true none Banner ends on date
» retailer retailer true none Class Retailer
»» id integer(int32) true none Retailer identifier
»» name string true none Retailer's name
»» logo string true none Retailer's logo (URL)
»» description string true none Retailer's description
»» isFavourite boolean true none Is retailer favourited
»» isFeatured boolean true none Is retailer featured
»» category cat false none Class Category
»»» _links object false none none
»»»» self object false none none
»»»»» href any false none none
»»»» hierarchy object false none none
»»»»» href string false none Endpoint to retrieve category hierarchy
»»» id integer(int32) true none Category identifier
»»» name string true none Category name
»»» retailerCount integer(int32) true none Category retailer count
»»» isFavourite boolean(boolean) true none Category favourite
» offer offer true none Class Offer
»» id integer(int32) true none Offer identifier
»» typeId integer(int32) true none Type id of the offer
»» type string true none Type of the offer
»» description string true none Offer's description
»» keyInformation string true none Offer's key information
»» howItWorks string true none How the offer works
»» termsAndConditions string true none Offer's terms and conditions
»» expiryDate string(date-time) true none Offer's expiry date
»» specialOffer boolean true none Is this a special offer?
»» redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
»» redeemableOnMobile boolean true none Offer can be redeemed on mobile
»» discount discount true none Class Discount
»»» saving string true none Discount savings
»»» description string true none Discount description
»»» useableInStore boolean true none Discount can be used in-store
»»» useableOnline boolean true none Discount can be used online
»»» startsOn string(date-time) true none Discount is valid from
»»» endsOn string(date-time) true none Discount is valid until
»» normally discount false none Class Discount

Store

Store Review Service

Prompt for a store review

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/store/review', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/store/review HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/store/review \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/store/review',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /store/review

Checks whether the member should be prompted to leave a review in the store

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

{
  "askForReview": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Unauthorized standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» askForReview boolean false none none

Save a store review

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/store/review', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/store/review HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/store/review \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/store/review',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /store/review

Save a store review submitted by the member

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

401 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
204 No Content Successful operation None
401 Unauthorized Unauthorized standardModel

Users

Users Service

Fetch members' tasks by scheme uuid

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/tasks', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/tasks HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/tasks \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/tasks',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/tasks

Fetch members' tasks by scheme uuid

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the scheme
offset query integer false Starting position of the resultset
type query string false Filter the list of tasks by type
limit query integer false Limit the tasks in the result

Enumerated Values

Parameter Value
type WOC
type SAR
type UMF
type RMF

Example responses

200 Response

[
  {
    "tasksTitle": "Tasks Group Title",
    "count": 3,
    "tasks": [
      {
        "requestId": "05fc9818-bcfc-4fbd-82ae-6f0cf7aa05f9",
        "memberId": "984c88d4-43a6-470e-83cb-2fb6cc4c4c5b",
        "firstName": "John",
        "lastName": "Doe",
        "email": "john.doe@domain.com",
        "lastUpdated": "2022-12-01",
        "status": "open",
        "action": "approve",
        "avatar": "https://ugc.cdn.rewardgateway.net/avatars/default.png"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» tasksTitle string false none none
» count integer false none none
» tasks [Task] false none [An API representation of Task in Task Manager.]
»» requestId string false none Unique string to identify a request
»» memberId string false none Unique string to identify a member
»» firstName string false none Member first name
»» lastName string false none Member last name
»» email string false none Member email
»» lastUpdated string false none Last updated date
»» status string false read-only Task status: open, assigned, completed, cancelled
»» action string¦null false none processed task action
»» avatar string false none Member's avatar URL

Enumerated Values

Property Value
action reject
action approve

Fetch the history of scheme's tasks

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/history', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/history HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/history \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/history',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}/tasks/history

Fetch the history of scheme's tasks

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the scheme
offset query integer false Starting position of the result set
limit query integer false Maximum number of tasks to return, defaults to 25, cannot exceed 25
type query string false Tag of the type of task to filter for

Example responses

200 Response

[
  {
    "MemberUUID": "d6b933ea-b5f5-48cb-9fce-d105902ae5ed",
    "RequestDate": "2024-03-01",
    "MemberName": "John Doe",
    "Actor": "Jane Smith",
    "Action": "RG\\Member\\Deactivation\\Tasks\\Actions\\ApproveDeactivation",
    "DateActioned": "2024-03-02"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» MemberUUID string false none none
» RequestDate string false none none
» MemberName string false none none
» Actor string false none none
» Action string false none none
» DateActioned string false none none

Process a member's task by requestId

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/{requestId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/{requestId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X PATCH https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/{requestId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}/tasks/{requestId}',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /schemes/{schemeUuid}/tasks/{requestId}

Process a member's task by requestId

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid path string true Unique identifier of the scheme
requestId path string true Identifier of the request

Example responses

200 Response

{
  "requestId": "05fc9818-bcfc-4fbd-82ae-6f0cf7aa05f9",
  "memberId": "984c88d4-43a6-470e-83cb-2fb6cc4c4c5b",
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@domain.com",
  "lastUpdated": "2022-12-01",
  "status": "open",
  "action": "approve",
  "avatar": "https://ugc.cdn.rewardgateway.net/avatars/default.png"
}

Responses

Status Meaning Description Schema
200 OK Successfully processed task Task
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme not found standardModel

Check if payroll number is valid

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/user/validatePayrollNumber', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/user/validatePayrollNumber HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/user/validatePayrollNumber \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "payrollNumber": "002"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/validatePayrollNumber',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /user/validatePayrollNumber

This endpoint checks if the payroll number is valid for this scheme

Body parameter

{
  "payrollNumber": "002"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» payrollNumber body string true The payroll number that needs to be checked

Example responses

200 Response

{
  "success": true,
  "memberUuid": "string",
  "memberState": 0
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
401 Unauthorized Access to the resource has been denied errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean true none none
» memberUuid string true none none
» memberState integer false none none

Retrieve member records based on search conditions.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/members/{schemeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/members/{schemeUuid}?query=John&segmentId=1 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/members/{schemeUuid}?query=John&segmentId=1 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/members/{schemeUuid}?query=John&segmentId=1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /members/{schemeUuid}

Endpoint returns all eligible members for the specified programme based on search conditions.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
schemeUuid path string true scheme uuid
query query string true Search keyword
segmentId query integer true Members must belong to this segment
subjectType query string false Search type.
subjectId query integer false Id associated with the subject type.
requestType query string false Request type.
customParams query string false Custom parameters.

Example responses

200 Response

[
  {}
]

Responses

Status Meaning Description Schema
200 OK Successful operation. Inline
400 Bad Request Invalid search parameters. standardModel
403 Forbidden Access to the resource has been denied. standardModel
404 Not Found Scheme is not found. standardModel
500 Internal Server Error Internal server error. standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [SurveysUserSearchEntity] false none [A user's search entity]

Updates member's preferred language

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/members/preferred-language', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/members/preferred-language HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X PUT https://api.rewardgateway.net/members/preferred-language \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'

const inputBody = '{
  "preferredLanguage": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/members/preferred-language',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /members/preferred-language

This endpoint allows you to update the member's preferred language.

Body parameter

{
  "preferredLanguage": "string"
}

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
body body object true none
» preferredLanguage body string false none

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Member is not found standardModel

Get current member information

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/me', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/me HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/me \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/me',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/me

Gets information about the currently logged in member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "id": "00000000-0000-0000-0000-000000000000",
  "firstName": "John",
  "lastName": "Smith",
  "email": "john.smith@acme.com",
  "emailVisible": true,
  "summary": "Ipsum dolor sit amet",
  "timezone": "UK, Western Europe (GMT +1:00)",
  "gender": "X",
  "addressLine1": "123 Some Road",
  "addressLine2": "Floor 4",
  "addressLine3": "London",
  "addressLine4": "London",
  "postalCode": "AA00 0AA",
  "country": "United Kingdom",
  "mobileNumber": "07700900077",
  "mobileNumberVisible": true,
  "telephoneNumber": "02700900077",
  "avatar": "https://www.acme.com/path/to/image.jpg",
  "dateOfBirth": "2019-08-24T14:15:22Z",
  "dateOfBirthVisible": true,
  "registrationDate": "2019-08-24T14:15:22Z",
  "registrationInfo": "Lorem ipsum dolor sit amet",
  "pushNotifications": true,
  "registrationQuestionsAnswers": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation MyUser
403 Forbidden Access to the resource has been denied errorModel

Get member profile info

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/info', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/info HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/info \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/info',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/info

Gets profile information based on OpenID claims

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "name": "John Smith",
  "given_name": "John",
  "family_name": "Smith",
  "picture": "https://ugc.rewardgateway.dev/avatars/default/200x200_EU-default-1.png",
  "locale": "en_GB",
  "zoneinfo": "Europe/London",
  "email": "john.smith@acme.com",
  "email_verified": true,
  "client_id": 123,
  "verify1": "fee39e70-ceb5-4eae-b658-6d9aa64a9f23",
  "sub": "fee39e70-ceb5-4eae-b658-6d9aa64a9f23"
}

Responses

Status Meaning Description Schema
200 OK Successful operation OpenIdMember
401 Unauthorized Access to the resource has been denied errorModel
403 Forbidden Access token has no OpenId scopes errorModel

Search members by first and last name.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/search', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/search?q=John%20Doe HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/search?q=John%20Doe \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/search?q=John%20Doe',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/search

This endpoint returns a list of members based on search criteria for first and last name.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
q query string true Search string

Example responses

200 Response

{
  "searchTerm": "string",
  "results": [
    {
      "id": "string",
      "contactId": 0,
      "firstName": "string",
      "lastName": "string",
      "registrationQuestions": "string",
      "avatarUrl": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» searchTerm string false none none
» results [UserSearchResult] false none none
»» User Search Result UserSearchResult false none none
»»» id string true none Member identifier
»»» contactId integer false none Member contact id
»»» firstName string true none Member first name
»»» lastName string true none Member last name
»»» registrationQuestions string true none Member label based on top 3 discriminatory fields
»»» avatarUrl string true none Member profile url

Update current member information

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/user/update', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/user/update HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/user/update \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "firstName": "string",
  "lastName": "string",
  "addressLine1": "string",
  "addressLine2": "string",
  "addressLine3": "string",
  "addressLine4": "string",
  "postalCode": "string",
  "daytimePhone": "string",
  "mobilePhone": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/update',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /user/update

This endpoint will update information about the current member

Body parameter

firstName: string
lastName: string
addressLine1: string
addressLine2: string
addressLine3: string
addressLine4: string
postalCode: string
daytimePhone: string
mobilePhone: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» firstName body string false First name
» lastName body string false Last name
» addressLine1 body string false Address line 1
» addressLine2 body string false Address line 2
» addressLine3 body string false Address line 3 - town,city
» addressLine4 body string false Address line 4 - county
» postalCode body string false Postal code
» daytimePhone body string false Home phone number
» mobilePhone body string false Mobile phone number

Example responses

200 Response

{
  "id": "00000000-0000-0000-0000-000000000000",
  "firstName": "John",
  "lastName": "Smith",
  "email": "john.smith@acme.com",
  "emailVisible": true,
  "summary": "Ipsum dolor sit amet",
  "timezone": "UK, Western Europe (GMT +1:00)",
  "gender": "X",
  "addressLine1": "123 Some Road",
  "addressLine2": "Floor 4",
  "addressLine3": "London",
  "addressLine4": "London",
  "postalCode": "AA00 0AA",
  "country": "United Kingdom",
  "mobileNumber": "07700900077",
  "mobileNumberVisible": true,
  "telephoneNumber": "02700900077",
  "avatar": "https://www.acme.com/path/to/image.jpg",
  "dateOfBirth": "2019-08-24T14:15:22Z",
  "dateOfBirthVisible": true,
  "registrationDate": "2019-08-24T14:15:22Z",
  "registrationInfo": "Lorem ipsum dolor sit amet",
  "pushNotifications": true,
  "registrationQuestionsAnswers": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation MyUser
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel

Get a specific member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/{identifier}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/{identifier} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/{identifier} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/{identifier}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/{identifier}

This endpoint will return a member based on a member id, payroll number or email hash

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
identifier path string true Member identifier

Example responses

200 Response

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "emailVisible": true,
  "summary": "string",
  "timezone": "string",
  "avatar": "string",
  "dateOfBirth": "string",
  "dateOfBirthVisible": true,
  "registrationDate": "string",
  "registrationInfo": "string",
  "locale": {
    "id": 1,
    "name": "GB",
    "lang": "en_GB",
    "currency": "GBP",
    "symbol": "£",
    "states": [
      {
        "code": "string",
        "name": "string"
      }
    ],
    "contactFields": {
      "firstName": "First Name",
      "lastName": "Surname",
      "emailAddress": "Email Address",
      "mobilePhoneNumber": "Mobile Phone Number",
      "addressLine1": "Address Line 1",
      "addressLine2": "Address Line 2",
      "addressLine3": "Address Line 3",
      "addressLine4": "Address Line 4",
      "postCode": "Postcode"
    },
    "mappings": {
      "locale": "Locale CDN url",
      "fallback": "Fallback locale CDN url"
    }
  },
  "scheme": {
    "id": 0,
    "uuid": "string",
    "name": "string",
    "companyName": "string",
    "url": null,
    "hasUsernameEndpoint": true,
    "team": [
      null
    ],
    "branding": [
      null
    ],
    "locale": {
      "id": 1,
      "name": "GB",
      "lang": "en_GB",
      "currency": "GBP",
      "symbol": "£",
      "states": [
        {
          "code": "string",
          "name": "string"
        }
      ],
      "contactFields": {
        "firstName": "First Name",
        "lastName": "Surname",
        "emailAddress": "Email Address",
        "mobilePhoneNumber": "Mobile Phone Number",
        "addressLine1": "Address Line 1",
        "addressLine2": "Address Line 2",
        "addressLine3": "Address Line 3",
        "addressLine4": "Address Line 4",
        "postCode": "Postcode"
      },
      "mappings": {
        "locale": "Locale CDN url",
        "fallback": "Fallback locale CDN url"
      }
    },
    "programmeTypes": [
      null
    ],
    "enabledConfigurations": [
      null
    ],
    "addressLine1": "265 Tottenham Court Rd",
    "addressLine2": "Street Details",
    "addressLine3": "London",
    "addressLine4": "Fitzrovia",
    "postalCode": "W1T 7RQ",
    "status": 0,
    "schemeUrl": "https://programme1.rewardgateway.com"
  },
  "pushNotifications": true,
  "registrationQuestionsAnswers": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation UserData
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied errorModel

Get a list of members based on identifiers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/bulk/{hash}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/bulk/{hash} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/bulk/{hash} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/bulk/{hash}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/bulk/{hash}

This endpoint returns a list of members based on identifiers

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
hash path string true Base 64 encoded hash of comma separated list of member identifiers

Example responses

200 Response

[
  {
    "id": "string",
    "firstName": "string",
    "lastName": "string",
    "email": "string",
    "emailVisible": true,
    "summary": "string",
    "timezone": "string",
    "avatar": "string",
    "dateOfBirth": "string",
    "dateOfBirthVisible": true,
    "registrationDate": "string",
    "registrationInfo": "string",
    "locale": {
      "id": 1,
      "name": "GB",
      "lang": "en_GB",
      "currency": "GBP",
      "symbol": "£",
      "states": [
        {
          "code": "string",
          "name": "string"
        }
      ],
      "contactFields": {
        "firstName": "First Name",
        "lastName": "Surname",
        "emailAddress": "Email Address",
        "mobilePhoneNumber": "Mobile Phone Number",
        "addressLine1": "Address Line 1",
        "addressLine2": "Address Line 2",
        "addressLine3": "Address Line 3",
        "addressLine4": "Address Line 4",
        "postCode": "Postcode"
      },
      "mappings": {
        "locale": "Locale CDN url",
        "fallback": "Fallback locale CDN url"
      }
    },
    "scheme": {
      "id": 0,
      "uuid": "string",
      "name": "string",
      "companyName": "string",
      "url": null,
      "hasUsernameEndpoint": true,
      "team": [
        null
      ],
      "branding": [
        null
      ],
      "locale": {
        "id": 1,
        "name": "GB",
        "lang": "en_GB",
        "currency": "GBP",
        "symbol": "£",
        "states": [
          {
            "code": "string",
            "name": "string"
          }
        ],
        "contactFields": {
          "firstName": "First Name",
          "lastName": "Surname",
          "emailAddress": "Email Address",
          "mobilePhoneNumber": "Mobile Phone Number",
          "addressLine1": "Address Line 1",
          "addressLine2": "Address Line 2",
          "addressLine3": "Address Line 3",
          "addressLine4": "Address Line 4",
          "postCode": "Postcode"
        },
        "mappings": {
          "locale": "Locale CDN url",
          "fallback": "Fallback locale CDN url"
        }
      },
      "programmeTypes": [
        null
      ],
      "enabledConfigurations": [
        null
      ],
      "addressLine1": "265 Tottenham Court Rd",
      "addressLine2": "Street Details",
      "addressLine3": "London",
      "addressLine4": "Fitzrovia",
      "postalCode": "W1T 7RQ",
      "status": 0,
      "schemeUrl": "https://programme1.rewardgateway.com"
    },
    "pushNotifications": true,
    "registrationQuestionsAnswers": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [UserData] false none [PrivateMember API class]
» User Data UserData false none PrivateMember API class
»» id string true none Member identifier
»» firstName string true none Member first name
»» lastName string true none Member last name
»» email string true none Member email address
»» emailVisible boolean false none Member email address visibility
»» summary string false none Member's summary
»» timezone string false none Member's timezone
»» avatar string true none Member avatar
»» dateOfBirth string false none Member's date of birth
»» dateOfBirthVisible boolean false none Member's date of birth visibility
»» registrationDate string false none Member's registration date
»» registrationInfo string false none Member registration info
»» locale GenericLocale false none none
»»» id integer(int32) true none Locale identifier
»»» name string true none Locale name
»»» lang string true none Locale language
»»» currency string true none Locale currency
»»» symbol string true none Locale currency symbol
»»» states [GenericState] true none Locale state list
»»»» Generic State GenericState false none none
»»»»» code string true none none
»»»»» name string true none none
»»» contactFields object true none none
»»»» firstName any false none List of translated contact fields
»»»» lastName any false none none
»»»» emailAddress any false none none
»»»» mobilePhoneNumber any false none none
»»»» addressLine1 any false none none
»»»» addressLine2 any false none none
»»»» addressLine3 any false none none
»»»» addressLine4 any false none none
»»»» postCode any false none none
»»» mappings object false none none
»»»» locale string false none Mappings to download jsons for React apps
»»»» fallback string false none none
»» scheme GenericScheme false none none
»»» id integer true none Programme identifier
»»» uuid string false none Programme UUID
»»» name string true none Programme name
»»» companyName string true none Programme company name
»»» url any true none Advertised Programme URL
»»» hasUsernameEndpoint boolean true none Programme's username endpoint
»»» team [any] true none Programme's team
»»» branding [any] true none none
»»» locale GenericLocale true none none
»»» programmeTypes [any] true none Programme types for the scheme
»»» enabledConfigurations [any] false none none
»»» addressLine1 string false none Street Name 1
»»» addressLine2 string false none Street Name 2
»»» addressLine3 string false none City / Town
»»» addressLine4 string false none County / State
»»» postalCode string false none none
»»» status integer false none 0 = Implementation, 1 = Live, 2 = Closing, 3 = Closed, 4 = Live Demo
»»» schemeUrl string false none Internal Programme URL. Used for internal links and navigation.
»» pushNotifications boolean false none Push notifications status
»» registrationQuestionsAnswers string false none Answers for discriminator registration questions

Enumerated Values

Property Value
status 0
status 1
status 2
status 3
status 4

Search specific member activity.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/{identifier}/activity', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/{identifier}/activity HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/{identifier}/activity \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/{identifier}/activity',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/{identifier}/activity

This endpoint will search for specific members activity.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
identifier path string true Member identifier

Example responses

200 Response

[
  {
    "id": 0,
    "activityType": "string",
    "iconURL": "string",
    "activityTimestamp": "string",
    "actionContact": [
      null
    ],
    "feedItem": {
      "feedId": 0,
      "feedTitle": "string",
      "feedTimestamp": "string",
      "feedSubjectType": "string",
      "feedSubjectId": 0,
      "feedSegmentId": 0,
      "feedItemId": "string",
      "groupingId": "string",
      "feedSender": null,
      "feedContent": "string",
      "feedIsShared": true,
      "feedImage": "string",
      "feedRecipients": [
        0
      ],
      "feedComments": 0,
      "feedCommentData": [
        "string"
      ],
      "feedReactions": [
        null
      ],
      "feedReactionData": [
        null
      ],
      "feedUserReactionId": 0,
      "feedFirstUserToReact": [
        null
      ],
      "downloadUrl": [
        null
      ],
      "certificateUrl": [
        null
      ],
      "canDelete": true,
      "usersReactions": [
        null
      ],
      "reactionsTotals": [
        null
      ],
      "itemId": "string",
      "translationKeys": [
        "string"
      ],
      "canLike": true,
      "canComment": true,
      "feedSummaryContent": null
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [UserActivity] false none none
» User Activity UserActivity false none none
»» id integer true none Member identifier
»» activityType string true none Activity type
»» iconURL string false none Activity icon URL
»» activityTimestamp string true none Activity timestamp
»» actionContact [any] true none Activity contact
»» feedItem GenericSrwfeed true none none
»»» feedId integer true none Feed item identifier
»»» feedTitle string true none Feed title
»»» feedTimestamp string false none Feed timestamp
»»» feedSubjectType string true none Feed subject type
»»» feedSubjectId integer true none Feed subject id
»»» feedSegmentId integer false none Feed segment id
»»» feedItemId string false none FeedItem identifier
»»» groupingId string¦null false none Grouping identifier
»»» feedSender any false none Feed sender
»»» feedContent string false none Feed content
»»» feedIsShared boolean false none Feed isShared
»»» feedImage string false none Feed image
»»» feedRecipients [integer] false none Feed recipients
»»» feedComments integer false none Feed number of comments
»»» feedCommentData [string] false none Feed comments
»»» feedReactions [any] false none All reactions on feed item
»»» feedReactionData [any] false none All reactions on feed item from all members
»»» feedUserReactionId integer false none User reaction on feed item
»»» feedFirstUserToReact [any] false none First user to react to feed
»»» downloadUrl [any] false none Relative download URL for the feedItem
»»» certificateUrl [any] false none Relative certificate URL for the feedItem
»»» canDelete boolean false none Do you have permissions to delete this feedItem
»»» usersReactions [any] false none All reactions on feed item
»»» reactionsTotals [any] false none Stats about reactions on feed item
»»» itemId string false none Item identifier
»»» translationKeys [string] false none Mapping from phrase to translated phrase
»»» canLike boolean false none Do you have permissions to like this feedItem
»»» canComment boolean false none Do you have permissions to comment this feedItem
»»» feedSummaryContent any false none Feed summary content

Get hierarchy for specific member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/{identifier}/hierarchy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/{identifier}/hierarchy HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/{identifier}/hierarchy \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/{identifier}/hierarchy',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/{identifier}/hierarchy

This endpoint will return the hierarchy for specific members based on their member id, payroll * number, email hash

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
identifier path integer true Member identifier

Example responses

200 Response

{
  "id": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
  "reportsTo": [
    {
      "user": {
        "id": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
        "firstName": "John",
        "lastName": "Doe",
        "avatarUrl": "https://rewardgateway.new/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d"
      },
      "registrationQuestions": "string"
    }
  ],
  "manages": [
    {
      "user": {
        "id": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
        "firstName": "John",
        "lastName": "Doe",
        "avatarUrl": "https://rewardgateway.new/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d"
      },
      "registrationQuestions": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» id string true none none
» reportsTo [object] true none none
»» user object false none none
»»» id string false none none
»»» firstName string false none none
»»» lastName string false none none
»»» avatarUrl string false none none
»» registrationQuestions string false none none
» manages [object] true none none
»» user object false none none
»»» id string false none none
»»» firstName string false none none
»»» lastName string false none none
»»» avatarUrl string false none none
»» registrationQuestions string false none none

Get a specific member's information

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/{identifier}/details', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/{identifier}/details HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/{identifier}/details \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/{identifier}/details',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/{identifier}/details

This endpoint will return information about a specific member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
identifier path string true User identifier

Example responses

200 Response

"string"

Responses

Status Meaning Description Schema
200 OK Successful operation string
403 Forbidden Access to the resource has been denied errorModel

Get all supported stats for specific member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/{identifier}/stats', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/{identifier}/stats HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/{identifier}/stats \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/{identifier}/stats',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/{identifier}/stats

This endpoint returns all supported stats for specific member by member id, payroll number, * email hash

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
identifier path integer true Member identifier

Example responses

200 Response

{
  "id": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
  "stats": [
    [
      {
        "title": "eCards sent",
        "count": 0,
        "iconUrl": "https://static.rewardgateway.dev/BrandAssets/responsive/img/Member/Stats/ecardssent.png"
      }
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» id string true none none
» stats [array] true none none
»» title string true none none
»» count integer true none none
»» iconUrl string true none none

Get current member's cashback statement

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/cashback/statement', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/cashback/statement HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/cashback/statement \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/cashback/statement',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/cashback/statement

This endpoint returns the cashback statement for the current member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
page query integer false Offset the number of results returned
limit query integer false Constraint the number of results returned

Example responses

200 Response

[
  {
    "date": "string",
    "type": "string",
    "spent": 0.1,
    "cashback": 0.1,
    "status": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [UserCashbackTransaction] false none none
» User Cashback Transaction UserCashbackTransaction false none none
»» date string true none Transaction date
»» type string true none Transaction type
»» spent number(float) true none Amount spent
»» cashback number(float) true none Cashback earned
»» status string true none Transaction status

Get current member's savings

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/savings', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/savings HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/savings \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/savings',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/savings

This endpoint returns the savings statistics about the current member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "cashback": 0,
  "instore": 0,
  "total": 0
}

Responses

Status Meaning Description Schema
200 OK Savings statistics Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» cashback number true none none
» instore number true none none
» total number true none none

Get current member's cashback balance

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/user/cashback/balance', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/user/cashback/balance HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/user/cashback/balance \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/user/cashback/balance',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /user/cashback/balance

This endpoint returns the cashback balance for the current member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

{
  "totalBalance": 0,
  "confirmedBalance": 0
}

Responses

Status Meaning Description Schema
200 OK Cashback balance available Inline
401 Unauthorized Invalid credentials errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» totalBalance number true none none
» confirmedBalance number true none none

Helpers

Reward Gateway Helper API endpoints

Validate phone number

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/locale/validate/phone', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/locale/validate/phone HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/locale/validate/phone \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "number": "string",
  "type": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/locale/validate/phone',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /locale/validate/phone

This endpoint will validate the phone number based on the current member's locale.

Body parameter

number: string
type: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» number body string false Phone number to be validated
» type body string false Type of phone to be validated (mobile

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Mobile phone valid standardModel
400 Bad Request Bad request errorModel
404 Not Found Phone not valid errorModel

Validate postal code

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/locale/validate/postalcode', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/locale/validate/postalcode HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/locale/validate/postalcode \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "postalCode": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/locale/validate/postalcode',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /locale/validate/postalcode

This endpoint will validate the postal code based on the current member's locale.

Body parameter

postalCode: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object true none
» postalCode body string false Postal code to be validated from the member's locale

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Postal code valid standardModel
400 Bad Request Bad request errorModel
404 Not Found Postal code not valid errorModel

Get a list of all locales

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/locales', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/locales HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/locales \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/locales',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /locales

This endpoint returns a list of all locales

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning

Example responses

200 Response

[
  {
    "id": 1,
    "name": "GB",
    "lang": "en_GB",
    "currency": "GBP",
    "symbol": "£",
    "states": [
      {
        "code": "string",
        "name": "string"
      }
    ],
    "contactFields": {
      "firstName": "First Name",
      "lastName": "Surname",
      "emailAddress": "Email Address",
      "mobilePhoneNumber": "Mobile Phone Number",
      "addressLine1": "Address Line 1",
      "addressLine2": "Address Line 2",
      "addressLine3": "Address Line 3",
      "addressLine4": "Address Line 4",
      "postCode": "Postcode"
    },
    "mappings": {
      "locale": "Locale CDN url",
      "fallback": "Fallback locale CDN url"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GenericLocale] false none none
» Generic Locale GenericLocale false none none
»» id integer(int32) true none Locale identifier
»» name string true none Locale name
»» lang string true none Locale language
»» currency string true none Locale currency
»» symbol string true none Locale currency symbol
»» states [GenericState] true none Locale state list
»»» Generic State GenericState false none none
»»»» code string true none none
»»»» name string true none none
»» contactFields object true none none
»»» firstName any false none List of translated contact fields
»»» lastName any false none none
»»» emailAddress any false none none
»»» mobilePhoneNumber any false none none
»»» addressLine1 any false none none
»»» addressLine2 any false none none
»»» addressLine3 any false none none
»»» addressLine4 any false none none
»»» postCode any false none none
»» mappings object false none none
»»» locale string false none Mappings to download jsons for React apps
»»» fallback string false none none

Get programme information from given uuid

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/lookup-scheme-uuid', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/lookup-scheme-uuid?schemeUuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/lookup-scheme-uuid?schemeUuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9 \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/lookup-scheme-uuid?schemeUuid=8a98e6b3-d06d-4c18-85d7-fc239c87a2c9',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/lookup-scheme-uuid

This endpoint searches for the uuid provided and returns the related programme information if * there is a match.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
schemeUuid query string true Scheme Uuid

Example responses

200 Response

{
  "id": 1234,
  "name": "Acme Rewards",
  "companyName": "Acme Ltd",
  "url": "https://acme.rewardgateway.com",
  "hasUsernameEndpoint": true,
  "branding": {}
}

Responses

Status Meaning Description Schema
200 OK Successful operation scheme
400 Bad Request Required parameters in request are missing/invalid standardModel
404 Not Found No scheme uuid match standardModel

Get description for the client

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/lookup-client', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/lookup-client?clientId=Example&schemeId=1 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/lookup-client?clientId=Example&schemeId=1 \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/lookup-client?clientId=Example&schemeId=1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/lookup-client

Get more information and description for the client id

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
clientId query string true Client identifier
schemeId query integer true Programme identifier

Example responses

200 Response

{
  "client": {
    "id": "client_identifier",
    "name": "Acme Integration",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Lorem ipsum dolor sit amet",
    "privacyUrl": "https://www.acme.com/privacy",
    "termsUrl": "https://www.acme.com/terms-and-conditions",
    "isInternal": false
  },
  "scheme": {
    "id": 1234,
    "name": "Acme Rewards",
    "companyName": "Acme Ltd",
    "url": "https://acme.rewardgateway.com",
    "hasUsernameEndpoint": true,
    "branding": {}
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Required parameters in request are missing/invalid standardModel
403 Forbidden This api integration is currently disabled standardModel
404 Not Found Could not match any valid clients to describe standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» client client false none Class Client
»» id string true none Client identifier
»» name string true none Client name
»» logo string true none Client logo
»» description string true none Client description
»» privacyUrl string true none Client's privacy URL
»» termsUrl string true none Client's terms and conditions URL
»» isInternal boolean true none none
» scheme scheme false none none
»» id integer(int32) true none Programme identifier
»» name string true none Programme name
»» companyName string true none Programme company
»» url string true none Programme URL
»» hasUsernameEndpoint boolean true none Programme has username endpoint
»» branding object true none none

Get programme information from given domain

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/lookup-scheme-alias', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/lookup-scheme-alias?alias=rewardgateway.com HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/lookup-scheme-alias?alias=rewardgateway.com \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/lookup-scheme-alias?alias=rewardgateway.com',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/lookup-scheme-alias

This endpoint searches for the domain provided and returns the related programme information if there is a match.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
alias query string true Scheme Alias

Example responses

200 Response

[
  {
    "code": null,
    "message": null,
    "details": [
      null
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
404 Not Found No scheme alias match errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [standardModel] false none none
» Standard Model standardModel false none none
»» code any true none none
»» message any true none none
»» details [any] true none none

Get description of all oAuth 2.0 scopes

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/lookup-scopes', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/lookup-scopes?scopes=client HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/lookup-scopes?scopes=client \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/lookup-scopes?scopes=client',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/lookup-scopes

This endpoint will return a list of all scopes used within the application and descriptions of what each does.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
scopes query string true Scopes, separated by spaces

Example responses

200 Response

{
  "scope1": "Scope 1 description",
  "scopeN": "Scope N description"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Required parameters in request are missing/invalid standardModel
404 Not Found Could not match any valid scopes to describe standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» scope1 string false none The description for the first scope
» scopeN string false none The description for the n-th scope

Find programmes by email address

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/lookup-scheme', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/lookup-scheme?username=example%40test.com HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/lookup-scheme?username=example%40test.com \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/lookup-scheme?username=example%40test.com',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/lookup-scheme

Find a list of programmes that an email is registered on

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
username query string true Email address of the member
clientId query string false Identifier of client connecting to the API

Example responses

200 Response

[
  {
    "member": {
      "id": "00000000-0000-0000-0000-000000000000",
      "email": "user@acme.com"
    },
    "scheme": {
      "id": 1234,
      "name": "Acme Rewards",
      "companyName": "Acme Ltd",
      "url": "https://acme.rewardgateway.com",
      "hasUsernameEndpoint": true,
      "branding": {}
    },
    "locale": {
      "id": 1
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Required parameters in request are missing/invalid standardModel
401 Unauthorized Access token expired standardModel
403 Forbidden Product is disabled for programme standardModel
404 Not Found Member/programme not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [simplifiedResponse] false none none
» Simplified Response simplifiedResponse false none none
»» member simplifiedMember true none none
»»» id string true none Member identifier
»»» email string true none Member email
»» scheme simplifiedScheme true none none
»»» id integer(int32) true none Programme identifier
»»» name string true none Programme name
»»» companyName string true none Programme company
»»» url string true none Programme URL
»»» hasUsernameEndpoint boolean true none Programme has username endpoint
»»» branding object false none none
»» locale simplifiedLocale true none none
»»» id integer(int32) true none Locale identifier

Is app version supported

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/version-supported', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/version-supported?clientId=Example&appVersion=3&os=ios&locale=1 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/version-supported?clientId=Example&appVersion=3&os=ios&locale=1 \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/version-supported?clientId=Example&appVersion=3&os=ios&locale=1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/version-supported

Check if the provided app version is supported

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
clientId query string true Identifier of client connecting to the API
appVersion query string true App version
os query string true Operating system one of os or android
locale query integer true Locale identifier

Example responses

200 Response

{
  "supported": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
304 Not Modified Response was not modied None
400 Bad Request Required parameters in request are missing/invalid standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» supported boolean false none none

Response Headers

Status Header Type Format Description
200 ETag string ETag version of the response
304 ETag string ETag version of the response

Returns the current api and app version for os

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/versions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/versions?os=ios&clientId=Example&locale=1 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/versions?os=ios&clientId=Example&locale=1 \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/versions?os=ios&clientId=Example&locale=1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/versions

This endpoint returns the current minimum supported api versions for your client id.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
os query string true Operating system one of os or android
clientId query string true Identifier of client connecting to the API
locale query integer true Locale identifier

Example responses

200 Response

{
  "appVersion": "1.2.3",
  "apiVersion": "1.2.3"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Required parameters in request are missing/invalid standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» appVersion string false none none
» apiVersion string false none none

Sends one-time passcode to member

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/helpers/mail-otp', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/helpers/mail-otp HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/helpers/mail-otp \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "username": "string",
  "clientId": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/mail-otp',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /helpers/mail-otp

This endpoint will send an One-time passcode to a member. This maybe used for verification * purposes.

Body parameter

username: string
clientId: string

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
body body object false none
» username body string true Member identifier
» clientId body string true Identifier of client connecting to the API

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Required parameters in request are missing/invalid standardModel
403 Forbidden Access denied standardModel
404 Not Found Member/programme not found standardModel
429 Too Many Requests Too many requests standardModel
500 Internal Server Error Sorry, something went wrong standardModel

Expire access token

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/helpers/expire-accesstoken', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/helpers/expire-accesstoken HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X POST https://api.rewardgateway.net/helpers/expire-accesstoken \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/helpers/expire-accesstoken',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /helpers/expire-accesstoken

Mark access token as expired

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
Authorization header string true Authorization Header with Bearer Token

Example responses

401 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
204 No Content Successful operation None
401 Unauthorized Access token expired standardModel

Get address format from given country code

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/helpers/address-format', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/helpers/address-format?countryCode=GB HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/helpers/address-format?countryCode=GB \
  -H 'Accept: application/json' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/helpers/address-format?countryCode=GB',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /helpers/address-format

This endpoint searches for the country code provided and returns the related address format * there is a match.

Parameters

Name In Type Required Description
Accept header string true Accept Header with Vendor Versioning
countryCode query string true Member Country Code

Example responses

200 Response

{
  "format": "string",
  "requiredFields": [
    null
  ],
  "postalCodePattern": "string",
  "states": [
    {
      "sign": "string",
      "name": "string",
      "postalCodePattern": "string",
      "postalCodePatternType": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation addressFormat
400 Bad Request Required parameters in request are missing/invalid standardModel
404 Not Found Not valid country code standardModel

Transactions

Payment transactions related endpoints

Get transaction list

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/transactions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/transactions HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/transactions \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/transactions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /transactions

Get transaction list

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
filters query string false filters based on transaction_id, local_status, transaction_type, transaction_date, member, account_id
sort query string false Sort results by chosen criteria, id & transactionDate
limit query integer false Limit the elements in the result
page query integer false Starting position of the resultset

Example responses

200 Response

{
  "page": 1,
  "limit": 10,
  "pages": 5,
  "total": 50,
  "_links": [
    {
      "self": {
        "href": "/transactions?0=scheme_id=1&page=1&limit=10"
      },
      "first": {
        "href": "/transactions?0=scheme_id=1&page=1&limit=10"
      },
      "last": {
        "href": "/transactions?0=scheme_id=1&page=1&limit=10"
      },
      "next": {
        "next": "/transactions?0=scheme_id=1&page=1&limit=10"
      }
    }
  ],
  "_embedded": [
    {
      "items": [
        [
          {
            "id": 1,
            "memberId": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
            "transactionType": 1,
            "transactionDate": "2014-03-20T00:00:00+0000",
            "localStatus": "Confirmed",
            "sourceId": 1,
            "destinationId": 4,
            "localStatusModified": "2014-03-25T00:00:00+0000"
          }
        ]
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Transaction list Inline
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel
500 Internal Server Error Unhandled error while fetching transaction None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» page integer true none none
» limit integer true none none
» pages integer true none none
» total integer true none none
» _links [object] true none none
»» self object true none none
»»» href string false none none
»» first object true none none
»»» href string false none none
»» last object true none none
»»» href string false none none
»» next object true none none
»»» next string false none none
» _embedded [object] true none none
»» items [array] true none none
»»» id integer true none none
»»» memberId string true none none
»»» transactionType integer true none none
»»» transactionDate string true none none
»»» localStatus string true none none
»»» sourceId integer true none none
»»» destinationId integer true none none
»»» localStatusModified string true none none

Get transaction details by transaction id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/transactions/{transactionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/transactions/{transactionId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/transactions/{transactionId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/transactions/{transactionId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /transactions/{transactionId}

Get transaction details by transaction id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
transactionId path integer true The id the transaction id

Example responses

200 Response

null

Responses

Status Meaning Description Schema
200 OK Transaction details FetchOneTransaction
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel
500 Internal Server Error Unhandled error while fetching transaction None

Account

General endpoints related to the client account

Returns information on scheme feature settings

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/features', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/features HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/features \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/scheme/features',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/features

Gets information about scheme feature

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
schemeUuid query string false The uuid of the scheme

Example responses

200 Response

{
  "connectPlusEnabled": true,
  "srwEnabled": true,
  "canLike": true,
  "canComment": true,
  "nominationEnabled": true,
  "instantAwardsEnabled": true,
  "eCardsEnabled": true,
  "showWallFilters": true,
  "blogsEnabled": true,
  "profilesEnabled": true,
  "privateSendingEnabled": true,
  "gifEnabled": true,
  "isSchemeOnGlobalSetting": true,
  "isMarketplaceEnabled": true,
  "isSegmentedRewardsEnabled": true,
  "isPreloaded": true,
  "isUnregisteredUSFEnabled": true,
  "groupsEnabled": true,
  "groupRecognitionEnabled": true,
  "groupRecognitionRecipientLimitEnabled": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation RecognitionSchemeFeature
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel

Fetch scheme details by scheme uuid

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/schemes/{schemeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/schemes/{schemeUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/schemes/{schemeUuid} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/schemes/{schemeUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /schemes/{schemeUuid}

Fetch scheme details by scheme uuid

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "id": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "name": "Example Programme",
  "companyName": "Example Company Programme",
  "companyLegalName": "Example Company Programme",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "265 Tottenham Court Rd",
  "addressLine3": "265 Tottenham Court Rd",
  "addressLine4": "265 Tottenham Court Rd",
  "postalCode": "W1T 7RQ",
  "billingCountry": "Reward Gateway UK",
  "brandLogo": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "brandLogoId": 1,
  "brandLogoSVG": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.svg",
  "brandLogoRaster": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "brandLogoSVGId": 1,
  "companyLogo": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "companyLogoId": 1,
  "companyLogoSVG": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.svg",
  "companyLogoRaster": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "companyLogoSVGId": 1,
  "status": 1,
  "branding": [
    "string"
  ]
}

Responses

Status Meaning Description Schema
200 OK Scheme entity FetchOneScheme

Boost

Boost related endpoints

Fetch Boost Recognition Subject

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/boost/subject/recognition/{subjectType}/{subjectId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/boost/subject/recognition/{subjectType}/{subjectId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/boost/subject/recognition/{subjectType}/{subjectId} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/subject/recognition/{subjectType}/{subjectId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /boost/subject/recognition/{subjectType}/{subjectId}

Fetch Boost Recognition Subject

Parameters

Name In Type Required Description
subjectType path string true Type of the subject
subjectId path string true Identifier of the subject

Example responses

200 Response

{
  "isBoostable": true,
  "isBoostedByCurrentMember": false,
  "boostRecognitionUuid": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
  "boostCount": 10,
  "boostedBy": [
    {
      "id": "071f0f24-7c7f-4ed4-a2eb-bbfb45368509",
      "firstName": "Joe",
      "lastName": "Bloggs",
      "avatarUrl": "https://avatar.url"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Boost Recogition Subject Response Inline
400 Bad Request Boost Service Not found None
404 Not Found Boost Recognition Subject not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» isBoostable boolean false none none
» isBoostedByCurrentMember boolean false none none
» boostRecognitionUuid string false none none
» boostCount integer false none none
» boostedBy [object] false none none
»» id string false none none
»» firstName string false none none
»» lastName string false none none
»» avatarUrl string false none none

Get the Boost Configuration for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/boost/configuration/{schemeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/boost/configuration/{schemeUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/boost/configuration/{schemeUuid} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/configuration/{schemeUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /boost/configuration/{schemeUuid}

Get the Boost Configuration for a scheme

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "accountId": 123,
  "clientBalance": 1000.5,
  "boostBalance": 5000,
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit",
  "recognitions": [
    {
      "type": "Ecard Category",
      "data": [
        {
          "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "isEnabled": true
        }
      ]
    }
  ],
  "isEnabled": true
}

Responses

Status Meaning Description Schema
200 OK Boost Configuration boostConfiguration
401 Unauthorized Unauthorized Access Exception None
404 Not Found Boost Configuration not found None

Update an existing Boost Configuration for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/boost/configuration/{schemeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/boost/configuration/{schemeUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/boost/configuration/{schemeUuid} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "accountId": 123,
  "clientBalance": 1000.5,
  "boostBalance": 5000,
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit",
  "recognitions": [
    {
      "type": "Ecard Category",
      "data": [
        {
          "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "isEnabled": true
        }
      ]
    }
  ],
  "isEnabled": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/configuration/{schemeUuid}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /boost/configuration/{schemeUuid}

Update an existing Boost Configuration for a scheme

Body parameter

{
  "accountId": 123,
  "clientBalance": 1000.5,
  "boostBalance": 5000,
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit",
  "recognitions": [
    {
      "type": "Ecard Category",
      "data": [
        {
          "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "isEnabled": true
        }
      ]
    }
  ],
  "isEnabled": true
}

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme
body body boostConfiguration false none

Example responses

200 Response

{
  "accountId": 123,
  "clientBalance": 1000.5,
  "boostBalance": 5000,
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit",
  "recognitions": [
    {
      "type": "Ecard Category",
      "data": [
        {
          "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "isEnabled": true
        }
      ]
    }
  ],
  "isEnabled": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation boostConfiguration
401 Unauthorized Not authorized to fetch Boost Configuration None
404 Not Found Boost Configuration already exists None

Create a new Boost Configuration for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/boost/configuration/{schemeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/boost/configuration/{schemeUuid} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/boost/configuration/{schemeUuid} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "accountId": 123,
  "clientBalance": 1000.5,
  "boostBalance": 5000,
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit",
  "recognitions": [
    {
      "type": "Ecard Category",
      "data": [
        {
          "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "isEnabled": true
        }
      ]
    }
  ],
  "isEnabled": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/configuration/{schemeUuid}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /boost/configuration/{schemeUuid}

Create a new Boost Configuration for a scheme

Body parameter

{
  "accountId": 123,
  "clientBalance": 1000.5,
  "boostBalance": 5000,
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit",
  "recognitions": [
    {
      "type": "Ecard Category",
      "data": [
        {
          "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "isEnabled": true
        }
      ]
    }
  ],
  "isEnabled": true
}

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme
body body boostConfiguration false none

Example responses

201 Response

{
  "success": true,
  "id": "6446ded7-0ecd-45c4-8e3b-f636fb9f028d"
}

Responses

Status Meaning Description Schema
201 Created Created boostConfigurationAddResponse
401 Unauthorized Not authorized to fetch Boost Configuration None
404 Not Found Boost Configuration already exists None

Boost a recognition subject

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/boost/subject/recognition/{boostRecognitionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/boost/subject/recognition/{boostRecognitionId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/boost/subject/recognition/{boostRecognitionId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "schemeId": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
  "subjectId": "0a116513-682c-4d",
  "subjectType": "ecard",
  "recognitionSenderUuid": "cb19bf78-0332-4f07-a52a-a21c2aa2cae2",
  "recognitionRecipientUuid": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "amount": 250.5
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/subject/recognition/{boostRecognitionId}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /boost/subject/recognition/{boostRecognitionId}

Boost a recognition subject

Body parameter

{
  "schemeId": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
  "subjectId": "0a116513-682c-4d",
  "subjectType": "ecard",
  "recognitionSenderUuid": "cb19bf78-0332-4f07-a52a-a21c2aa2cae2",
  "recognitionRecipientUuid": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "amount": 250.5
}

Parameters

Name In Type Required Description
boostRecognitionId path string true Identifier of the recognition
body body boostRecognitionSubjectRequest false none

Example responses

201 Response

{
  "success": true,
  "id": "6446ded7-0ecd-45c4-8e3b-f636fb9f028d"
}

Responses

Status Meaning Description Schema
201 Created Created Inline
401 Unauthorized Not authorized to create Boost Subject None
404 Not Found Boost Recognition not found None

Response Schema

Status Code 201

Name Type Required Restrictions Description
» success boolean true none none
» id string true none none

Get the Boost Recognition limits for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/boost/recognition/limits/{schemeUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/boost/recognition/limits/{schemeUuid} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/boost/recognition/limits/{schemeUuid} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/recognition/limits/{schemeUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /boost/recognition/limits/{schemeUuid}

Get the Boost Recognition limits for a scheme

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier of the scheme

Example responses

200 Response

{
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit"
}

Responses

Status Meaning Description Schema
200 OK Boost Recognition Limits boostRecognitionLimits
404 Not Found Scheme not found OR Boost Configuration not found None

Fetch subject boost count

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/boost/subject/count/{subjectType}/{subjectId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/boost/subject/count/{subjectType}/{subjectId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/boost/subject/count/{subjectType}/{subjectId} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/subject/count/{subjectType}/{subjectId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /boost/subject/count/{subjectType}/{subjectId}

Fetch subject boost count

Parameters

Name In Type Required Description
subjectType path string true The type of the subject
subjectId path string true Identifier of the subject

Example responses

200 Response

{
  "success": true,
  "subjectBoostCount": 5,
  "configurationBoostLimit": 10,
  "configurationBoostLimitMessage": "Boost limit exceeded"
}

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
401 Unauthorized Unauthorized Access Exception None
404 Not Found Boost Configuration not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» success boolean false none none
» subjectBoostCount integer false none none
» configurationBoostLimit integer false none none
» configurationBoostLimitMessage string false none none

Set the required boost account balance for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/boost/account/set-balance', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/boost/account/set-balance HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/boost/account/set-balance \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "balance": 1000.5
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/boost/account/set-balance',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /boost/account/set-balance

Set the required boost account balance for a scheme

Body parameter

{
  "balance": 1000.5
}

Parameters

Name In Type Required Description
body body BoostSetAccountBalance false none

Example responses

201 Response

{
  "success": true,
  "balance": 1000.5,
  "transactionId": 123
}

Responses

Status Meaning Description Schema
201 Created Boost Balance has been successfully set BoostSetAccountBalanceResponse
401 Unauthorized Not authorized to fetch Boost Configuration None
404 Not Found Boost Configuration not found None

Currency Account

Currency Account related endpoints

Get account details by account id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/accounts/{accountId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/accounts/{accountId}?scheme_id=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/accounts/{accountId}?scheme_id=123 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/accounts/{accountId}?scheme_id=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounts/{accountId}

Get account details by account id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
accountId path integer true Identifier of the account
scheme_id query integer true Identifier of the scheme

Example responses

200 Response

null

Responses

Status Meaning Description Schema
200 OK Account details FetchOneAccount
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel
500 Internal Server Error Unhandled error while fetching account None

Get account list

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/accounts', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/accounts?scheme_id=123 HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/accounts?scheme_id=123 \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/accounts?scheme_id=123',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounts

Get account list

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
filters query string false filters based on account_id, member_id
scheme_id query integer true Identifier of the scheme
sort query string false Sort results by chosen criteria, account_id
limit query integer false Limit the elements in the result
page query integer false Starting position of the resultset

Example responses

200 Response

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    },
    "first": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    },
    "last": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    },
    "next": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "id": 1,
        "accountType": "Hold Account",
        "balanceIso": "USD"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Accounts list AccountsPaginatedResponse
401 Unauthorized Access token expired standardModel
403 Forbidden Access to the resource has been denied standardModel
500 Internal Server Error Unhandled error while fetching account None

Groups

Groups related endpoints

Get a limited set of member's data from a single group

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/groups/{schemeUuid}/{groupId}/members', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/groups/{schemeUuid}/{groupId}/members HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/groups/{schemeUuid}/{groupId}/members \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/groups/{schemeUuid}/{groupId}/members',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /groups/{schemeUuid}/{groupId}/members

This endpoint returns one or more group member entities where the member belongs to a group

Parameters

Name In Type Required Description
schemeUuid path string true The scheme UUID
groupId path integer true The group ID
offset query integer false Offset the number of results returned
limit query integer false The limit for results

Example responses

200 Response

[
  {
    "memberUuid": "c8e48fec-8d98-483b-9272-3a2151ef31cd",
    "displayName": "Arthur Dent",
    "avatarUrl": "https://ugc.rewardgateway.com/avatars/default/200x200_AD-default-3.png"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Could not perform a group members request errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GroupMemberEntity] false none [Group Member Entity

A limited set of data for a member that is part of a group.]
» memberUuid string true none none
» displayName string true none none
» avatarUrl string true none none

List groups by scheme with optional search by group name

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/groups/{schemeUuid}/list', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/groups/{schemeUuid}/list HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/groups/{schemeUuid}/list \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/groups/{schemeUuid}/list',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /groups/{schemeUuid}/list

This endpoint returns a list of groups with an option to search the groups by their names

Parameters

Name In Type Required Description
schemeUuid path string true The scheme UUID
query query string false A query term to search groups or tags with
offset query integer false Offset the number of results returned
active query boolean false Show only active groups
limit query integer false The limit for results

Example responses

200 Response

[
  {
    "id": 12,
    "name": "Global Group",
    "createdBy": "Example user",
    "state": "Active",
    "segmentId": 231,
    "segmentName": "Global Segment",
    "dataSource": "Membership file",
    "schemeId": 1,
    "dateCreated": "2023-11-01 09:00:00",
    "avatarUrl": "https://static.rewardgateway.com/img/groups/group-avatars/default/200x200_green-default-1.png",
    "countMembers": 42
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
500 Internal Server Error Could not perform a group search errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GroupSearchEntity] false none [Group Search Entity

A basic set of data from a GroupEntity object for use in search results]
» id integer true none none
» name string true none none
» createdBy string true none none
» state string true none none
» segmentId integer true none none
» segmentName string true none none
» dataSource string true none none
» schemeId integer true none none
» dateCreated string true none none
» avatarUrl string true none none
» countMembers integer true none none

Schemes

Scheme management related endpoints

Fetch a menu for a programme.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/{schemeUuid}/menu', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/{schemeUuid}/menu HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/{schemeUuid}/menu \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api.rewardgateway.net/scheme/{schemeUuid}/menu',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/{schemeUuid}/menu

This endpoint will allow you to fetch a menu on a programme.

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier to identify a scheme
languageId query integer false identifier to load different language version of the menu, if not provided we default to the first identifier from available menu languages. See MenuLanguage schema.

Example responses

200 Response

{
  "children": [
    {
      "id": 1,
      "name": "Example menu item",
      "description": "Example menu item description.",
      "allowRemove": true,
      "allowEditName": true,
      "allowEditURL": true,
      "url": "#",
      "allowEditDescription": true,
      "order": 5,
      "allowEditOrder": true,
      "minOrder": 1,
      "maxOrder": 5,
      "depth": -1,
      "dropdownStyle": 0,
      "target": "_blank",
      "allowEditTarget": true,
      "factoryId": "Menu",
      "factoryItemId": 1,
      "parentId": 1,
      "children": [
        {}
      ],
      "isNew": true,
      "canHaveChildren": true,
      "isHome": false
    }
  ],
  "segmentId": 1,
  "showUserSavings": true,
  "availableMenuLanguages": [
    {
      "id": 1,
      "name": "En_GB"
    }
  ],
  "availableMenuItems": [
    {
      "id": 1,
      "name": "Example menu item",
      "description": "Example menu item description.",
      "allowRemove": true,
      "allowEditName": true,
      "allowEditURL": true,
      "url": "#",
      "allowEditDescription": true,
      "order": 5,
      "allowEditOrder": true,
      "minOrder": 1,
      "maxOrder": 5,
      "depth": -1,
      "dropdownStyle": 0,
      "target": "_blank",
      "allowEditTarget": true,
      "factoryId": "Menu",
      "factoryItemId": 1,
      "parentId": 1,
      "children": [
        {}
      ],
      "isNew": true,
      "canHaveChildren": true,
      "isHome": false
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation MenuRoot
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Menu editor is not found standardModel

Create or update a menu for a programme.

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/scheme/{schemeUuid}/menu', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/scheme/{schemeUuid}/menu HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/scheme/{schemeUuid}/menu \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api.rewardgateway.net/scheme/{schemeUuid}/menu',
{
  method: 'PUT',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /scheme/{schemeUuid}/menu

This endpoint will allow you to create or update a menu on a programme.

Parameters

Name In Type Required Description
schemeUuid path string true Unique identifier to identify a scheme
languageId query integer false identifier to load different language version of the menu, if not provided we default to the first identifier from available menu languages. See MenuLanguage schema.

Example responses

200 Response

{
  "children": [
    {
      "id": 1,
      "name": "Example menu item",
      "description": "Example menu item description.",
      "allowRemove": true,
      "allowEditName": true,
      "allowEditURL": true,
      "url": "#",
      "allowEditDescription": true,
      "order": 5,
      "allowEditOrder": true,
      "minOrder": 1,
      "maxOrder": 5,
      "depth": -1,
      "dropdownStyle": 0,
      "target": "_blank",
      "allowEditTarget": true,
      "factoryId": "Menu",
      "factoryItemId": 1,
      "parentId": 1,
      "children": [
        {}
      ],
      "isNew": true,
      "canHaveChildren": true,
      "isHome": false
    }
  ],
  "segmentId": 1,
  "showUserSavings": true,
  "availableMenuLanguages": [
    {
      "id": 1,
      "name": "En_GB"
    }
  ],
  "availableMenuItems": [
    {
      "id": 1,
      "name": "Example menu item",
      "description": "Example menu item description.",
      "allowRemove": true,
      "allowEditName": true,
      "allowEditURL": true,
      "url": "#",
      "allowEditDescription": true,
      "order": 5,
      "allowEditOrder": true,
      "minOrder": 1,
      "maxOrder": 5,
      "depth": -1,
      "dropdownStyle": 0,
      "target": "_blank",
      "allowEditTarget": true,
      "factoryId": "Menu",
      "factoryItemId": 1,
      "parentId": 1,
      "children": [
        {}
      ],
      "isNew": true,
      "canHaveChildren": true,
      "isHome": false
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation MenuRoot
400 Bad Request BadRequest - request parameters invalid. None
403 Forbidden Access to the resource has been denied standardModel

Group Recognition

Group Recognition related endpoints

Create a Group Recognition record

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/group-recognition', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/group-recognition HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/group-recognition \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/group-recognition',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/group-recognition

Create a Group Recognition with one or more groups with optional excluded and additional recipients

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Could not perform a group recognition creation request errorModel

Get the recipient limit for Group Recognition

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/recognition/group-recognition/recipient-limit', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/recognition/group-recognition/recipient-limit HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X GET https://api.rewardgateway.net/recognition/group-recognition/recipient-limit \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/group-recognition/recipient-limit',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /recognition/group-recognition/recipient-limit

Get the recipient limit for Group Recognition or 0 if there is no limit

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Could not perform a group recognition recipient limit request errorModel

Reprocess a Group Recognition record that has warnings or errors

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/recognition/group-recognition/reprocess/{groupRecognitionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/recognition/group-recognition/reprocess/{groupRecognitionId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json

# You can also use wget
curl -X POST https://api.rewardgateway.net/recognition/group-recognition/reprocess/{groupRecognitionId} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/group-recognition/reprocess/{groupRecognitionId}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /recognition/group-recognition/reprocess/{groupRecognitionId}

Reprocess a Group Recognition record that has warnings or errors

Parameters

Name In Type Required Description
groupRecognitionId path integer true The group recognition ID to reprocess

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation standardModel
400 Bad Request Bad request errorModel
403 Forbidden Access to the resource has been denied errorModel
500 Internal Server Error Could not perform a group recognition reprocess request errorModel

Languages

Scheme Languages related endpoints

Retrieve the languages for a scheme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/scheme/languages', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/scheme/languages HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz

# You can also use wget
curl -X GET https://api.rewardgateway.net/scheme/languages \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz'
};

fetch('https://api.rewardgateway.net/scheme/languages',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /scheme/languages

Endpoint returns all the languages that are supported for a given scheme

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token

Example responses

200 Response

[
  {
    "preferredLanguage": "en_GB",
    "languageName": "English (United Kingdom)"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
403 Forbidden Access to the resource has been denied standardModel
404 Not Found Scheme is not found standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GenericLanguage] false none none
» Generic Language GenericLanguage false none none
»» preferredLanguage string true none Preferred language
»» languageName string true none Language name

SmartSpending™

Endpoints to manage SmartSpending™ related functionality. i.e. View offers, make purchases and manage * a member's shopping basket.

List available payment options for the current shopping basket and compartment

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/checkout/payment-options/{basketId}[/{compartmentId}]', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/checkout/payment-options/{basketId}[/{compartmentId}] HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/checkout/payment-options/{basketId}[/{compartmentId}] \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/checkout/payment-options/{basketId}[/{compartmentId}]',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /checkout/payment-options/{basketId}[/{compartmentId}]

This endpoint will list all available payment options for the current shopping basket and compartment

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
basketId path string(uuid) true The identifier of the shopping basket for which to list payment options
compartmentId path integer true The identifier of the basket compartment for which to list payment options

Example responses

200 Response

[
  {
    "type": "card",
    "label": "Pay using a new Credit or Debit Card.",
    "description": "I would like to pay using a credit or debit card.",
    "requirements": {
      "property1": true,
      "property2": true
    },
    "data": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Payment options successfully listed Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found One of the resources was not found errorModel
500 Internal Server Error An error occurred while processing the request standardModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [paymentOption] false none none
» Payment option paymentOption false none none
»» type string true none The type of the payment option
»» label string true none The label of the payment option
»» description string true none The description of the payment option
»» requirements object true none The requirements of the payment option
»»» additionalProperties boolean false none none
»» data object true none Any preset data for the payment option
»»» additionalProperties string false none none

Enumerated Values

Property Value
type test
type card
type token
type applepay
type googlepay
type bancontact

Purchase items currently in the shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/checkout', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/checkout HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/checkout \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/checkout',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /checkout

This endpoint will purchase all items currently available in the shopping basket

Body parameter

basket-id: bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08
compartment-id: 1
use-cashback: false
payment-type: test
telephone-number: "02037801891"

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body checkoutBase false none

Example responses

201 Response

{
  "code": 0,
  "message": "Payment was successful",
  "details": {
    "order-id": 1234
  }
}

Responses

Status Meaning Description Schema
201 Created Payment was successful Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found One of the resources was not found errorModel
500 Internal Server Error An error occurred while processing the request standardModel

Response Schema

Complete payments that require external validation (3DSecure, Bancontact,etc)

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/checkout/verify', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/checkout/verify HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/checkout/verify \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "order-reference": "1234-01",
  "verification-token": "sid_abcdefghijklmnopqrstuvwxyz"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/checkout/verify',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /checkout/verify

This endpoint will complete the purchase all items currently available in the shopping basket

Body parameter

basket-id: bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08
compartment-id: 1
order-reference: 1234-01
verification-token: sid_abcdefghijklmnopqrstuvwxyz

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» basket-id body string(uuid) true The identifier of the shopping basket to purchase
» compartment-id body integer true The identifier of the basket compartment to purchase
» order-reference body string(^[0-9]+-[0-9]{2}$) true The reference of the order to verify
» verification-token body string(^sid_[\w]{26}$) true The token obtained from the external validation

Example responses

201 Response

{
  "code": 0,
  "message": "Payment was successful",
  "details": {
    "order-id": 1234
  }
}

Responses

Status Meaning Description Schema
201 Created Payment was successful Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found One of the resources was not found errorModel
500 Internal Server Error An error occurred while processing the request standardModel

Response Schema

Get a product by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/product/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/product/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/product/{id} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/product/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /product/{id}

This endpoint will return information about a particular product

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path integer true Product Identifier'

Example responses

200 Response

{
  "id": 0,
  "name": "string",
  "price": 0.1,
  "type": "Paper",
  "typeId": 0,
  "visibility": [
    "string"
  ],
  "stockCode": "string",
  "stockStatus": "string",
  "statusMessage": "string",
  "retailer": {
    "id": 0,
    "name": "ASDA",
    "logo": "string"
  },
  "printingRequired": true,
  "minimumOrder": 0.1,
  "maximumOrder": 0.1,
  "denominations": [
    0
  ],
  "isFlex": true
}

Responses

Status Meaning Description Schema
200 OK Successful operation product
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Product was not found errorModel

Get all items in the shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/basket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/basket HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/basket \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/basket',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /basket

This endpoint will return all items the current member has in their shopping basket.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
basketId query string false Basket identifier
compartmentId query integer false Compartment Id

Example responses

200 Response

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Responses

Status Meaning Description Schema
200 OK Successful operation basket
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found errorModel

Response Headers

Status Header Type Format Description
200 ETag string ETag version of the response

Add an item to the shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/basket/{basketId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/basket/{basketId} HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/basket/{basketId} \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "productId": 0,
  "amount": 0,
  "cardId": 0
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/basket/{basketId}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /basket/{basketId}

This endpoint allows you to add an item to the current member's shopping basket.

Body parameter

productId: 0
amount: 0
cardId: 0

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
basketId path string true Basket identifier
compartmentId query integer false Compartment Id
body body object false none
» productId body integer true Product Identifier
» amount body integer true Product Amount
» cardId body integer false Reloadable Card Identifier (only for topups)

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Basket updated successfully standardModel
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Product was not found errorModel

Clear the shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/basket/{basketId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/basket/{basketId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/basket/{basketId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/basket/{basketId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /basket/{basketId}

This endpoint will clear all items currently available in the current member's shopping * basket.

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
basketId path string true Basket identifier
compartmentId query integer false Compartment Id

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Basket emptied successfully standardModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found errorModel

Remove a single item the shopping basket

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/basket/{basketId}/{itemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/basket/{basketId}/{itemId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/basket/{basketId}/{itemId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/basket/{basketId}/{itemId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /basket/{basketId}/{itemId}

This endpoint removes a single product from the current member's shopping basket

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
basketId path string true Basket identifier
itemId path string true Basket item identifier
compartmentId query integer false Compartment Id

Example responses

200 Response

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Basket updated successfully standardModel
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Basket was not found errorModel

Get all payment card information

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/wallet', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/wallet HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/wallet \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wallet',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /wallet

This endpoint returns a list of saved payment cards for the current member

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
compartment query string false Credit card compartment. Value must be one of 'standard', 'randr', 'cashback',

Detailed descriptions

compartment: Credit card compartment. Value must be one of 'standard', 'randr', 'cashback', * 'gym_discounts', 'all'

Example responses

200 Response

[
  {
    "id": "string",
    "alias": "string",
    "cardExpiry": "string",
    "cardPan": "string",
    "cardType": "string",
    "cardFee": 0.1,
    "isCreditCard": true,
    "isTrusted": true,
    "firstName": "string",
    "lastName": "string",
    "addressLine1": "string",
    "addressLine2": "string",
    "addressLine3": "string",
    "addressLine4": "string",
    "postalCode": "string",
    "country": "string",
    "subscriptionId": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [PaymentCard] false none none
» Payment Card PaymentCard false none none
»» id string false none Payment card identifier
»» alias string false none Payment card alias
»» cardExpiry string false none Payment card expiry
»» cardPan string false none Payment card PAN
»» cardType string false none Payment card type
»» cardFee number(float) false none Credit card fee
»» isCreditCard boolean false none Is credit card?
»» isTrusted boolean false none Is payment card trusted?
»» firstName string false none Payment card billing first name
»» lastName string false none Payment card billing last name
»» addressLine1 string false none Payment card billing address line 1
»» addressLine2 string false none Payment card billing address line 2
»» addressLine3 string false none Payment card billing address line 3
»» addressLine4 string false none Payment card billing address line 4
»» postalCode string false none Payment card billing postal code
»» country string false none Payment card billing address country
»» subscriptionId string¦null false none Payment card token

Get a particular payment card information

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/wallet/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/wallet/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/wallet/{id} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wallet/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /wallet/{id}

This endpoint returns information about a particular payment card

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path string true Payment card identifier

Example responses

200 Response

{
  "id": "string",
  "alias": "string",
  "cardExpiry": "string",
  "cardPan": "string",
  "cardType": "string",
  "cardFee": 0.1,
  "isCreditCard": true,
  "isTrusted": true,
  "firstName": "string",
  "lastName": "string",
  "addressLine1": "string",
  "addressLine2": "string",
  "addressLine3": "string",
  "addressLine4": "string",
  "postalCode": "string",
  "country": "string",
  "subscriptionId": "string"
}

Responses

Status Meaning Description Schema
200 OK Successful operation PaymentCard
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Payment card is not found errorModel

Removes a payment card

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.rewardgateway.net/wallet/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE https://api.rewardgateway.net/wallet/{id} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X DELETE https://api.rewardgateway.net/wallet/{id} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wallet/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /wallet/{id}

This endpoint will remove a particular payment card from a member wallet

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
id path integer true Payment card identifier

Example responses

204 Response

"string"

Responses

Status Meaning Description Schema
204 No Content Successful operation string
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Payment card is not found errorModel

Verify a payment card

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'multipart/form-data',
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/wallet/verify', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/wallet/verify HTTP/1.1
Host: api.rewardgateway.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/wallet/verify \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'

const inputBody = '{
  "cardNumber": "string"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/wallet/verify',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /wallet/verify

This endpoint will verify the card number for a new payment card

Body parameter

cardNumber: string

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
body body object false none
» cardNumber body string true Payment card number

Example responses

200 Response

{
  "valid": true,
  "message": "string",
  "cardType": 0,
  "cardFee": 0.1,
  "isCreditCard": true,
  "hasIssueNumber": true
}

Responses

Status Meaning Description Schema
200 OK Card verification complete Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
» valid boolean true none none
» message string true none none
» cardType integer(int32) true none none
» cardFee number(float) true none none
» isCreditCard boolean true none none
» hasIssueNumber boolean true none none

Get a list of vouchers

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartspending/voucher', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartspending/voucher HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartspending/voucher \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartspending/voucher',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartspending/voucher

This endpoint returns a list of vouchers matching

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
retailer query integer false Filter results by retailer
fromDate query string false Filter results by date from
toDate query string false Filter results by date to
archived query boolean false Filter results by archival status
sort query string false Value must be one of 'retailer', 'date'
direction query string false Value must be one of 'asc', 'desc'
page query integer false Offset the number of results returned
limit query integer false Constraint the number of results returned

Example responses

200 Response

[
  {
    "transactionId": 0,
    "entityId": 0,
    "date": "string",
    "logo": "string",
    "name": "string",
    "type": "Paper",
    "denomination": 0.1,
    "redeemed": true,
    "archived": true,
    "refundable": true,
    "currency": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Successful operation Inline
400 Bad Request Invalid request errorModel
403 Forbidden Access to the resource has been denied errorModel

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [MinimalVoucher] false none none
» Minimal Voucher MinimalVoucher false none none
»» transactionId integer true none Voucher transaction identifier
»» entityId integer true none Voucher entity identifier
»» date string true none Voucher purchase date (from Order)
»» logo string true none Voucher logo (from product/retailer)
»» name string true none Voucher name (from product)
»» type string true none Voucher product type
»» denomination number(float) true none Voucher denomination
»» redeemed boolean true none Voucher redemption status
»» archived boolean true none Voucher archival status
»» refundable boolean false none Is the voucher refundable
»» currency string¦null false none Currency

Enumerated Values

Property Value
type Paper
type Electronic
type Card
type Topup
type SMS
type EGiftCard

Get a voucher balance

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.rewardgateway.net/smartspending/voucher/balance/{transactionId}/{entityId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET https://api.rewardgateway.net/smartspending/voucher/balance/{transactionId}/{entityId} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X GET https://api.rewardgateway.net/smartspending/voucher/balance/{transactionId}/{entityId} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartspending/voucher/balance/{transactionId}/{entityId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /smartspending/voucher/balance/{transactionId}/{entityId}

This endpoint will return the balance for a specific voucher

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
transactionId path integer true Voucher transaction identifier
entityId path integer true Voucher entity identifier

Example responses

200 Response

{
  "type": "string",
  "payload": [
    null
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful operation voucherBalance
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Voucher is not found errorModel

Archive a voucher by id

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'xxxxx.yyyyy.zzzzz',
    'Accept' => 'application/vnd.rewardgateway+json;version=3.0',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.rewardgateway.net/smartspending/voucher/archive/{transactionId}/{entityId}/{archive}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST https://api.rewardgateway.net/smartspending/voucher/archive/{transactionId}/{entityId}/{archive} HTTP/1.1
Host: api.rewardgateway.net
Accept: application/json
Authorization: xxxxx.yyyyy.zzzzz
Accept: application/vnd.rewardgateway+json;version=3.0

# You can also use wget
curl -X POST https://api.rewardgateway.net/smartspending/voucher/archive/{transactionId}/{entityId}/{archive} \
  -H 'Accept: application/json' \
  -H 'Authorization: xxxxx.yyyyy.zzzzz' \
  -H 'Accept: application/vnd.rewardgateway+json;version=3.0'


const headers = {
  'Accept':'application/json',
  'Authorization':'xxxxx.yyyyy.zzzzz',
  'Accept':'application/vnd.rewardgateway+json;version=3.0'
};

fetch('https://api.rewardgateway.net/smartspending/voucher/archive/{transactionId}/{entityId}/{archive}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /smartspending/voucher/archive/{transactionId}/{entityId}/{archive}

This endpoint will archive a voucher based on а voucher id

Parameters

Name In Type Required Description
Authorization header string true Authorization Header with Bearer Token
Accept header string true Accept Header with Vendor Versioning
transactionId path integer true Voucher transaction identifier
entityId path integer true Voucher entity identifier
archive path boolean true Archival status to apply

Example responses

403 Response

{
  "code": null,
  "message": null
}

Responses

Status Meaning Description Schema
204 No Content Voucher archival status successfully changed None
403 Forbidden Access to the resource has been denied errorModel
404 Not Found Voucher is not found errorModel
500 Internal Server Error Could not generate template errorModel

Recognition

Update an approver level for a recognition programme

Code samples

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels HTTP/1.1
Host: api.rewardgateway.net
Content-Type: application/json
Accept: application/json

# You can also use wget
curl -X PUT https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const inputBody = '{
  "rrSchemeId": 123,
  "schemeId": 123,
  "level": 123,
  "name": "Standard Approver Level",
  "selectionMethod": 123,
  "selectionDirection": 123,
  "segmentId": 123,
  "lineManagerLevel": 123
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://api.rewardgateway.net/recognition/programmes/{programmeId}/approver-levels',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /recognition/programmes/{programmeId}/approver-levels

Update an approver level for a recognition programme

Body parameter

{
  "rrSchemeId": 123,
  "schemeId": 123,
  "level": 123,
  "name": "Standard Approver Level",
  "selectionMethod": 123,
  "selectionDirection": 123,
  "segmentId": 123,
  "lineManagerLevel": 123
}

Parameters

Name In Type Required Description
programmeId path integer true Unique identifier of a recognition programme
body body approverLevel false none

Example responses

201 Response

{
  "rrSchemeId": 123,
  "schemeId": 123,
  "level": 123,
  "name": "Standard Approver Level",
  "selectionMethod": 123,
  "selectionDirection": 123,
  "segmentId": 123,
  "lineManagerLevel": 123
}

Responses

Status Meaning Description Schema
201 Created Recognition Programme Approver Level approverLevel
400 Bad Request Approver Level not found None
401 Unauthorized Not authorized to edit Approver Level None

Schemas

createPaymentMethodWidgetResponse

{
  "created_at": 1517506015,
  "embed": false,
  "expires_at": 1517592415,
  "id": "__test__LycuLPCkhW3axOiXjHWkOOVl3ZE3yLLni",
  "object": "hosted_page",
  "resource_version": 1517506015000,
  "state": "created",
  "type": "manage_payment_sources",
  "updated_at": 1517506015,
  "url": "https://yourapp.chargebee.com/pages/v3/__test__LycuLPCkhW3axOiXjHWkOOVl3ZE3yLLni/"
}

Payment Method Widget Object

Properties

Name Type Required Restrictions Description
created_at integer true none RGSB Create portal session on payment method widget
embed boolean true none none
expires_at integer true none none
id string true none none
object string true none none
resource_version integer true none none
state string true none none
type string true none none
updated_at integer true none none
url string true none none

checkoutTypeTest

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891"
}

Checkout request for payment type 'test'

Properties

None

checkoutTypeCashback

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891"
}

Checkout request for payment type 'cashback'

Properties

None

checkoutTypeBancontact

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891",
  "language": "fr"
}

Checkout request for payment type 'bancontact'

Properties

allOf - discriminator: checkoutBase.payment-type

Name Type Required Restrictions Description
anonymous checkoutBase false none Checkout request base parameters

and

Name Type Required Restrictions Description
anonymous object false none none
» language string false none The language to use for the payment

Enumerated Values

Property Value
language fr
language nl

checkoutTypeApplepay

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891",
  "first-name": "John",
  "last-name": "Smith",
  "card-token": "tok_abcdefghijklmnopqrstuvwxyz",
  "card-bin": "424242",
  "card-last4": "4242",
  "card-expiry-month": "12",
  "card-expiry-year": "2024",
  "card-method": 1
}

Checkout request for payment type 'applepay'

Properties

allOf - discriminator: checkoutBase.payment-type

Name Type Required Restrictions Description
anonymous checkoutBase false none Checkout request base parameters

and

Name Type Required Restrictions Description
anonymous object false none none
» first-name string true none The first name of the card holder
» last-name string true none The last name of the card holder
» card-token string true none Tokenized card obtained from checkout.com
» card-bin string true none First 6 digits of the card number
» card-last4 string true none Last 4 digits of the card number
» card-expiry-month string true none The expiry month of the card
» card-expiry-year string true none The expiry year of the card (4 digits)
» card-method integer true none The type of card

checkoutTypeGooglepay

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891",
  "first-name": "John",
  "last-name": "Smith",
  "card-token": "tok_abcdefghijklmnopqrstuvwxyz",
  "card-bin": "424242",
  "card-last4": "4242",
  "card-expiry-month": "12",
  "card-expiry-year": "2024",
  "card-method": 1
}

Checkout request for payment type 'googlepay'

Properties

allOf - discriminator: checkoutBase.payment-type

Name Type Required Restrictions Description
anonymous checkoutBase false none Checkout request base parameters

and

Name Type Required Restrictions Description
anonymous object false none none
» first-name string true none The first name of the card holder
» last-name string true none The last name of the card holder
» card-token string true none Tokenized card obtained from checkout.com
» card-bin string true none First 6 digits of the card number
» card-last4 string true none Last 4 digits of the card number
» card-expiry-month string true none The expiry month of the card
» card-expiry-year string true none The expiry year of the card (4 digits)
» card-method integer true none The type of card

checkoutTypeCardSaved

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891",
  "first-name": "John",
  "last-name": "Smith",
  "card-id": 12345,
  "card-validation-token": "tok_abcdefghijklmnopqrstuvwxyz"
}

Checkout request for payment type 'token'

Properties

allOf - discriminator: checkoutBase.payment-type

Name Type Required Restrictions Description
anonymous checkoutBase false none Checkout request base parameters

and

Name Type Required Restrictions Description
anonymous object false none none
» first-name string true none The first name of the card holder
» last-name string true none The last name of the card holder
» card-id integer true none Identifier of the saved card to use for the payment
» card-validation-token string false none The validation token for the saved card

checkoutTypeCardNew

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891",
  "first-name": "John",
  "last-name": "Smith",
  "card-token": "tok_abcdefghijklmnopqrstuvwxyz",
  "card-bin": "424242",
  "card-last4": "4242",
  "card-expiry-month": "12",
  "card-expiry-year": "2024",
  "card-method": 1,
  "card-tokenize": true,
  "card-alias": "My Saved Card",
  "address-line1": "123 Some Street",
  "address-line2": "Nowhere Hill",
  "address-line3": "Missingtown",
  "address-line4": "Missingham",
  "address-postcode": "X9 1YZ"
}

Checkout request for payment type 'card'

Properties

allOf - discriminator: checkoutBase.payment-type

Name Type Required Restrictions Description
anonymous checkoutBase false none Checkout request base parameters

and

Name Type Required Restrictions Description
anonymous object false none none
» first-name string true none The first name of the card holder
» last-name string true none The last name of the card holder
» card-token string true none Tokenized card obtained from checkout.com
» card-bin string true none First 6 digits of the card number
» card-last4 string true none Last 4 digits of the card number
» card-expiry-month string true none The expiry month of the card
» card-expiry-year string true none The expiry year of the card (4 digits)
» card-method integer true none The type of card
» card-tokenize boolean false none Flag indicating whether the card should be tokenized for future use
» card-alias string false none The alias to use for the tokenized card
» address-line1 string true none The first line of the address associated with the card
» address-line2 string false none The second line of the address associated with the card
» address-line3 string true none The third line of the address associated with the card
» address-line4 string false none The fourth line of the address associated with the card (state in US and AU, required)
» address-postcode string true none The postal code of the address associated with the card

checkoutBase

{
  "basket-id": "bf142d3b-d7ca-8f84-39c6-8ea1c56e7a08",
  "compartment-id": 1,
  "use-cashback": false,
  "payment-type": "test",
  "telephone-number": "02037801891"
}

Checkout request base parameters

Properties

Name Type Required Restrictions Description
basket-id string(uuid) true none The identifier of the shopping basket to purchase
compartment-id integer true none The identifier of the basket compartment to purchase
use-cashback boolean true none Use cashback to pay for the purchase
payment-type string true none The type of payment to use for the purchase: test (available in sandbox only), cashback, card (new payment card), token (stored payment card), applepay, googlepay, bancontact
telephone-number string true none The telephone number to use for the purchase

Enumerated Values

Property Value
payment-type test
payment-type cashback
payment-type card
payment-type token
payment-type applepay
payment-type googlepay
payment-type bancontact

blogfeed

{
  "feedId": 0,
  "feedTitle": "string",
  "feedTimestamp": "string",
  "feedSubjectType": "string",
  "feedSubjectId": 0,
  "feedSegmentId": 0,
  "feedItemId": "string",
  "groupingId": "string",
  "feedAuthor": [
    0
  ],
  "sender": [
    0
  ],
  "feedTimeToRead": "string",
  "feedViewsCount": 0,
  "feedTags": [
    "string"
  ],
  "feedIsShared": true,
  "feedContent": "string",
  "feedSummaryContent": null,
  "feedImage": "string",
  "feedComments": 0,
  "feedCommentData": [
    "string"
  ],
  "feedReactions": [
    "string"
  ],
  "feedReactionData": [
    "string"
  ],
  "feedUserReactionId": 0,
  "usersReactions": [
    "string"
  ],
  "reactionsTotals": [
    "string"
  ],
  "firstUserToReact": [
    0
  ],
  "canLike": true,
  "canComment": true,
  "itemId": "string",
  "blogName": "string",
  "recipients": [
    0
  ],
  "downloadUrl": "string",
  "certificateUrl": "string",
  "canDelete": true,
  "translationKeys": [
    "string"
  ]
}

Blog Feed

Properties

Name Type Required Restrictions Description
feedId integer true none Feed item identifier
feedTitle string true none Feed title
feedTimestamp string false none Feed timestamp
feedSubjectType string true none Feed subject type
feedSubjectId integer true none Feed subject id
feedSegmentId integer false none Feed segment id
feedItemId string false none FeedItem identifier
groupingId string¦null false none Grouping identifier
feedAuthor [integer] false none Feed blog author
sender [integer] false none Feed blog sender
feedTimeToRead string false none Feed blog time to read
feedViewsCount integer false none Feed views count
feedTags [string] false none Feed content
feedIsShared boolean false none Feed isShared
feedContent string false none Feed blog content
feedSummaryContent any false none Feed blog summary content
feedImage string false none Feed image
feedComments integer false none Feed number of comments
feedCommentData [string] false none Feed comments
feedReactions [string] false none All reactions on feed item
feedReactionData [string] false none All reactions on feed item from all members
feedUserReactionId integer false none User reaction on feed item
usersReactions [string] false none All reactions on feed item
reactionsTotals [string] false none Stats about reactions on feed item
firstUserToReact [integer] false none First user to react to feed
canLike boolean false none Do you have permissions to like this feedItem
canComment boolean false none Do you have permissions to comment this feedItem
itemId string false none Item identifier
blogName string false none Name of the blog this post belongs to
recipients [integer] false none Feed recipients
downloadUrl string false none Relative download URL for the feedItem
certificateUrl string false none Relative certificate URL for the feedItem
canDelete boolean false none Do you have permissions to delete this feedItem
translationKeys [string] false none Mapping from phrase to translated phrase

creditBoostAccount

{
  "schemeId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
  "amount": 1000.5
}

API Entity representing the transfer funds into a Boost Account

Properties

Name Type Required Restrictions Description
schemeId string false none Boost Configuration ID (Scheme ID)
amount number(float) false none Amount in currency to transfer

paymentOption

{
  "type": "card",
  "label": "Pay using a new Credit or Debit Card.",
  "description": "I would like to pay using a credit or debit card.",
  "requirements": {
    "property1": true,
    "property2": true
  },
  "data": {
    "property1": "string",
    "property2": "string"
  }
}

Payment option

Properties

Name Type Required Restrictions Description
type string true none The type of the payment option
label string true none The label of the payment option
description string true none The description of the payment option
requirements object true none The requirements of the payment option
» additionalProperties boolean false none none
data object true none Any preset data for the payment option
» additionalProperties string false none none

Enumerated Values

Property Value
type test
type card
type token
type applepay
type googlepay
type bancontact

commsDocument

{
  "title": "Discounts Poster",
  "downloadPath": "https://site1.rewardgateway.dev/admin/comms/document/DiscountsPoster",
  "thumbnailPath": "https://static.rewardgateway.dev/BrandAssets/responsive/img/SelfService/admin/comms/discounts-poster.jpg",
  "type": "PDF",
  "buttonText": "Download",
  "category": "Launch"
}

Class CommsDocument

Properties

Name Type Required Restrictions Description
title string false none Document Title
downloadPath string false none URL to PDF download path
thumbnailPath string false none URL to thumbnail image
type string false none Document Type
buttonText string false none Text to appear as button label
category string false none Document category

nominationEntity

{
  "success": true,
  "message": "string",
  "errors": null,
  "nominationId": 0,
  "nominationFeedItem": [
    {}
  ]
}

Class NominationEntity

Properties

Name Type Required Restrictions Description
success boolean true none none
message string true none none
errors any true none none
nominationId integer true none none
nominationFeedItem [srwfeed] false none none

fvdmerchant

{
  "id": 0,
  "name": "string",
  "description": "string",
  "website": "string",
  "logo": "string",
  "phone": "string",
  "cuisine": "string"
}

Class FVDMerchant

Properties

Name Type Required Restrictions Description
id integer true none none
name string true none none
description string true none none
website string true none none
logo string true none none
phone string true none none
cuisine string false none none

fvdoffer

{
  "id": 0,
  "title": "string",
  "numericPriceRange": 0,
  "priceRange": "string",
  "priceFrom": 0,
  "priceTo": 0,
  "dateCreated": "string",
  "dateUpdated": "string",
  "dateRedeemed": "string",
  "category": "string",
  "status": "string",
  "disclaimer": "string",
  "merchant": {
    "id": 0,
    "name": "string",
    "description": "string",
    "website": "string",
    "logo": "string",
    "phone": "string",
    "cuisine": "string"
  },
  "venue": {
    "id": 0,
    "lat": "string",
    "lon": "string",
    "address": "string",
    "suburb": "string",
    "state": "string",
    "postcode": "string",
    "regioncode": "string",
    "region": "string"
  }
}

Class FVDOffer

Properties

Name Type Required Restrictions Description
id integer true none none
title string true none none
numericPriceRange integer false none none
priceRange string false none none
priceFrom integer false none none
priceTo integer false none none
dateCreated string false none none
dateUpdated string false none none
dateRedeemed string false none none
category string false none none
status string false none none
disclaimer string false none none
merchant fvdmerchant true none Class FVDMerchant
venue fvdvenue false none Class FVDVenue

fvdvenue

{
  "id": 0,
  "lat": "string",
  "lon": "string",
  "address": "string",
  "suburb": "string",
  "state": "string",
  "postcode": "string",
  "regioncode": "string",
  "region": "string"
}

Class FVDVenue

Properties

Name Type Required Restrictions Description
id integer true none none
lat string true none none
lon string true none none
address string true none none
suburb string true none none
state string true none none
postcode string true none none
regioncode string true none none
region string true none none

FeatureToggle

{
  "id": 123,
  "key": "product.newFeature",
  "name": "[Product] Amazing New Feature",
  "isActive": false
}

RG Feature Toggle Api Entity

Properties

Name Type Required Restrictions Description
id integer false none Feature toggle ID
key string false none Feature toggle key
name string false none Feature toggle User friendly name
isActive boolean false none Feature toggle state for current context

AbstractForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Class AbstractForm adds common fields to the entity forms.

Properties

Name Type Required Restrictions Description
uuid string false none Unique identifier for the form
title string false none Form title
description string false none Form description
globalFormError object false none A global form error added after submiting an invalid form
» title string false none none
» message string false none none
enableCaptcha boolean false none If TRUE captcha response should be submited
nextAction NextAction false none The next logical action that can be taken
formFieldSections [FormFieldSection] false none Array of form field sections

AuthCode

{
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  }
}

The next action is the final action and it will generate an Access Token for the user

Properties

Name Type Required Restrictions Description
nextAction NextAction false none The next logical action that can be taken

NextCashbackForm

null

Class NextCashbackForm gives the next form of the cashback enquiry process.

Properties

None

FormField

{
  "id": "sFirstName",
  "type": "text",
  "label": "First Name",
  "description": "Please enter your first name",
  "isHidden": false,
  "isXhrCallback": true,
  "isRequired": true,
  "options": {},
  "attributes": {},
  "value": "string",
  "errors": [
    "string"
  ]
}

Class FormField represents a JSON object of a form field.

Properties

Name Type Required Restrictions Description
id string false none ID of the form field
type string false none Type of the form field
label string false none Label for the form field
description string false none Description of the field
isHidden boolean false none Tell if the field should be visible or not to the user
isXhrCallback boolean false none Tell if the field is mandatory to make xhr request
isRequired boolean false none Tell if the field is mandatory to be populated by the user
options object false none Field options if exist, such as a select fields
attributes object false none If field has additional attrinutes that need to be applied
value any false none none

oneOf

Name Type Required Restrictions Description
» anonymous string false none A default value for the field

xor

Name Type Required Restrictions Description
» anonymous object false none An array of default values for the field

continued

Name Type Required Restrictions Description
errors [string] false none If form was submitted but validation failed for particular field

FormFieldSection

{
  "group": true,
  "type": "date",
  "label": "Date of Birth",
  "fields": [
    {
      "id": "sFirstName",
      "type": "text",
      "label": "First Name",
      "description": "Please enter your first name",
      "isHidden": false,
      "isXhrCallback": true,
      "isRequired": true,
      "options": {},
      "attributes": {},
      "value": "string",
      "errors": [
        "string"
      ]
    }
  ],
  "errors": [
    "string"
  ]
}

Class FormFieldSection represents a JSON object of group of fields.

Properties

Name Type Required Restrictions Description
group boolean false none If TRUE, fields must be grouped on one line.
type string false none If section is marked as a group, then type may changed based on the fields, otherwise it is always a simple type group
label string false none If section is marked as a group, then label is populated for the entire group of fields
fields [FormField] false none Array of form fields
errors [string] false none If form section has errors once a invalid data was submitted to a form

Enumerated Values

Property Value
type simple
type date

NextAction

{
  "method": "POST",
  "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
  "redirect": false
}

The next logical action that can be taken

Properties

Name Type Required Restrictions Description
method string false none HTTP action like GET, POST, etc.
actionUrl string false none URL where to go next
redirect boolean false none Tells if the next action should redicret

NullAction

{
  "method": "",
  "actionUrl": "",
  "redirect": false
}

An empty next action class, there are no more logical next actions to be taken

Properties

allOf

Name Type Required Restrictions Description
anonymous NextAction false none The next logical action that can be taken

and

Name Type Required Restrictions Description
anonymous object false none none
» method string false none No method
» actionUrl string false none No URL
» redirect boolean false none Never redirects

FormSuccess

{
  "successMessage": {
    "title": "Success",
    "message": "Success"
  }
}

A success message that can be displayed when there is no next action to be taken

Properties

Name Type Required Restrictions Description
successMessage object false none Message on successfully processed form
» title string false none none
» message string false none none

LoginForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Class LoginForm represents a json object of the login form.

Properties

None

NextForm

{
  "method": "POST",
  "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
  "redirect": false,
  "form": {
    "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
    "title": "<strong class='title'>Sign In</strong>",
    "description": "<span class='subtitle'>Welcome!</span>",
    "globalFormError": {
      "title": "Invalid form",
      "message": "Invalid data submited"
    },
    "enableCaptcha": true,
    "nextAction": {
      "method": "POST",
      "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
      "redirect": false
    },
    "formFieldSections": [
      {
        "group": true,
        "type": "date",
        "label": "Date of Birth",
        "fields": [
          {
            "id": "sFirstName",
            "type": "text",
            "label": "First Name",
            "description": "Please enter your first name",
            "isHidden": false,
            "isXhrCallback": true,
            "isRequired": true,
            "options": {},
            "attributes": {},
            "value": "string",
            "errors": [
              "string"
            ]
          }
        ],
        "errors": [
          "string"
        ]
      }
    ]
  }
}

Class NextForm sets up the next form in the form steps process.

Properties

Name Type Required Restrictions Description
method string false none HTTP action like GET, POST, etc.
actionUrl string false none URL where to go next
redirect boolean false none If TRUE we should redirect the user, if FALSE we should show the next form
form AbstractForm false none Class AbstractForm adds common fields to the entity forms.

NextRecoveryForm

{
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false,
    "form": {
      "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
      "title": "<strong class='title'>Sign In</strong>",
      "description": "<span class='subtitle'>Welcome!</span>",
      "globalFormError": {
        "title": "Invalid form",
        "message": "Invalid data submited"
      },
      "enableCaptcha": true,
      "nextAction": {
        "method": "POST",
        "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
        "redirect": false
      },
      "formFieldSections": [
        {
          "group": true,
          "type": "date",
          "label": "Date of Birth",
          "fields": [
            {
              "id": "sFirstName",
              "type": "text",
              "label": "First Name",
              "description": "Please enter your first name",
              "isHidden": false,
              "isXhrCallback": true,
              "isRequired": true,
              "options": {},
              "attributes": {},
              "value": "string",
              "errors": [
                "string"
              ]
            }
          ],
          "errors": [
            "string"
          ]
        }
      ]
    }
  }
}

Class NextRecoveryForm gives the next form of the recovery process.

Properties

Name Type Required Restrictions Description
nextAction NextForm false none Class NextForm sets up the next form in the form steps process.

NullRecoveryForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

An empty recovery form, marks the end of a successful recovery process

Properties

None

RecoveryForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Class RecoveryForm represents a JSON object of one of the possible recovery forms.

Properties

None

NextSocialRegistrationForm

{
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false,
    "form": {
      "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
      "title": "<strong class='title'>Sign In</strong>",
      "description": "<span class='subtitle'>Welcome!</span>",
      "globalFormError": {
        "title": "Invalid form",
        "message": "Invalid data submited"
      },
      "enableCaptcha": true,
      "nextAction": {
        "method": "POST",
        "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
        "redirect": false
      },
      "formFieldSections": [
        {
          "group": true,
          "type": "date",
          "label": "Date of Birth",
          "fields": [
            {
              "id": "sFirstName",
              "type": "text",
              "label": "First Name",
              "description": "Please enter your first name",
              "isHidden": false,
              "isXhrCallback": true,
              "isRequired": true,
              "options": {},
              "attributes": {},
              "value": "string",
              "errors": [
                "string"
              ]
            }
          ],
          "errors": [
            "string"
          ]
        }
      ]
    }
  }
}

Class NextSocialRegistrationForm gives the next form for the social registration process.

Properties

Name Type Required Restrictions Description
nextAction NextForm false none Class NextForm sets up the next form in the form steps process.

RegistrationForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Class RegistrationForm represents a json object of the default registration form.

Properties

allOf

Name Type Required Restrictions Description
anonymous AbstractForm false none Class AbstractForm adds common fields to the entity forms.

and

Name Type Required Restrictions Description
anonymous object false none none
» formFieldSections [FormFieldSection] false none Array of form field sections

SimpleForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Class SimpleForm can be used to quickly create an API form with the minimum required properties.

Properties

None

MemberPasswordUpdateForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Class MemberPasswordUpdateForm represents a json object of the update member form.

Properties

None

Check

{
  "applicantId": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "checkId": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204"
}

Class KYC Check API data entity

Properties

Name Type Required Restrictions Description
applicantId string false none Unique string to identify a an applicant
checkId string false read-only Unique string to identify a an KYC check

KYCEntity

{
  "applicantId": "string",
  "internalReferenceId": "1234-5678-9123",
  "type": "onboarding",
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@rewardgateway.com",
  "referer": "https://some.domain.com/page",
  "token": "foo-bar",
  "status": "In progress"
}

KYC entity for new applicants and check their results

Properties

Name Type Required Restrictions Description
applicantId string false read-only KYC applicant uuid
internalReferenceId string false none Link to the member that should be verify
type string false none Specify the product that create the reques
firstName string¦null false none none
lastName string¦null false none none
email string false none none
referer string¦null false none Referer argument specifies the URL of the web page where the KYC will be used
token string¦null false read-only The generated token will enable applicants to send personal data to the provider
status string¦null false read-only KYC applicant status

Domain

{
  "domain": "domain.com"
}

Class Magic Link API data entity

Properties

Name Type Required Restrictions Description
domain string false none allowed e-mail domain

{
  "hash": "1be2e9b9c638ed07528a",
  "hashUrl": "https://site277.rewardgateway.dev/1be2e9b9c638ed07528a",
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "isActive": true,
  "isAutoApprove": true,
  "dateAdded": "2020-10-01",
  "domains": [
    {
      "domain": "domain.com"
    }
  ]
}

Class Magic Link API data entity

Properties

Name Type Required Restrictions Description
hash string false read-only Unique string to identify one magic link configuration
hashUrl string false read-only Magic link URL
schemeUuid string false none Unique string to identify scheme
isActive boolean false none Is Magic Link configuration active
isAutoApprove boolean false none Magic Link validation Is Auto Approve
dateAdded string false read-only Magic Link Configuration Date Added
domains [Domain] false none [Class Magic Link API data entity]

Onboarding

{
  "uuid": "string",
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "0437819232",
  "email": "john.doe@rewardgateway.com",
  "token": "foo-bar",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "numberOfEmployees": 50,
  "companyRegistrationNumber": "string",
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "county": "Greater London",
  "postalCode": "W1T 7RQ",
  "schemeAlias": "companyname.rewardgateway.com",
  "schemeId": 272,
  "schemeStatus": "Live",
  "termsAndConditions": "2020-07-14 12:45:00",
  "status": "New Prospect",
  "localeId": 1,
  "languageCode": "string",
  "verificationSentTimes": 1,
  "kycStatus": "string",
  "kycResult": "string",
  "referralCode": "string",
  "couponId": "string",
  "created": "string",
  "freeTrial": true,
  "skipAllowed": true,
  "password": "string",
  "trackingCampaign": "string",
  "trackingSource": "string",
  "pricePerSeat": 0,
  "currentSeatCount": 0,
  "plan": "string",
  "firstBillingDate": "string",
  "total": 0.1,
  "amountDue": 0.1
}

Onbording

Properties

Name Type Required Restrictions Description
uuid string false read-only none
firstName string¦null true none First name of the admin user
lastName string¦null true none Last name of the admin user
phoneNumber string¦null false none none
email string true none Email of the admin user
token string false none Captcha Token generated by FE using RG SiteKey
companyName string¦null false none Company Display Name
companyLegalName string¦null false none Company Legal Name
numberOfEmployees integer false none none
companyRegistrationNumber string¦null false none Company Registration Number
streetAddress string¦null false none Company Address Line 1
streetAddressLineTwo string¦null false none Company Address Line 2
city string¦null false none City / Town
county string¦null false none County / State
postalCode string false none Postal Code
schemeAlias string¦null false none Client account access URL
schemeId integer false read-only none
schemeStatus string¦null false read-only none
termsAndConditions string false none none
status string false read-only Onboarding Status
localeId integer false none 1=GBR, 2=IRL, 3=AUS, 12=USA, 22=NZL, 23=BGR, 24=MKD, 26=CAN. Readonly once signup is done.
languageCode string false none Locale Code
verificationSentTimes integer false read-only Number of times verification email is sent
kycStatus string false read-only Status of KYC check for the member
kycResult string false read-only Result of KYC check for the member
referralCode string false none Referral Code - readonly once it's set
couponId string false read-only Coupon Code
created string false read-only Creation Date
freeTrial boolean false none is free trial
skipAllowed boolean false none force adding billing details
password string false none password
trackingCampaign string false none trackingCampaign
trackingSource string false none trackingSource
pricePerSeat number false read-only price per seat
currentSeatCount integer false none team size
plan string false none selected plan
firstBillingDate string false read-only First Billing Date
total number(float) false read-only Estimate total amount per seat
amountDue number(float) false read-only Estimate amount due per seat

Enumerated Values

Property Value
localeId 1
localeId 2
localeId 3
localeId 12
localeId 22
localeId 23
localeId 24
localeId 26

OnboardingFeedback

{
  "onboardingUuid": "327c1682-c7b7-11ec-9d64-0242ac120002",
  "feedbackValue": 5,
  "message": "feedback message"
}

Onbording Feedback

Properties

Name Type Required Restrictions Description
onboardingUuid string true read-only none
feedbackValue integer false none none
message string false none none

PaymentCardValidate

{
  "valid": true,
  "isAvailable": true,
  "cardFee": 1.5,
  "cardType": 1,
  "message": "Sorry, this card type cannot be used on company Rewards."
}

Retrieves information about a payment card validation

Properties

Name Type Required Restrictions Description
valid boolean true none Is the card valid, ie. whether we support it
isAvailable boolean true none Whether the card is supported on this scheme and in this locale
cardFee number(float) false none The card fee as a percentage
cardType integer true none The id of the card type
message string true none The message for a given card type

approverLevel

{
  "rrSchemeId": 123,
  "schemeId": 123,
  "level": 123,
  "name": "Standard Approver Level",
  "selectionMethod": 123,
  "selectionDirection": 123,
  "segmentId": 123,
  "lineManagerLevel": 123
}

Approver Level

Properties

Name Type Required Restrictions Description
rrSchemeId integer true none Unique integer to identify the recognition programme
schemeId integer false none Unique integer to identify the client programme
level integer true none Integer to identify the approver level
name string true none Name of the approver level
selectionMethod integer true none Integer to identify the selection method [1 - Line Manager, 2 - Panel]
selectionDirection integer false none Integer to identify the selection direction [1 - Nominee, 2 - Nominator]
segmentId integer false none Unique integer to identify the segment
lineManagerLevel integer false none Integer to identify the line manager level direction [1 - LM, 2 - LM of LM, 3 - LM of LM of LM]

ApproverLevelList

{}

Approver Level List

Properties

None

RecognitionRedemptionProductPulldownSuccess

{
  "shopKey": "12345"
}

Class ProductPulldownSuccess

Properties

Name Type Required Restrictions Description
shopKey string true none The shopKey for which a product pulldown has been initiated for

SegmentedRewardCatalogue

{
  "id": 1,
  "name": "5 years long service catalogue",
  "localeId": 12,
  "localeName": "United States",
  "schemeId": 1,
  "min": 50,
  "max": 100,
  "dateCreated": "14/02/2023",
  "status": "Active",
  "productCount": 10
}

Segmented Reward Catalogue

Properties

Name Type Required Restrictions Description
id integer true none Identifier given to this catalogue
name string true none Given name for catalogue
localeId integer true none Id of the locale
localeName string true none Name of the locale
schemeId integer true none Id of the scheme
min number(float) true none The minimum value of each product that exists in the catalogue
max number(float) true none The maximum value of each product that exists in the catalogue
dateCreated string true none The date time that the catalogue was created in UK date format
status string true none The status of the catalogue. ie. Whether Active or Inactie
productCount integer false none The number of products in the cataloge

SegmentedRewardDepartment

{
  "id": 1,
  "name": "Home appliances",
  "localeId": 12,
  "productCount": 20,
  "logo": "string",
  "selected": true
}

Segmented Reward Department

Properties

Name Type Required Restrictions Description
id integer true none Identifier given to this department
name string true none Given name for department
localeId integer true none Id of the locale
productCount integer true none Count of the products in the department
logo string true none Logo of the department
selected boolean false none Check if specific department is selected

segmentedRewardAdminProduct

{
  "items": [
    {
      "id": 1,
      "name": "Test product",
      "productCode": "B432GDF53",
      "deliveryInformation": "Free delivery",
      "productDescription": "string",
      "numberOfReviews": 500,
      "starRating": "3.5",
      "logo": "string",
      "selected": true
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 200,
    "additionalItems": true
  }
}

Segmented Reward Admin Product

Properties

Name Type Required Restrictions Description
items [segmentedRewardAdminProductItem] true none Items
pagination segmentedRewardProductPagination true none none

segmentedRewardAdminProductItem

{
  "id": 1,
  "name": "Test product",
  "productCode": "B432GDF53",
  "deliveryInformation": "Free delivery",
  "productDescription": "string",
  "numberOfReviews": 500,
  "starRating": "3.5",
  "logo": "string",
  "selected": true
}

Segmented Reward Admin Product Item

Properties

Name Type Required Restrictions Description
id integer true none Id of the product
name string true none Name of the product
productCode string true none Unique identifier for a product
deliveryInformation string false none Information regarding the estimated delivery time and delivery price.
productDescription string false none Description for the given product.
numberOfReviews integer false none The number of customer reviews of a product.
starRating string false none The star rating of a product.
logo string false none Logo of the product
selected boolean true none Check if a product is already selected in a category

segmentedRewardProductSave

{
  "productsAdded": [
    "string"
  ],
  "productsRemoved": [
    "string"
  ]
}

Segmented Reward Product Save

Properties

Name Type Required Restrictions Description
productsAdded [string] true none The list of products that need to be added to the catalogue
productsRemoved [string] true none The list of products that need to be removed from the catalogue

PublicReferral

{
  "hash": "1be2e9b9c638ed07528a",
  "companyNumberLabel": "Company Registration Number",
  "companyNumberRule": "\\/.*\\/",
  "couponType": "FIRSTMONTHFREE",
  "durationType": "one_time",
  "promotionText": "Exclusive to RG employees",
  "discountPercentage": 50,
  "skipAllowed": true,
  "plans": [
    "plan_id"
  ],
  "customBilling": false,
  "customBillingText": "custom text",
  "headingText": "custom text",
  "subHeadingText": "custom text",
  "ribbonText": "custom text",
  "teamNameLabel": "custom text",
  "emailLabel": "custom text",
  "displayStamp": 1,
  "stampTemplate": "custom_template",
  "period": 1
}

Class Referral API data entity

Properties

Name Type Required Restrictions Description
hash string false read-only Unique string to identify a scheme referral
companyNumberLabel string¦null false read-only Company number field label text
companyNumberRule string¦null false read-only Company number field validation rule regex
couponType string¦null false read-only New client discount coupon type enum
durationType string¦null false read-only New client discount coupon type enum
promotionText string¦null false read-only Company specific referral promotion text
discountPercentage integer¦null false read-only Discount percentage
skipAllowed boolean false none force adding billing details
plans [string] false read-only ChargeBee plan ids
customBilling boolean false read-only has custom billing
customBillingText string false read-only custom billing text
headingText string false read-only heading text
subHeadingText string false read-only sub heading text
ribbonText string false read-only ribbon text
teamNameLabel string false read-only team name label
emailLabel string false read-only email label
displayStamp integer false read-only display stamp
stampTemplate string false read-only stamp template
period integer false read-only promotion period

Enumerated Values

Property Value
durationType one_time
durationType forever
durationType limited_period

impersonateToken

{
  "token": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "header": "ImpersonateToken"
}

An API representation of a scheme token.

Properties

Name Type Required Restrictions Description
token string false none Unique string to identify a scheme
header string false none Header that have to be used to pass generated token.

AddonEntity

{
  "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "name": "Discounts",
  "description": "additional information",
  "price": 2,
  "required": true,
  "status": 1,
  "planId": "rgsb",
  "localeId": 1,
  "canRemove": true
}

Subscription's Addon entity fields and helper methods

Properties

Name Type Required Restrictions Description
addonId string false none addon id
name string false none addon name
description string¦null false none addon description
price number(float) false none addon unit price
required boolean false none addon is required
status integer false none addon status
planId string¦null false none id of the plan
localeId integer¦null false none locale id
canRemove boolean¦null false none addon can be removed

BillingAddress

{
  "companyName": "Reward Gateway Ltd",
  "addressLineOne": "265 Tottenham Court Road",
  "addressLineTwo": "4th Floor",
  "county": "Greater London",
  "city": "London",
  "postalCode": "SM4 4AG",
  "country": "GB"
}

Class RGSB clients' Billing Address data

Properties

Name Type Required Restrictions Description
companyName string false none Billing Company Name
addressLineOne string false none Billing Address Line One
addressLineTwo string¦null false none Billing Address Line Two
county string¦null false none Billing County
city string¦null false none Billing City
postalCode string false none Billing Postal Code
country string¦null false read-only Billing Country

CancelReason

{
  "id": 123,
  "description": "The timing is not quite right, but we’ll consider it again in future",
  "hasOffer": true,
  "detailsRequired": true
}

Class RGSB cancel subscription reason data entity

Properties

Name Type Required Restrictions Description
id integer false none Unique reason identifier
description string false none Cancel reason description
hasOffer boolean false none Has additional offer
detailsRequired boolean false none Has additional details

Coupon

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "isActive": true,
  "id": "discount",
  "name": "discount",
  "status": "active",
  "redemptions": 2,
  "discountType": "percentage",
  "discountPercentage": 30,
  "discountAmount": 100,
  "durationTime": "one_time",
  "durationMonth": 2
}

Class RGSB clients' Subscription data

Properties

Name Type Required Restrictions Description
schemeUuid string false read-only Unique scheme identifier
isActive boolean false read-only Indicates whether or not a coupon is active
id string false none Coupon Id
name string false none Coupon Name
status string false none Coupon Status type
redemptions integer false none Redemptions
discountType string false none Coupon Discount Type
discountPercentage number(float) false none Coupon Discount Percentage
discountAmount integer false none Discount Amount
durationTime string false none Coupon Discount Time
durationMonth integer false none Discount Duration Months

Enumerated Values

Property Value
status active
status expired
status archived
status deleted
discountType fixed_amount
discountType percentage
durationTime one_time
durationTime forever
durationTime limited_period

Estimate

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "total": 845,
  "amountDue": 845,
  "discountAmount": 845,
  "description": "RG for Small Business",
  "quantity": 1
}

Class RGSB clients' Invoice Estimate data

Properties

Name Type Required Restrictions Description
schemeUuid string false read-only Unique scheme identifier
total integer false read-only Invoice total amount due in cents
amountDue integer false read-only Invoice actual paying amount due in cents
discountAmount integer false read-only Invoice discount amount due in cents
description string false read-only Detailed description about invoice line item
quantity integer false read-only Quantity of the recurring item

PaymentMethod

{
  "id": "pm_16BjjhSqufOMZb9A",
  "status": "valid",
  "type": "card",
  "maskedNumber": "************4242",
  "expiryDate": "12/2021",
  "isPrimary": true
}

Class RGSB clients' Payment Methods data

Properties

Name Type Required Restrictions Description
id string false read-only Unique payment method identifier
status string false read-only Payment method status
type any false read-only Payment method type
maskedNumber string false read-only Payment method card masked number
expiryDate string false read-only Payment method card End Date
isPrimary boolean false read-only Payment method is primary

Enumerated Values

Property Value
type card
type direct_debit

RGSBPlan

{
  "planId": "plan-id",
  "name": "plan name",
  "description": "plan description",
  "type": "monthly",
  "localeId": 1,
  "price": 6,
  "currency": "EUR",
  "isActive": false,
  "isDefault": false
}

Class RGSB Subscription Plan Details

Properties

Name Type Required Restrictions Description
planId string false none subscription plan id
name string false none Plan name
description string false none Plan description
type string false none Subscription Plan Type
localeId integer false none Plan locale id
price number(float) false none Plan price
currency string false none Plan currency
isActive boolean false read-only Plan is active
isDefault boolean false read-only Plan is default

Enumerated Values

Property Value
type monthly
type annual

Subscription

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "email": "john.doe@rewardgateway.com",
  "firstName": "John",
  "lastName": "Doe",
  "type": "Charity",
  "status": "Active",
  "startDate": "2021-01-01 00:00:00",
  "freeTrialEndDate": "2021-01-14 00:00:00",
  "renewalDate": "2021-01-14 00:00:00",
  "billingDate": "2021-01-14 00:00:00",
  "cancelReasonId": 2,
  "otherReason": "",
  "churnOffer": false,
  "maxSeatCount": 150,
  "currentSeatCount": 1,
  "pricePerSeat": 3.5,
  "plan": "rgsb",
  "totalInvited": 3,
  "totalRegistered": 5,
  "totalRemoved": 1,
  "hasScheduledChange": true,
  "allowedPlanSwitchOptions": [
    {
      "allowedPlanSwitchOptions": "rgsb"
    }
  ],
  "billingAddress": [
    {
      "companyName": "Reward Gateway Ltd",
      "addressLineOne": "265 Tottenham Court Road",
      "addressLineTwo": "4th Floor",
      "county": "Greater London",
      "city": "London",
      "postalCode": "SM4 4AG",
      "country": "GB"
    }
  ],
  "total": 0.1,
  "amountDue": 0.1
}

Class RGSB clients' Subscription data

Properties

Name Type Required Restrictions Description
schemeUuid string false read-only Unique scheme identifier
email string false none Billing email address
firstName string false none First Name
lastName string false none Last Name
type string false none Subscription type
status string false none Subscription Status
startDate string false read-only Subscription Start Date
freeTrialEndDate string¦null false read-only Subscription End Date
renewalDate string¦null false read-only Subscription next Renewal Date
billingDate string¦null false read-only Subscription next Billing Date
cancelReasonId integer¦null false none Selected cancel subscription reason id
otherReason string¦null false none Other reason description
churnOffer boolean false read-only Client got already churn offer
maxSeatCount integer false read-only Allowed members limit
currentSeatCount integer false none Current licence count
pricePerSeat number(float)¦null false read-only price per seat
plan string¦null false none ChargeBee plan id
totalInvited integer false read-only total invited members
totalRegistered integer false read-only total registered members
totalRemoved integer false read-only total removed members
hasScheduledChange boolean false read-only has scheduled subscriptions change
allowedPlanSwitchOptions [object] false read-only allowed plan switch options
» allowedPlanSwitchOptions string false none allowedPlanSwitchOptions
billingAddress [BillingAddress] false none [Class RGSB clients' Billing Address data]
total number(float)¦null false read-only Estimate total amount per seat
amountDue number(float)¦null false read-only Estimate amount due per seat

Enumerated Values

Property Value
type Charity
type Regular
type RG Test
status Active
status NotRenewing
status Cancelled
status FreeTrial

SubscriptionChanges

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "status": "Active",
  "renewalDate": "2021-01-14 00:00:00",
  "currentSeatCount": 1,
  "plan": "rgsb",
  "hasScheduledChange": true,
  "addons": [
    {
      "addonId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
      "name": "Discounts",
      "description": "additional information",
      "price": 2,
      "required": true,
      "status": 1,
      "planId": "rgsb",
      "localeId": 1,
      "canRemove": true
    }
  ]
}

Class RGSB clients' Subscription scheduled changes data

Properties

Name Type Required Restrictions Description
schemeUuid string false read-only Unique scheme identifier
status string false none Subscription Status
renewalDate string¦null false read-only Subscription Renewal Date
currentSeatCount integer false none Current licence count
plan string¦null false none ChargeBee plan id
hasScheduledChange boolean false read-only has scheduled subscriptions change
addons [AddonEntity] false read-only addons

Enumerated Values

Property Value
status Active
status NotRenewing
status Cancelled
status FreeTrial

Task

{
  "requestId": "05fc9818-bcfc-4fbd-82ae-6f0cf7aa05f9",
  "memberId": "984c88d4-43a6-470e-83cb-2fb6cc4c4c5b",
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@domain.com",
  "lastUpdated": "2022-12-01",
  "status": "open",
  "action": "approve",
  "avatar": "https://ugc.cdn.rewardgateway.net/avatars/default.png"
}

An API representation of Task in Task Manager.

Properties

Name Type Required Restrictions Description
requestId string false none Unique string to identify a request
memberId string false none Unique string to identify a member
firstName string false none Member first name
lastName string false none Member last name
email string false none Member email
lastUpdated string false none Last updated date
status string false read-only Task status: open, assigned, completed, cancelled
action string¦null false none processed task action
avatar string false none Member's avatar URL

Enumerated Values

Property Value
action reject
action approve

CommsCategory

{
  "id": 5,
  "name": "Launch communications",
  "position": 6,
  "active": true,
  "dateCreated": "2021-01-01"
}

Class Comms Category API data entity

Properties

Name Type Required Restrictions Description
id integer¦null false read-only Unique category identifier
name string¦null false none Category name
position integer¦null false none Position of the category
active boolean¦null false none Category is active
dateCreated string¦null false read-only Category creation date

CommsDocument

{
  "id": 5,
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "thumbnailFileUrl": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "dateCreated": "2021-01-01",
  "orientation": "portrait"
}

Class Comms Document API data entity

Properties

Name Type Required Restrictions Description
id integer¦null false read-only Unique document identifier
title string¦null false none Document title
type string¦null false none Document type
thumbnailFileName string¦null false none Document thumbnail file name
thumbnailFileUrl string¦null false read-only Document thumbnail file URL
categoryId integer¦null false none Document category id
position integer¦null false none Position of the document in the category
localeId integer¦null false none Locale id of the document
active boolean¦null false none Document is active
dateCreated string¦null false read-only Document creation date
orientation string¦null false none Document pages orientation

CommsDocumentAndPages

{
  "id": 5,
  "title": "Engagement Guide",
  "type": "pdf",
  "thumbnailFileName": "image.png",
  "thumbnailFileUrl": "image.png",
  "categoryId": 1,
  "position": 6,
  "localeId": 3,
  "active": true,
  "dateCreated": "2021-01-01",
  "orientation": "portrait",
  "pages": [
    {
      "id": "20925ed6-de4d-4860-9952-94fb774582ed",
      "documentId": 1,
      "imageFileName": "image.png",
      "position": 6,
      "dateCreated": "2021-01-01",
      "logo": {
        "show": true,
        "vertical": "top",
        "horizontal": "right"
      },
      "url": {
        "show": true,
        "description": "Check out our website",
        "vertical": "top",
        "horizontal": "right"
      }
    }
  ]
}

Class Comms Document API data entity

Properties

allOf

Name Type Required Restrictions Description
anonymous CommsDocument false none Class Comms Document API data entity

and

Name Type Required Restrictions Description
anonymous object false none none
» pages [CommsDocumentPage] false none Document pages

CommsDocumentPage

{
  "id": "20925ed6-de4d-4860-9952-94fb774582ed",
  "documentId": 1,
  "imageFileName": "image.png",
  "position": 6,
  "dateCreated": "2021-01-01",
  "logo": {
    "show": true,
    "vertical": "top",
    "horizontal": "right"
  },
  "url": {
    "show": true,
    "description": "Check out our website",
    "vertical": "top",
    "horizontal": "right"
  }
}

Class Comms Document Page API data entity

Properties

Name Type Required Restrictions Description
id string¦null false read-only Unique document page identifier
documentId integer false none Document id
imageFileName string¦null false none Document image file name
position integer¦null false none Position of the document in the category
dateCreated string¦null false read-only Document creation date
logo PageLogo false none Class Comms Document Page Logo API data entity
url PageUrl false none Class Comms Document Page URL API data entity

{
  "show": true,
  "vertical": "top",
  "horizontal": "right"
}

Class Comms Document Page Logo API data entity

Properties

Name Type Required Restrictions Description
show boolean false none Logo is visible
vertical string false none Logo vertical position
horizontal string false none Logo horizontal position

Enumerated Values

Property Value
vertical top
vertical middle
vertical bottom
horizontal left
horizontal center
horizontal right

PageUrl

{
  "show": true,
  "description": "Check out our website",
  "vertical": "top",
  "horizontal": "right"
}

Class Comms Document Page URL API data entity

Properties

Name Type Required Restrictions Description
show boolean false none Url is visible
description string false none Url description
vertical string false none Url vertical position
horizontal string false none Url horizontal position

Enumerated Values

Property Value
vertical top
vertical middle
vertical bottom
horizontal left
horizontal center
horizontal right

EngagementMeter

{
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "status": "Pending",
  "startDate": "2020-10-01 00:00:00",
  "skipDate": "2020-10-01 00:00:00",
  "isSkipped": true,
  "complete": "25%",
  "steps": [
    {
      "name": "Customisation",
      "description": "Invite your workforce",
      "link": "customisation",
      "isFinished": false,
      "seen": true
    }
  ]
}

Class Engagement Meter API data entity

Properties

Name Type Required Restrictions Description
schemeUuid string false read-only Unique string to identify scheme
status string false read-only Engagement Meter Status
startDate string¦null false read-only Engagement Meter Start Date
skipDate string¦null false read-only Engagement Meter Skip Date
isSkipped boolean false none Engagement Meter is Skipped
complete string false read-only Engagement Meter Complete Percentage
steps [EngagementStep] false none steps

EngagementRetailer

{
  "name": "Retailer Name",
  "logo": "logo.png",
  "link": "/Merchant?m=1234",
  "category": "Cashback",
  "saving": "Save 25%"
}

Class Engagement promoted Retailer API data entity

Properties

Name Type Required Restrictions Description
name string false read-only Retailer Name
logo string false read-only Retailer Logo path
link string false read-only Retailer URL Link
category string false read-only Retailer Category
saving string false read-only Retailer Saving

EngagementStep

{
  "name": "Customisation",
  "description": "Invite your workforce",
  "link": "customisation",
  "isFinished": false,
  "seen": true
}

Class Engagement Step API data entity

Properties

Name Type Required Restrictions Description
name string false read-only Engagement Step Name
description string false read-only Engagement Step Description
link string¦null false read-only Engagement Step Link
isFinished boolean false none Engagement Step is finished
seen boolean false none Engagement Step was seen

Migration

{
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "postalCode": "W1T 7RQ",
  "created": "string",
  "updated": "string",
  "email": "john.doe@rewardgateway.com",
  "firstName": "John",
  "lastName": "Doe",
  "id": 1,
  "externalId": "7e6747ab-33ab-4511-a972-c580f0eca040",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "companyRegistrationNumber": "123456",
  "phoneNumber": "0437819232",
  "numberOfEmployees": 50,
  "schemeAlias": "companyname.rewardgateway.com",
  "currentSeatCount": 50,
  "registeredMemberCount": 50,
  "monthlySpending": 15000,
  "pricePerSeat": 6,
  "renewalDate": "string",
  "hasGPEnabled": false,
  "hasEAPEnabled": false,
  "hasConciergeEnabled": false,
  "onboardingUrl": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
}

Self Service Migration

Properties

Name Type Required Restrictions Description
Self Service Migration any false none none

allOf

Name Type Required Restrictions Description
anonymous BillingAddressTrait false none Billing address field definitions and validation config

and

Name Type Required Restrictions Description
anonymous CreatedAndUpdatedDateTrait false none Created and Updated date field definitions and validation config

and

Name Type Required Restrictions Description
anonymous EmailAddressTrait false none Email address field definitions and validation config

and

Name Type Required Restrictions Description
anonymous FirstAndLastNameTrait false none First name and last name fields

and

Name Type Required Restrictions Description
anonymous FirstAndLastNameTrait false none First name and last name fields

and

Name Type Required Restrictions Description
anonymous EmailAddressTrait false none Email address field definitions and validation config

and

Name Type Required Restrictions Description
anonymous object false none none
» id integer(int32)¦null false read-only Migration client id reference
» externalId string false read-only Client External Id
» companyName string¦null false none none
» companyLegalName string¦null false none none
» companyRegistrationNumber string¦null false none none
» phoneNumber string¦null false none Phone Number
» numberOfEmployees integer¦null false none none
» schemeAlias string¦null false none none
» currentSeatCount integer¦null false none Current seat/license count
» registeredMemberCount integer¦null false none Current registered members count
» monthlySpending integer¦null false none none
» pricePerSeat number(float)¦null false none none
» renewalDate string false read-only Renewal Date
» hasGPEnabled boolean false none Client has GP product enabled
» hasEAPEnabled boolean false none Client has EAP product enabled
» hasConciergeEnabled boolean false none Client has concierge product enabled
» onboardingUrl string false none Onboarding URL with access code included

RGSBAccessRequests

{
  "schemeUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "memberUuid": "20925ed6-de4d-4860-9952-94fb774582ed",
  "state": 20
}

Class RGSBAccessRequests handle members assess requests via MagicLink entity

Properties

Name Type Required Restrictions Description
schemeUuid string false read-only Unique scheme identifier
memberUuid string false none Unique member identifier
state integer false none member state

Referral

{
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "hash": "1be2e9b9c638ed07528a",
  "dateAdded": "2020-10-01",
  "referralURL": "https://www.rewardgateway.com/?referral=w65gt6tg"
}

Class Referral API data entity

Properties

Name Type Required Restrictions Description
schemeUuid string false none Unique string to identify scheme
hash string false read-only Unique string to identify a scheme referral
dateAdded string false read-only Referral Configuration Date Added
referralURL string false read-only Scheme default URL

BillingAddressTrait

{
  "streetAddress": "265 Tottenham Court Rd",
  "streetAddressLineTwo": "265 Tottenham Court Rd",
  "city": "London",
  "postalCode": "W1T 7RQ"
}

Billing address field definitions and validation config

Properties

Name Type Required Restrictions Description
streetAddress string¦null false none Street Address Line 1
streetAddressLineTwo string¦null false none Street Address Line 2
city string¦null false none City / Town
postalCode string¦null false none Postal Code

CreatedAndUpdatedDateTrait

{
  "created": "string",
  "updated": "string"
}

Created and Updated date field definitions and validation config

Properties

Name Type Required Restrictions Description
created string false read-only Create Date
updated string false read-only Update Date

smart_pay_landing_page

{
  "textHeading": "Welcome to Smart Pay",
  "textSubHeading": "First Name",
  "backgroundImage": "string",
  "backgroundImagePartial": "string",
  "colour": "333333",
  "subheadingColour": "333333",
  "landingPageOrderType": "custom",
  "useImagePartial": false,
  "defaultBackgroundImage": "string",
  "defaultBackgroundImagePartial": "string",
  "isBackgroundImageDefault": true,
  "isBackgroundImagePartialDefault": true,
  "schemeName": "Example scheme",
  "companyName": "Example company name",
  "products": [
    {
      "productId": "string",
      "productName": "string"
    }
  ]
}

Smart Pay Landing Page

Properties

Name Type Required Restrictions Description
textHeading string true none Landing page heading
textSubHeading string true none Landing page sub heading
backgroundImage string true none Banner image
backgroundImagePartial string true none Banner image partial
colour string true none Colour of the heading
subheadingColour string true none Colour of the subheading
landingPageOrderType string true none Product order type
useImagePartial boolean true none Indicate if if there is a banner partial image
defaultBackgroundImage string false none Default background image url
defaultBackgroundImagePartial string false none Default background partial image url
isBackgroundImageDefault boolean false none Is Default background image url
isBackgroundImagePartialDefault boolean false none Is Default background partial image url
schemeName string true none Scheme name
companyName string true none Company name
products [object] true none none
» productId string false none The status of the window. Possible statuses: Open/Always open/Not Open/Closed
» productName string false none The date that the window will open

smartpay_application_amend

{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Smart Pay Application Amendment

Properties

Name Type Required Restrictions Description
Smart Pay Application Amendment smartpay_application_create false none none

smartpay_application_amend_action

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}

Smart Pay Application Amendment Action

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
scheme string true none Scheme ID
product string true none Product ID

smartpay_application_approve

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}

Smart Pay Application Approve

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
scheme string true none Scheme ID
product string true none Product ID

smartpay_application_cancel

{
  "customerId": 1,
  "reason": "User requested cancellation",
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}

Smart Pay Application Cancel

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
reason string false none Cancellation reason
scheme string true none Scheme ID
product string true none Product ID

smartpay_application_close

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "reason": "Early termination"
}

Smart Pay Application Close

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
scheme string true none Scheme ID
product string true none Product ID
reason string false none End application reason

smartpay_application_create

{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Smart Pay Application Create

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
deductionPeriod integer true none Repayment period
deductionFrequency string false none Deduction frequency. User dependant, see /smartpay/member/find
amount number(float) true none Application value
scheme string true none Scheme ID
product string true none Product ID
externalOrderId string false none External order ID
description string false none Order description
externalStatus string false none Custom status that will get displayed alongside the internal status of the application
savings smartpay_application_savings false none none
metadata [smartpay_application_metadata] false none A list of metadata properties
items [smartpay_application_item] false none A list of the order items

Enumerated Values

Property Value
deductionFrequency monthly
deductionFrequency weekly
deductionFrequency fortnightly
deductionFrequency fourweekly

smartpay_application_item

{
  "externalId": "SKU123456",
  "quantity": 3.4,
  "amount": 118.54,
  "name": "Hair dryer Brand Model X",
  "description": "Short description of the purchased item",
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ]
}

Smart Pay Application Item

Properties

Name Type Required Restrictions Description
externalId string false none External item ID
quantity number(float) true none Number of items of this type
amount number(float) false none Item value
name string true none Item name
description string false none Short item description
metadata [smartpay_application_metadata] false none A list of metadata properties

smartpay_application_metadata

{
  "name": "width",
  "type": "string",
  "value": "145 centimeters"
}

Smart Pay Application Metadata

Properties

Name Type Required Restrictions Description
name string true none Property name
type string true none Value type
value string true none Property value

Enumerated Values

Property Value
type string
type number
type currency
type date
type datetime

smartpay_application_nmw

{
  "customerId": 1,
  "ignoreAppId": 123,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle"
}

Smart Pay Application NMW

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
ignoreAppId integer false none RG Application IDs to be ignored
scheme string true none Scheme ID
product string true none Product ID

smartpay_application_reject

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "reason": "Member does not qualify for this product"
}

Smart Pay Application Rejection

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
scheme string true none Scheme ID
product string true none Product ID
reason string false none Rejection reason

smartpay_application_renewal

{
  "customerId": 1,
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Smart Pay Application Renewal

Properties

Name Type Required Restrictions Description
Smart Pay Application Renewal smartpay_application_create false none none

smartpay_application_renewal_action

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "endOriginalApp": true
}

Smart Pay Application Renewal Action

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
scheme string true none Scheme ID
product string true none Product ID
endOriginalApp boolean false none Force ending of original app

smart_pay_application_amend_created

{
  "applicationId": 96,
  "amendmentId": 182,
  "customerId": 1
}

Smart Pay Application Amendment Created

Properties

Name Type Required Restrictions Description
applicationId integer true none This field holds the RG internal ID for the application that got created.
amendmentId integer true none This field holds the RG internal Amendment ID that got created.
customerId integer true none User Identifier

smart_pay_application_amend_processed

{
  "applicationId": 96,
  "amendmentId": 182,
  "customerId": 1
}

Smart Pay Application Amendment Processed

Properties

Name Type Required Restrictions Description
Smart Pay Application Amendment Processed smart_pay_application_amend_created false none none

smartpay_application_approved

{
  "customerId": 1,
  "applicationId": 12
}

Smart Pay Application Approved

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
applicationId integer true none RG internal application id

smartpay_available_funds

{
  "availableFunds": 0.1,
  "customerId": 1
}

Smart Pay Available Funds

Properties

Name Type Required Restrictions Description
availableFunds number(float) true none This field shows the available funds on annual basis
customerId integer true none This field holds the employee's payroll number

smartpay_application_cancelled

{
  "customerId": 1,
  "applicationId": 12
}

Smart Pay Application Cancelled

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
applicationId integer true none RG internal application id

smartpay_application_closed

{
  "customerId": 1,
  "applicationId": 12
}

Smart Pay Application Closed

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
applicationId integer true none RG internal application id

smart_pay_application_created

{
  "applicationId": 96,
  "customerId": 1
}

Smart Pay Application Created

Properties

Name Type Required Restrictions Description
applicationId integer true none This field holds the RG internal ID for the application that got created.
customerId integer true none User Identifier

smartpay_application_rejected

{
  "customerId": 1,
  "applicationId": 12
}

Smart Pay Application Rejected

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
applicationId integer true none RG internal application id

smart_pay_application_renewal_created

{
  "applicationId": 96,
  "renewalId": 182,
  "customerId": 1
}

Smart Pay Application Renewal Created

Properties

Name Type Required Restrictions Description
applicationId integer true none This field holds the RG internal ID for the application that got created.
renewalId integer true none This field holds the RG internal Renewal ID that got created.
customerId integer true none User Identifier

smart_pay_application_renewal_processed

{
  "applicationId": 96,
  "renewalId": 182,
  "customerId": 1
}

Smart Pay Application Renewal Processed

Properties

Name Type Required Restrictions Description
Smart Pay Application Renewal Processed smart_pay_application_renewal_created false none none

smart_pay_application_updated

{
  "applicationId": 96,
  "customerId": 1
}

Smart Pay Application Updated

Properties

Name Type Required Restrictions Description
applicationId integer true none This field holds the RG internal ID for the application that got created.
customerId integer true none User Identifier

smartpay_application_savings

{
  "tax": 118.54,
  "ni": 118.54
}

Smart Pay Application Savings

Properties

Name Type Required Restrictions Description
tax number(float) false none Tax savings
ni number(float) false none NI savings

smartpay_application_update

{
  "customerId": 1,
  "scheme": "8a98e6b3d06d4c1885d7fc239c87a2c9",
  "product": "vehicle",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Philips Daily Collection HD2583/90; Dimensions: X by Y;",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Smart Pay Application Update

Properties

Name Type Required Restrictions Description
customerId integer true none User Identifier
scheme string true none Scheme ID
product string true none Product ID
externalOrderId string false none External order ID
description string false none Order description
externalStatus string false none Custom status that will get displayed alongside the internal status of the application
savings smartpay_application_savings false none none
metadata [smartpay_application_metadata] false none A list of metadata properties
items [smartpay_application_item] false none A list of the order items

smart_pay_data_collector_form_data

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Personal data",
      "formData": [
        {
          "name": "sFirstName",
          "type": "select",
          "label": "First name",
          "value": "Ron",
          "required": true,
          "disabled": true,
          "id": 1
        }
      ]
    }
  ]
}

Smart Pay Data Collector Form Data

Properties

Name Type Required Restrictions Description
success boolean false none Class DataCollectorFormData
data [object] true none none
» id integer true none Section id
» name string true none Section name
» formData [object] false none none
»» name string true none Field name
»» type string true none Type of the input
»» label string true none Input label
»» value string true none Default value of the input
»» required boolean true none Is the input required
»» disabled boolean true none Is the input disabled
»» id integer true none Input id

smart_pay_product

{
  "productId": 0,
  "productName": "Smart Tech",
  "productImage": "https://site1.rewardgateway.dev/images/st/image.png",
  "productUrl": "https://site1.rewardgateway.dev/SmartTech",
  "isNewBenefit": true,
  "window": [
    {
      "status": "string",
      "startDate": "string",
      "endDate": "string"
    }
  ],
  "hasFlexAllowance": true,
  "benefitsAllowance": "string",
  "isAutoEnrolled": true,
  "isProductAppAmended": true,
  "payrollFrequency": "Monthly",
  "applicationDetails": [
    "string"
  ],
  "canApply": true,
  "canAmend": true,
  "applicationTags": true,
  "applyUrl": "/SmartTech/Checkout",
  "amendUrl": "/SmartTech/Checkout",
  "isInfoOnlyPage": true,
  "productIdentifier": "insurance",
  "multipleApplications": true
}

Smart Pay Product

Properties

Name Type Required Restrictions Description
productId integer true none Product Id
productName string true none Product name
productImage string true none Product image url
productUrl string true none Product url
isNewBenefit boolean true none The field will identify if the benefit was added in the past month
window [object] true none none
» status string false none The status of the window. Possible statuses: Open/Always open/Not Open/Closed
» startDate string false none The date that the window will open
» endDate string false none The date that the window will close
hasFlexAllowance boolean true none The field will identify if the benefit has flex allowance
benefitsAllowance string false none The field will identify the product benefits allowances
isAutoEnrolled boolean false none The field will identify if the user was auto enrolled in a benefit
isProductAppAmended boolean false none This field will indicate if the product application was amended recently
payrollFrequency string false none Frequency of the payroll
applicationDetails [string] false none Details of the application
canApply boolean false none The field will indicate if the member can apply for a benefit
canAmend boolean false none The field will indicate if the member can amend product application
applicationTags boolean false none Application statuses
applyUrl string false none Product application url
amendUrl string false none Product application amend url
isInfoOnlyPage boolean false none The field will indicate if the product is InfoOnly page
productIdentifier string false none Product identifier
multipleApplications boolean false none The field will indicate if the product can have multiple applications

applicationTag

{
  "count": 0,
  "status": "string"
}

Smart Pay Product Applications' Status

Properties

Name Type Required Restrictions Description
count integer(int32) false none none
status string false none none

smart_pay_life_event_action

{
  "id": 1,
  "name": "Example User"
}

Smart Pay Life Event Action

Properties

Name Type Required Restrictions Description
id integer true none Id
name string true none Name

smart_pay_life_event_benefit_action

{
  "config": 1,
  "action": 1,
  "configuration": [
    {
      "increaseLimit": 0,
      "decreaseLimit": 0
    }
  ]
}

Smart Pay Life Event Benefit Action

Properties

Name Type Required Restrictions Description
config integer true none Config Id
action integer true none Action
configuration [object] true none none
» increaseLimit integer false none Increase Limit
» decreaseLimit integer false none Decrease Limit

smart_pay_life_event_default_events

{
  "id": 1,
  "eventId": 1,
  "name": "monthly",
  "isCustomEvent": true,
  "comparisonOperators": [
    {
      "is different than": "string",
      "is greater than": "string",
      "is less than": "string",
      "is greater than or equal to": "string",
      "is less than or equal to": "string"
    }
  ]
}

Smart Pay Life Event Default Events

Properties

Name Type Required Restrictions Description
id integer true none The Increment ID
eventId integer false none The Event ID
name string true none User event name
isCustomEvent boolean false none Is Custom Event
comparisonOperators [object] false none none
» is different than string false none !=
» is greater than string false none >
» is less than string false none <
» is greater than or equal to string false none >=
» is less than or equal to string false none <=

smart_pay_life_events

{
  "id": 1,
  "name": "Example event name",
  "lifeEventId": 1,
  "fieldName": "sLicence",
  "comparisonOperator": "!=",
  "value": "example",
  "secondComparisonOperator": "in",
  "secondValue": "example",
  "isAllowEmployeesEnter": false,
  "integrationId": "8d6cc014-5538-4b94-874a-bdc5ba5d6918",
  "benefitActions": [
    null
  ]
}

Smart Pay Life Event Entity

Properties

Name Type Required Restrictions Description
id integer true none Id
name string true none Life Event name
lifeEventId integer true none Life event id
fieldName string true none Field name
comparisonOperator string true none Comparison operator
value string true none Value
secondComparisonOperator string true none Second Comparison operator
secondValue string true none Second Value
isAllowEmployeesEnter boolean true none Is Allow Employees Enter
integrationId string true none Integration Id
benefitActions [any] true none none

smart_pay_life_event_file_schema

{
  "name": "PayrollId",
  "required": 0,
  "friendlyName": "Payroll Id"
}

Smart Pay Life Event File Schema

Properties

Name Type Required Restrictions Description
name string true none Name
required integer true none Required
friendlyName string true none Friendly name

smart_pay_life_event_integration

{
  "id": "8d6cc014-5538-4b94-874a-bdc5ba5d6918",
  "name": "Example User",
  "fileSchema": [
    {
      "Name": "string",
      "Required": 0,
      "FriendlyName": "string"
    }
  ]
}

Smart Pay Life Event Integration

Properties

Name Type Required Restrictions Description
id string true none Integration Id
name string true none Name
fileSchema [object] true none none
» Name string false none none
» Required integer false none none
» FriendlyName string false none none

smart_pay_life_event_product

{
  "id": 1,
  "name": "Product Name",
  "isInsurance": false
}

Smart Pay Life Event Product

Properties

Name Type Required Restrictions Description
id integer true none Product Id
name string true none Name
isInsurance boolean true none Is Insurance

smart_pay_life_event_user

{
  "name": "Example User",
  "licenceKey": "001",
  "assignedUserEvents": [
    {
      "id": 1,
      "name": "Life Event name",
      "userId": 1,
      "eventId": 1,
      "lifeEventMapperId": 1,
      "isProcessed": 0,
      "isActive": true,
      "dateAdded": "0000-00-00 00:00:00",
      "dateActioned": "0000-00-00 00:00:00",
      "dateOccurred": "0000-00-00",
      "status": "approved",
      "memberFullName": "Example User",
      "approverFullName": "Example User",
      "addedFullName": "Example User"
    }
  ]
}

Smart Pay Life Event User

Properties

Name Type Required Restrictions Description
name string true none Name
licenceKey string true none licenceKey
assignedUserEvents [smart_pay_life_event_assigned_events] false none none

smart_pay_life_event_assigned_events

{
  "id": 1,
  "name": "Life Event name",
  "userId": 1,
  "eventId": 1,
  "lifeEventMapperId": 1,
  "isProcessed": 0,
  "isActive": true,
  "dateAdded": "0000-00-00 00:00:00",
  "dateActioned": "0000-00-00 00:00:00",
  "dateOccurred": "0000-00-00",
  "status": "approved",
  "memberFullName": "Example User",
  "approverFullName": "Example User",
  "addedFullName": "Example User"
}

Smart Pay Life Event Assigned Events

Properties

Name Type Required Restrictions Description
id integer true none id
name string true none name
userId integer true none userId
eventId integer true none eventId
lifeEventMapperId integer true none lifeEventMapperId
isProcessed integer true none isProcessed
isActive boolean true none isActive
dateAdded string true none dateAdded
dateActioned string true none dateActioned
dateOccurred string true none dateOccurred
status string true none status
memberFullName string false none Member Full Name
approverFullName string false none Approver Member Full Name
addedFullName string false none Added by Member Full Name

pensions_landing_page

{
  "textHeading": "Welcome to Smart Pay",
  "textSubHeading": "First Name",
  "backgroundImage": "string",
  "backgroundImagePartial": "string",
  "colour": "333333",
  "subheadingColour": "333333",
  "homeUrl": "string",
  "infoImg": "string",
  "infoTitle": "string",
  "infoDescription": "string",
  "orderHistoryUrl": "string",
  "lastDeductionDate": "string",
  "isAutoApproveEnabled": true,
  "applicationStatus": "pending",
  "faqUrl": "string",
  "usedFlexAllowance": "string",
  "subscriptionId": "string",
  "hideAnnualAmount": true,
  "canCancel": true,
  "hasWindow": true,
  "inBasket": true,
  "checkIsPensionablePay": true,
  "timelineContributions": [
    null
  ],
  "chartData": [
    null
  ]
}

Pensions Landing Page

Properties

Name Type Required Restrictions Description
textHeading string true none Landing page heading
textSubHeading string true none Landing page sub heading
backgroundImage string true none Banner image
backgroundImagePartial string true none Banner image partial
colour string true none Colour of the heading
subheadingColour string true none Colour of the subheading
homeUrl string true none Home url
infoImg string true none infoImg
infoTitle string true none infoTitle
infoDescription string true none infoDescription
orderHistoryUrl string true none orderHistoryUrl
lastDeductionDate string false none lastDeductionDate
isAutoApproveEnabled boolean false none isAutoApproveEnabled
applicationStatus string false none Status of the application
faqUrl string true none faqUrl
usedFlexAllowance string true none usedFlexAllowance
subscriptionId string true none subscriptionId
hideAnnualAmount boolean true none hideAnnualAmount
canCancel boolean true none canCancel
hasWindow boolean false none hasWindow
inBasket boolean true none inBasket
checkIsPensionablePay boolean true none checkIsPensionablePay
timelineContributions [any] true none none
chartData [any] true none none

smartpay_period_products

{
  "products": [
    0
  ]
}

An API entity for updating SmartPay Period Products

Properties

Name Type Required Restrictions Description
products [integer] true none List of product IDs associated with this period

smartpay_period

{
  "id": 1,
  "schemeId": 1,
  "name": "Period name",
  "status": "pending",
  "startDate": "2020-07-14",
  "windowEndDate": "2020-07-14",
  "effectiveDate": "2020-07-14",
  "endDate": "2020-07-14",
  "testWindowStartDate": "2020-07-14",
  "testWindowEndDate": "2020-07-14",
  "products": [
    {
      "productId": 1,
      "name": "Product name"
    }
  ]
}

An API entity representing a SmartPay Period

Properties

Name Type Required Restrictions Description
id integer false read-only none
schemeId integer false read-only none
name string false read-only none
status string false read-only none
startDate string false read-only none
windowEndDate string false read-only none
effectiveDate string false read-only none
endDate string false read-only none
testWindowStartDate string false read-only none
testWindowEndDate string false read-only none
products [smartpay_period_product] false none [An API entity representing a SmartPay Period Product]

smartpay_period_product

{
  "productId": 1,
  "name": "Product name"
}

An API entity representing a SmartPay Period Product

Properties

Name Type Required Restrictions Description
productId integer false read-only none
name string false read-only none

smartpay_periods

{
  "periods": [
    {
      "id": 1,
      "schemeId": 1,
      "name": "Period name",
      "status": "pending",
      "startDate": "2020-07-14",
      "windowEndDate": "2020-07-14",
      "effectiveDate": "2020-07-14",
      "endDate": "2020-07-14",
      "testWindowStartDate": "2020-07-14",
      "testWindowEndDate": "2020-07-14",
      "products": [
        {
          "productId": 1,
          "name": "Product name"
        }
      ]
    }
  ]
}

An API response entity representing a collection of periods and their data

Properties

Name Type Required Restrictions Description
periods [smartpay_period] false none [An API entity representing a SmartPay Period]

smartpay_periods_available_products

{
  "products": [
    {
      "productId": 198,
      "name": "Insurance Product",
      "available": true,
      "availableFrom": "2020-10-15"
    }
  ]
}

An API response entity representing a collection products available for a period

Properties

Name Type Required Restrictions Description
products [object] false none none
» productId integer true none Product id
» name string true none Name of the product
» available boolean true none Is the product available for the selected period dates
» availableFrom string true none Date after which the product is available

smartpay_period_update

{
  "name": "Period name",
  "startDate": "2020-07-14 12:45:00",
  "endDate": "2020-07-14 12:45:00",
  "windowEndDate": "2020-07-14 12:45:00",
  "effectiveDate": "2020-07-14 12:45:00",
  "testWindowStartDate": "2020-07-14 12:45:00",
  "testWindowEndDate": "2020-07-14 12:45:00"
}

An API payload entity for SmartPay Period Update

Properties

Name Type Required Restrictions Description
name string false read-only none
startDate string false read-only none
endDate string false read-only none
windowEndDate string false read-only none
effectiveDate string false read-only none
testWindowStartDate string false read-only none
testWindowEndDate string false read-only none

smart_pay_user

{
  "id": 1,
  "deductionFrequency": "monthly"
}

Smart Pay User

Properties

Name Type Required Restrictions Description
id integer true none The ID of the member
deductionFrequency string true none Payroll deduction frequency of the member

Enumerated Values

Property Value
deductionFrequency monthly
deductionFrequency weekly
deductionFrequency fortnightly
deductionFrequency fourweekly

smart_pay_user_balance

{
  "availableBalancePercentage": "97.50%",
  "totalBalance": 0.1,
  "currentBalance": 0.1,
  "totalFlexAllowance": 0.1,
  "unusedFlexAllowance": 0.1,
  "basketApplications": true,
  "activeApplications": true,
  "salary": 0.1,
  "taxAmount": 0.1,
  "nationalInsuranceAmount": 0.1,
  "grossBenefitsAmount": 0.1,
  "netBenefitsAmount": 0.1,
  "netIncome": 0.1,
  "applicationsSavings": [
    {
      "IncomeTax": 0.1,
      "NITax": 0.1
    }
  ],
  "products": [
    {
      "productName": "string",
      "amount": 0.1,
      "taxType": "string",
      "payrollFrequency": "string"
    }
  ],
  "isTakeHomePayEnabled": true
}

Smart Pay User Balance

Properties

Name Type Required Restrictions Description
availableBalancePercentage string true none This field shows the available percentage from the total balance
totalBalance number(float) true none This field shows the total amount the employee had available originally
currentBalance number(float) true none This field shows the total amount the employee has available to spend across SmartPay
totalFlexAllowance number(float) false none This field shows the total flex allowance the employee has available to spend across SmartPay
unusedFlexAllowance number(float) false none This field shows the unused flex allowance the employee has available to spend across SmartPay
basketApplications boolean false none The field will identify if the basket contains any applications
activeApplications boolean false none The field will identify for active applications
salary number(float) false none This field shows the total flex allowance the employee has available to spend across SmartPay
taxAmount number(float) false none This field shows the total flex allowance the employee has available to spend across SmartPay
nationalInsuranceAmount number(float) false none This field shows the total flex allowance the employee has available to spend across SmartPay
grossBenefitsAmount number(float) false none This field shows the total flex allowance the employee has available to spend across SmartPay
netBenefitsAmount number(float) false none This field shows the total flex allowance the employee has available to spend across SmartPay
netIncome number(float) false none This field shows the total flex allowance the employee has available to spend across SmartPay
applicationsSavings [object] false none none
» IncomeTax number(float) false none Savings from income tax
» NITax number(float) false none Savings from ni tax
products [object] false none none
» productName string false none The name of the product
» amount number(float) false none The amount of the application
» taxType string false none The tax type of the application
» payrollFrequency string false none Payroll frequency of the user
isTakeHomePayEnabled boolean false none The field will identify if take home pay is enabled

smart_pay_user_life_events

{
  "lifeEventsEnabled": true,
  "status": "approved",
  "daysLeftToAmendOrApply": 14
}

Smart Pay User Life Events

Properties

Name Type Required Restrictions Description
lifeEventsEnabled boolean false none Are life events enabled
status string true none The status of the life event request
daysLeftToAmendOrApply integer true none Return the left days to amend or apply for a benefit

minimalRetailer

{
  "id": 0,
  "name": "ASDA",
  "logo": "string"
}

Minimal Retailer

Properties

Name Type Required Restrictions Description
id integer true none Retailer identifier
name string true none Retailer Name
logo string true none URL for retailer logo

product

{
  "id": 0,
  "name": "string",
  "price": 0.1,
  "type": "Paper",
  "typeId": 0,
  "visibility": [
    "string"
  ],
  "stockCode": "string",
  "stockStatus": "string",
  "statusMessage": "string",
  "retailer": {
    "id": 0,
    "name": "ASDA",
    "logo": "string"
  },
  "printingRequired": true,
  "minimumOrder": 0.1,
  "maximumOrder": 0.1,
  "denominations": [
    0
  ],
  "isFlex": true
}

Smart Spending Product

Properties

Name Type Required Restrictions Description
id integer true none Product identifier
name string true none Product name
price number(float) true none Product price
type string true none Product type
typeId integer true none Product type id
visibility [string] true none Product visibility
stockCode string true none Product stock code
stockStatus string true none Product stock status
statusMessage string¦null true none Product status message
retailer minimalRetailer¦null true none Retailer entity
printingRequired boolean true none Product requires printing
minimumOrder number(float) true none Product minimum order amount
maximumOrder number(float) true none Product maximum order amount
denominations [number] true none Product denominations
isFlex boolean false none Is product flex (Used in RMP)

Enumerated Values

Property Value
type Paper
type Electronic
type Card
type Topup
type SMS
type EGiftCard
type InstantReloadableVoucher

SocialRecognitionConfiguration

{
  "name": "The Social Wall"
}

Social Recognition Configuration

Properties

Name Type Required Restrictions Description
name string false none none

EnquiryList

{
  "items": [
    {
      "id": 0,
      "title": "string",
      "subItems": [
        {
          "id": 0,
          "title": "string"
        }
      ]
    }
  ],
  "attributes": {
    "property1": "string",
    "property2": "string"
  },
  "formTypes": {
    "property1": {
      "formTypeIds": [
        "string"
      ]
    },
    "property2": {
      "formTypeIds": [
        "string"
      ]
    }
  }
}

Class EnquiryList

Properties

Name Type Required Restrictions Description
items [EnquirySupportCategory] true none List of Categories and it's SubItems
attributes object true none Static SubItems Name and it's Id map
» additionalProperties string false none none
formTypes object true none Static Formtypes Name and it's Id map
» additionalProperties object false none none
»» formTypeIds [string] false none none

EnquirySupportCategory

{
  "id": 0,
  "title": "string",
  "subItems": [
    {
      "id": 0,
      "title": "string"
    }
  ]
}

Class EnquirySupportCategory

Properties

Name Type Required Restrictions Description
id integer true none Item's identifier
title string true none Item's Title
subItems [EnquirySupportItem] true none Support Items

EnquirySupportItem

{
  "id": 0,
  "title": "string"
}

Class EnquirySupportItem

Properties

Name Type Required Restrictions Description
id integer true none Item's identifier
title string true none Item's Title

Auth

{
  "password": "password"
}

Auth

Properties

Name Type Required Restrictions Description
password string true none none

titledPromotion

{
  "title": "Top Offers",
  "promotions": [
    {
      "banner": {
        "image": "https://www.acme.com/path/to/image.jpg",
        "title": "Title of this banner",
        "subtitle": "Subtitle of this banner",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "retailer": {
        "id": 1234,
        "name": "Acme",
        "logo": "https://www.acme.com/path/to/image.jpg",
        "description": "Retailer description for Acme",
        "isFavourite": true,
        "isFeatured": true,
        "category": {
          "_links": {
            "self": {
              "href": null
            },
            "hierarchy": {
              "href": "/category/{categoryId}/hierarchy"
            }
          },
          "id": 123,
          "name": "Reloadable cards",
          "retailerCount": 45,
          "isFavourite": true
        }
      },
      "offer": {
        "id": 9999,
        "typeId": 9999,
        "type": "Cashback",
        "description": "Description for this offer",
        "keyInformation": "Key information for this offer",
        "howItWorks": "Details on how this offer works",
        "termsAndConditions": "Terms & conditions of this offer",
        "expiryDate": "2019-08-24T14:15:22Z",
        "specialOffer": true,
        "redeemableOnDesktop": true,
        "redeemableOnMobile": true,
        "discount": {
          "saving": "Earn 3%",
          "description": "on all offers",
          "useableInStore": true,
          "useableOnline": true,
          "startsOn": "2019-08-24T14:15:22Z",
          "endsOn": "2019-08-24T14:15:22Z"
        },
        "normally": {
          "saving": "Earn 3%",
          "description": "on all offers",
          "useableInStore": true,
          "useableOnline": true,
          "startsOn": "2019-08-24T14:15:22Z",
          "endsOn": "2019-08-24T14:15:22Z"
        }
      }
    }
  ]
}

Class TitledPromotion

Properties

Name Type Required Restrictions Description
title string true none Named Title
promotions [promotion] true none Promotions

basket

{
  "basketId": "string",
  "currency": "string",
  "total": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "subtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "items": [
    {
      "id": "string",
      "type": "string",
      "productId": 0,
      "productType": "string",
      "name": "string",
      "image": "string",
      "currency": "string",
      "price": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "cost": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "tax": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "saving": {
        "formattedValue": "£12.34",
        "value": 12.34
      },
      "quantity": 0.1,
      "termsAndConditions": "string",
      "adjustments": [
        null
      ],
      "variantInfo": [
        "string"
      ],
      "useQuantity": true
    }
  ],
  "messages": [
    null
  ],
  "rrUsed": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "originalCurrencySubtotal": {
    "formattedValue": "£12.34",
    "value": 12.34
  }
}

Basket

Properties

Name Type Required Restrictions Description
basketId string true none Basket identifier
currency string true none Basket currency code
total currency true none none
subtotal currency true none none
saving currency true none none
items [BasketItem] true none Basket items
messages [any] true none Basket messages
rrUsed currency false none none
originalCurrencySubtotal currency false none none

BasketItem

{
  "id": "string",
  "type": "string",
  "productId": 0,
  "productType": "string",
  "name": "string",
  "image": "string",
  "currency": "string",
  "price": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "cost": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "tax": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "saving": {
    "formattedValue": "£12.34",
    "value": 12.34
  },
  "quantity": 0.1,
  "termsAndConditions": "string",
  "adjustments": [
    null
  ],
  "variantInfo": [
    "string"
  ],
  "useQuantity": true
}

Basket Item

Properties

Name Type Required Restrictions Description
id string false none Item's identifier
type string true none Item's type
productId integer¦null false none Item's product identifier
productType string¦null false none Item's product type
name string true none Item name
image string true none Item image
currency string true none Item currency
price currency true none none
cost currency true none none
tax currency true none none
saving currency true none none
quantity number(float) true none Item quantity
termsAndConditions string¦null true none Item terms & conditions
adjustments [any] false none none
variantInfo [string] false none Variant information about a product
useQuantity boolean false none UseQuantity

cat

{
  "_links": {
    "self": {
      "href": null
    },
    "hierarchy": {
      "href": "/category/{categoryId}/hierarchy"
    }
  },
  "id": 123,
  "name": "Reloadable cards",
  "retailerCount": 45,
  "isFavourite": true
}

Class Category

Properties

Name Type Required Restrictions Description
_links object false none none
» self object false none none
»» href any false none none
» hierarchy object false none none
»» href string false none Endpoint to retrieve category hierarchy
id integer(int32) true none Category identifier
name string true none Category name
retailerCount integer(int32) true none Category retailer count
isFavourite boolean(boolean) true none Category favourite

categoryHierarchy

{
  "category": {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  },
  "parent": {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  },
  "children": [
    {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  ]
}

Class CategoryHierarchy

Properties

Name Type Required Restrictions Description
category cat true none Class Category
parent cat true none Class Category
children [cat] true none A list of child categories

client

{
  "id": "client_identifier",
  "name": "Acme Integration",
  "logo": "https://www.acme.com/path/to/image.jpg",
  "description": "Lorem ipsum dolor sit amet",
  "privacyUrl": "https://www.acme.com/privacy",
  "termsUrl": "https://www.acme.com/terms-and-conditions",
  "isInternal": false
}

Class Client

Properties

Name Type Required Restrictions Description
id string true none Client identifier
name string true none Client name
logo string true none Client logo
description string true none Client description
privacyUrl string true none Client's privacy URL
termsUrl string true none Client's terms and conditions URL
isInternal boolean true none none

currency

{
  "formattedValue": "£12.34",
  "value": 12.34
}

Currency

Properties

Name Type Required Restrictions Description
formattedValue string true none The formatted value of the amount
value number(float) true none The value of the amount

discount

{
  "saving": "Earn 3%",
  "description": "on all offers",
  "useableInStore": true,
  "useableOnline": true,
  "startsOn": "2019-08-24T14:15:22Z",
  "endsOn": "2019-08-24T14:15:22Z"
}

Class Discount

Properties

Name Type Required Restrictions Description
saving string true none Discount savings
description string true none Discount description
useableInStore boolean true none Discount can be used in-store
useableOnline boolean true none Discount can be used online
startsOn string(date-time) true none Discount is valid from
endsOn string(date-time) true none Discount is valid until

simplifiedLocale

{
  "id": 1
}

Simplified Locale

Properties

Name Type Required Restrictions Description
id integer(int32) true none Locale identifier

simplifiedMember

{
  "id": "00000000-0000-0000-0000-000000000000",
  "email": "user@acme.com"
}

Simplified Member

Properties

Name Type Required Restrictions Description
id string true none Member identifier
email string true none Member email

teamMembers

{
  "id": 1234,
  "name": "Acme Rewards",
  "companyName": "Acme Ltd",
  "url": "https://acme.rewardgateway.com",
  "hasUsernameEndpoint": true,
  "branding": {},
  "uuid": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
  "locale": {
    "id": 1,
    "name": "GB",
    "lang": "en_GB",
    "currency": "GBP",
    "symbol": "£",
    "states": [
      {
        "code": "string",
        "name": "string"
      }
    ],
    "contactFields": {
      "firstName": "First Name",
      "lastName": "Surname",
      "emailAddress": "Email Address",
      "mobilePhoneNumber": "Mobile Phone Number",
      "addressLine1": "Address Line 1",
      "addressLine2": "Address Line 2",
      "addressLine3": "Address Line 3",
      "addressLine4": "Address Line 4",
      "postCode": "Postcode"
    },
    "mappings": {
      "locale": "Locale CDN url",
      "fallback": "Fallback locale CDN url"
    }
  },
  "team": [
    {
      "id": 1234,
      "name": "Acme Rewards",
      "companyName": "Acme Ltd",
      "url": "https://acme.rewardgateway.com",
      "hasUsernameEndpoint": true,
      "branding": {},
      "uuid": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
      "locale": {
        "id": 1,
        "name": "GB",
        "lang": "en_GB",
        "currency": "GBP",
        "symbol": "£",
        "states": [
          {
            "code": "string",
            "name": "string"
          }
        ],
        "contactFields": {
          "firstName": "First Name",
          "lastName": "Surname",
          "emailAddress": "Email Address",
          "mobilePhoneNumber": "Mobile Phone Number",
          "addressLine1": "Address Line 1",
          "addressLine2": "Address Line 2",
          "addressLine3": "Address Line 3",
          "addressLine4": "Address Line 4",
          "postCode": "Postcode"
        },
        "mappings": {
          "locale": "Locale CDN url",
          "fallback": "Fallback locale CDN url"
        }
      },
      "team": [],
      "programmeTypes": [
        {
          "id": 1,
          "name": "Cashback",
          "stateId": 1,
          "stateName": "Enabled"
        }
      ],
      "enabledConfigurations": {
        "FVDining": true
      },
      "fullName": "John Smith",
      "firstName": "John",
      "lastName": "Smith",
      "email": "john.smith@acme.com",
      "cc": [
        "j.smith@acme.com"
      ],
      "image": "https://www.acme.com/path/to/image.jpg",
      "location": "United Kingdom",
      "description": "Lorem ipsum dolor sit amet",
      "role": "Director"
    }
  ],
  "programmeTypes": [
    {
      "id": 1,
      "name": "Cashback",
      "stateId": 1,
      "stateName": "Enabled"
    }
  ],
  "enabledConfigurations": {
    "FVDining": true
  },
  "fullName": "John Smith",
  "firstName": "John",
  "lastName": "Smith",
  "email": "john.smith@acme.com",
  "cc": [
    "j.smith@acme.com"
  ],
  "image": "https://www.acme.com/path/to/image.jpg",
  "location": "United Kingdom",
  "description": "Lorem ipsum dolor sit amet",
  "role": "Director"
}

Team Members

Properties

allOf

Name Type Required Restrictions Description
anonymous simplifiedScheme false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» uuid string(string) false none Programme uuid identifier
» locale GenericLocale false none none
» team [teamMembers] false none Programme's team
» programmeTypes [object] false none none
»» id integer(int32) false none Programme types for the scheme
»» name string false none none
»» stateId integer(int32) false none none
»» stateName string false none none
» enabledConfigurations object false none none
»» FVDining boolean false none Programme configurations enabled
» fullName string false none none
» firstName string false none none
» lastName string false none none
» email string false none none
» cc [string] false none none
» image string false none none
» location string false none none
» description string false none none
» role string false none none

scheme

{
  "id": 1234,
  "name": "Acme Rewards",
  "companyName": "Acme Ltd",
  "url": "https://acme.rewardgateway.com",
  "hasUsernameEndpoint": true,
  "branding": {}
}

Scheme

Properties

Name Type Required Restrictions Description
Scheme simplifiedScheme false none none

schemeBrandingColours

{
  "navigationBackground": "a1b4c8",
  "navigationText": "a1b4c8",
  "buttonBackground": "a1b4c8",
  "buttonText": "a1b4c8",
  "pageBackground": "a1b4c8",
  "chevronBackground": "a1b4c8",
  "chevronText": "a1b4c8",
  "unselectedTabBackground": "a1b4c8",
  "unselectedTabText": "a1b4c8",
  "selectedTabBackground": "a1b4c8",
  "selectedTabText": "a1b4c8",
  "offersCarouselBackground": "a1b4c8",
  "offersCarouselText": "a1b4c8",
  "registerButtonBackground": "a1b4c8",
  "registerButtonText": "a1b4c8",
  "logo": "https://www.acme.com/path/to/image.jpg",
  "favIcon": "https://www.acme.com/path/to/image.jpg",
  "colours": {
    "navigationBackground": "a1b4c8",
    "navigationText": "a1b4c8",
    "buttonBackground": "a1b4c8",
    "buttonText": "a1b4c8",
    "pageBackground": "a1b4c8",
    "chevronBackground": "a1b4c8",
    "chevronText": "a1b4c8",
    "unselectedTabBackground": "a1b4c8",
    "unselectedTabText": "a1b4c8",
    "selectedTabBackground": "a1b4c8",
    "selectedTabText": "a1b4c8",
    "offersCarouselBackground": "a1b4c8",
    "offersCarouselText": "a1b4c8",
    "registerButtonBackground": "a1b4c8",
    "registerButtonText": "a1b4c8",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "favIcon": "https://www.acme.com/path/to/image.jpg",
    "colours": {}
  }
}

Scheme Branding Colours

Properties

Name Type Required Restrictions Description
navigationBackground string true none Navigation background colour
navigationText string true none Navigation text colour
buttonBackground string false none Button background colour
buttonText string false none Button text colour
pageBackground string false none Page background colour
chevronBackground string false none Chevron background colour
chevronText string false none Chevron text colour
unselectedTabBackground string false none Unselected tab background colour
unselectedTabText string false none Unselected tab text colour
selectedTabBackground string false none Selected tab background colour
selectedTabText string false none Selected tab text colour
offersCarouselBackground string false none Offers caroussel background colour
offersCarouselText string false none Offers caroussel text colour
registerButtonBackground string false none Register button background colour
registerButtonText string false none Register button text colour
logo string false none Programme's logo
favIcon string false none Programme's favourite icon
colours schemeBrandingColours false none none

schemeBranding

{}

Scheme Branding

Properties

None

simplifiedScheme

{
  "id": 1234,
  "name": "Acme Rewards",
  "companyName": "Acme Ltd",
  "url": "https://acme.rewardgateway.com",
  "hasUsernameEndpoint": true,
  "branding": {}
}

Simplified Scheme

Properties

Name Type Required Restrictions Description
id integer(int32) true none Programme identifier
name string true none Programme name
companyName string true none Programme company
url string true none Programme URL
hasUsernameEndpoint boolean true none Programme has username endpoint
branding schemeBranding false none none

GenericLanguage

{
  "preferredLanguage": "en_GB",
  "languageName": "English (United Kingdom)"
}

Generic Language

Properties

Name Type Required Restrictions Description
preferredLanguage string true none Preferred language
languageName string true none Language name

GenericLocale

{
  "id": 1,
  "name": "GB",
  "lang": "en_GB",
  "currency": "GBP",
  "symbol": "£",
  "states": [
    {
      "code": "string",
      "name": "string"
    }
  ],
  "contactFields": {
    "firstName": "First Name",
    "lastName": "Surname",
    "emailAddress": "Email Address",
    "mobilePhoneNumber": "Mobile Phone Number",
    "addressLine1": "Address Line 1",
    "addressLine2": "Address Line 2",
    "addressLine3": "Address Line 3",
    "addressLine4": "Address Line 4",
    "postCode": "Postcode"
  },
  "mappings": {
    "locale": "Locale CDN url",
    "fallback": "Fallback locale CDN url"
  }
}

Generic Locale

Properties

Name Type Required Restrictions Description
id integer(int32) true none Locale identifier
name string true none Locale name
lang string true none Locale language
currency string true none Locale currency
symbol string true none Locale currency symbol
states [GenericState] true none Locale state list
contactFields object true none none
» firstName any false none List of translated contact fields
» lastName any false none none
» emailAddress any false none none
» mobilePhoneNumber any false none none
» addressLine1 any false none none
» addressLine2 any false none none
» addressLine3 any false none none
» addressLine4 any false none none
» postCode any false none none
mappings object false none none
» locale string false none Mappings to download jsons for React apps
» fallback string false none none

offer

{
  "id": 9999,
  "typeId": 9999,
  "type": "Cashback",
  "description": "Description for this offer",
  "keyInformation": "Key information for this offer",
  "howItWorks": "Details on how this offer works",
  "termsAndConditions": "Terms & conditions of this offer",
  "expiryDate": "2019-08-24T14:15:22Z",
  "specialOffer": true,
  "redeemableOnDesktop": true,
  "redeemableOnMobile": true,
  "discount": {
    "saving": "Earn 3%",
    "description": "on all offers",
    "useableInStore": true,
    "useableOnline": true,
    "startsOn": "2019-08-24T14:15:22Z",
    "endsOn": "2019-08-24T14:15:22Z"
  },
  "normally": {
    "saving": "Earn 3%",
    "description": "on all offers",
    "useableInStore": true,
    "useableOnline": true,
    "startsOn": "2019-08-24T14:15:22Z",
    "endsOn": "2019-08-24T14:15:22Z"
  }
}

Class Offer

Properties

Name Type Required Restrictions Description
id integer(int32) true none Offer identifier
typeId integer(int32) true none Type id of the offer
type string true none Type of the offer
description string true none Offer's description
keyInformation string true none Offer's key information
howItWorks string true none How the offer works
termsAndConditions string true none Offer's terms and conditions
expiryDate string(date-time) true none Offer's expiry date
specialOffer boolean true none Is this a special offer?
redeemableOnDesktop boolean true none Offer can be redeemed on the desktop
redeemableOnMobile boolean true none Offer can be redeemed on mobile
discount discount true none Class Discount
normally discount false none Class Discount

GenericProfileField

{
  "id": "string",
  "rawId": 0,
  "field": "string",
  "values": [
    {
      "id": 1,
      "name": "Foo"
    }
  ]
}

Discrimantory field for a programme.

Properties

Name Type Required Restrictions Description
id string true none id of the current field.
rawId integer true none raw id of the current field.
field string true none current field name.
values [object] false none Possible field values.
» id integer true none Id of the possible answer
» name string true none Discriminatory field answer

promotion

{
  "banner": {
    "image": "https://www.acme.com/path/to/image.jpg",
    "title": "Title of this banner",
    "subtitle": "Subtitle of this banner",
    "endsOn": "2019-08-24T14:15:22Z"
  },
  "retailer": {
    "id": 1234,
    "name": "Acme",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Retailer description for Acme",
    "isFavourite": true,
    "isFeatured": true,
    "category": {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  },
  "offer": {
    "id": 9999,
    "typeId": 9999,
    "type": "Cashback",
    "description": "Description for this offer",
    "keyInformation": "Key information for this offer",
    "howItWorks": "Details on how this offer works",
    "termsAndConditions": "Terms & conditions of this offer",
    "expiryDate": "2019-08-24T14:15:22Z",
    "specialOffer": true,
    "redeemableOnDesktop": true,
    "redeemableOnMobile": true,
    "discount": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    },
    "normally": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    }
  }
}

Class Promotion

Properties

Name Type Required Restrictions Description
banner banner true none Class Banner
retailer retailer true none Class Retailer
offer offer true none Class Offer

TitledPaginatedRepresentation

{
  "title": "Retailers"
}

Class TitledPaginatedRepresentation

Properties

Name Type Required Restrictions Description
title string true none none

banner

{
  "image": "https://www.acme.com/path/to/image.jpg",
  "title": "Title of this banner",
  "subtitle": "Subtitle of this banner",
  "endsOn": "2019-08-24T14:15:22Z"
}

Class Banner

Properties

Name Type Required Restrictions Description
image string true none Banner image location (URL)
title string true none Banner title
subtitle string true none Banner subtitle
endsOn string(date-time) true none Banner ends on date

retailer

{
  "id": 1234,
  "name": "Acme",
  "logo": "https://www.acme.com/path/to/image.jpg",
  "description": "Retailer description for Acme",
  "isFavourite": true,
  "isFeatured": true,
  "category": {
    "_links": {
      "self": {
        "href": null
      },
      "hierarchy": {
        "href": "/category/{categoryId}/hierarchy"
      }
    },
    "id": 123,
    "name": "Reloadable cards",
    "retailerCount": 45,
    "isFavourite": true
  }
}

Class Retailer

Properties

Name Type Required Restrictions Description
id integer(int32) true none Retailer identifier
name string true none Retailer's name
logo string true none Retailer's logo (URL)
description string true none Retailer's description
isFavourite boolean true none Is retailer favourited
isFeatured boolean true none Is retailer featured
category cat false none Class Category

retailerDetails

{
  "retailer": {
    "id": 1234,
    "name": "Acme",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Retailer description for Acme",
    "isFavourite": true,
    "isFeatured": true,
    "category": {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  },
  "bestOffer": {
    "id": 9999,
    "typeId": 9999,
    "type": "Cashback",
    "description": "Description for this offer",
    "keyInformation": "Key information for this offer",
    "howItWorks": "Details on how this offer works",
    "termsAndConditions": "Terms & conditions of this offer",
    "expiryDate": "2019-08-24T14:15:22Z",
    "specialOffer": true,
    "redeemableOnDesktop": true,
    "redeemableOnMobile": true,
    "discount": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    },
    "normally": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    }
  }
}

Class Retailer

Properties

Name Type Required Restrictions Description
retailer retailer true none Class Retailer
bestOffer offer true none Class Offer

retailerOffers

{
  "retailer": {
    "id": 1234,
    "name": "Acme",
    "logo": "https://www.acme.com/path/to/image.jpg",
    "description": "Retailer description for Acme",
    "isFavourite": true,
    "isFeatured": true,
    "category": {
      "_links": {
        "self": {
          "href": null
        },
        "hierarchy": {
          "href": "/category/{categoryId}/hierarchy"
        }
      },
      "id": 123,
      "name": "Reloadable cards",
      "retailerCount": 45,
      "isFavourite": true
    }
  },
  "offers": [
    {
      "id": 9999,
      "typeId": 9999,
      "type": "Cashback",
      "description": "Description for this offer",
      "keyInformation": "Key information for this offer",
      "howItWorks": "Details on how this offer works",
      "termsAndConditions": "Terms & conditions of this offer",
      "expiryDate": "2019-08-24T14:15:22Z",
      "specialOffer": true,
      "redeemableOnDesktop": true,
      "redeemableOnMobile": true,
      "discount": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      },
      "normally": {
        "saving": "Earn 3%",
        "description": "on all offers",
        "useableInStore": true,
        "useableOnline": true,
        "startsOn": "2019-08-24T14:15:22Z",
        "endsOn": "2019-08-24T14:15:22Z"
      }
    }
  ]
}

Class RetailerOffers

Properties

Name Type Required Restrictions Description
retailer retailer true none Class Retailer
offers [offer] true none Retailer's offers

retailerPromotion

{
  "name": "string",
  "items": [
    {
      "id": 1234,
      "name": "Acme",
      "logo": "https://www.acme.com/path/to/image.jpg",
      "description": "Retailer description for Acme",
      "isFavourite": true,
      "isFeatured": true,
      "category": {
        "_links": {
          "self": {
            "href": null
          },
          "hierarchy": {
            "href": "/category/{categoryId}/hierarchy"
          }
        },
        "id": 123,
        "name": "Reloadable cards",
        "retailerCount": 45,
        "isFavourite": true
      }
    }
  ]
}

Class RetailerPromotion

Properties

Name Type Required Restrictions Description
name string true none none
items [retailer] true none [Class Retailer]

GenericScheme

{
  "id": 0,
  "uuid": "string",
  "name": "string",
  "companyName": "string",
  "url": null,
  "hasUsernameEndpoint": true,
  "team": [
    null
  ],
  "branding": [
    null
  ],
  "locale": {
    "id": 1,
    "name": "GB",
    "lang": "en_GB",
    "currency": "GBP",
    "symbol": "£",
    "states": [
      {
        "code": "string",
        "name": "string"
      }
    ],
    "contactFields": {
      "firstName": "First Name",
      "lastName": "Surname",
      "emailAddress": "Email Address",
      "mobilePhoneNumber": "Mobile Phone Number",
      "addressLine1": "Address Line 1",
      "addressLine2": "Address Line 2",
      "addressLine3": "Address Line 3",
      "addressLine4": "Address Line 4",
      "postCode": "Postcode"
    },
    "mappings": {
      "locale": "Locale CDN url",
      "fallback": "Fallback locale CDN url"
    }
  },
  "programmeTypes": [
    null
  ],
  "enabledConfigurations": [
    null
  ],
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "Street Details",
  "addressLine3": "London",
  "addressLine4": "Fitzrovia",
  "postalCode": "W1T 7RQ",
  "status": 0,
  "schemeUrl": "https://programme1.rewardgateway.com"
}

Generic Scheme

Properties

Name Type Required Restrictions Description
id integer true none Programme identifier
uuid string false none Programme UUID
name string true none Programme name
companyName string true none Programme company name
url any true none Advertised Programme URL
hasUsernameEndpoint boolean true none Programme's username endpoint
team [any] true none Programme's team
branding [any] true none none
locale GenericLocale true none none
programmeTypes [any] true none Programme types for the scheme
enabledConfigurations [any] false none none
addressLine1 string false none Street Name 1
addressLine2 string false none Street Name 2
addressLine3 string false none City / Town
addressLine4 string false none County / State
postalCode string false none none
status integer false none 0 = Implementation, 1 = Live, 2 = Closing, 3 = Closed, 4 = Live Demo
schemeUrl string false none Internal Programme URL. Used for internal links and navigation.

Enumerated Values

Property Value
status 0
status 1
status 2
status 3
status 4

searchResult

{
  "retailer": null,
  "bestRate": "Earn 5%",
  "mainCategory": "Reloadable cards"
}

Search Result

Properties

Name Type Required Restrictions Description
retailer any true none Retailer
bestRate string true none Retailer's best offer
mainCategory string true none Retailer's main category

additionalInformation

{
  "title": "string",
  "description": "string",
  "imageURL": "string"
}

Additional Information

Properties

Name Type Required Restrictions Description
title string true none Title
description string false none Description
imageURL string¦null false none Url to an image

irvoffer

{
  "id": 0,
  "typeId": 0,
  "typeName": "string",
  "trackingType": "string",
  "discountRateTitles": [
    "string"
  ],
  "discountRate": "string",
  "discountRatePrefix": "string",
  "discountType": "string",
  "discountValue": 0.1,
  "discountDescription": "string",
  "discountFullTitle": "string",
  "discountNormal": "string",
  "canBeUsedOnline": true,
  "canBeUsedInStore": true,
  "redeemableOnDesktop": true,
  "redeemableOnMobile": true,
  "keyInformation": "string",
  "howItWorks": "string",
  "termsAndConditions": "string",
  "isSpecialOffer": true,
  "isExpiring": true,
  "expiryDate": "string",
  "buttons": [
    {
      "productId": 0,
      "title": "string",
      "handoverUrl": "string",
      "product": {
        "id": 0,
        "name": "string",
        "price": 0.1,
        "type": "Paper",
        "typeId": 0,
        "visibility": [
          "string"
        ],
        "stockCode": "string",
        "stockStatus": "string",
        "statusMessage": "string",
        "retailer": {
          "id": 0,
          "name": "ASDA",
          "logo": "string"
        },
        "printingRequired": true,
        "minimumOrder": 0.1,
        "maximumOrder": 0.1,
        "denominations": [
          0
        ],
        "isFlex": true
      },
      "extras": [
        null
      ],
      "primaryUrl": "string"
    }
  ],
  "additionalInformation": {
    "title": "string",
    "description": "string",
    "imageURL": "string"
  }
}

Instant Reloadable Voucher Offer

Properties

Name Type Required Restrictions Description
id integer true none Offer identifier
typeId integer true none Offer type identifier
typeName string true none Offer type name
trackingType string true none Offer tracking type
discountRateTitles [string] true none Discount rate prefixes
discountRate string true none Discount rate
discountRatePrefix string true none Discount rate prefix
discountType string true none Discount type
discountValue number(float)¦null true none Discount value
discountDescription string true none Discount description
discountFullTitle string true none Discount full title
discountNormal string true none Normal discount rate
canBeUsedOnline boolean true none Can be used online?
canBeUsedInStore boolean true none Can be used instore?
redeemableOnDesktop boolean true none Is redeemable on desktop?
redeemableOnMobile boolean true none Is redeemable on mobile?
keyInformation string true none Key Information about the offer
howItWorks string true none How the Offer works
termsAndConditions string true none Terms and conditions
isSpecialOffer boolean true none Is this a special offer?
isExpiring boolean true none Is the offer expiring?
expiryDate string true none Expiry date
buttons [offerButton] true none Offer buttons
additionalInformation additionalInformation true none none

offerButton

{
  "productId": 0,
  "title": "string",
  "handoverUrl": "string",
  "product": {
    "id": 0,
    "name": "string",
    "price": 0.1,
    "type": "Paper",
    "typeId": 0,
    "visibility": [
      "string"
    ],
    "stockCode": "string",
    "stockStatus": "string",
    "statusMessage": "string",
    "retailer": {
      "id": 0,
      "name": "ASDA",
      "logo": "string"
    },
    "printingRequired": true,
    "minimumOrder": 0.1,
    "maximumOrder": 0.1,
    "denominations": [
      0
    ],
    "isFlex": true
  },
  "extras": [
    null
  ],
  "primaryUrl": "string"
}

Smart Spending Offer Button

Properties

Name Type Required Restrictions Description
productId integer true none Product identifier
title string true none Button title
handoverUrl string¦null false none Handover URL
product product false none none
extras [any] false none Code
primaryUrl string¦null false none The offer's retailer primary domain URL

GenericSrwfeed

{
  "feedId": 0,
  "feedTitle": "string",
  "feedTimestamp": "string",
  "feedSubjectType": "string",
  "feedSubjectId": 0,
  "feedSegmentId": 0,
  "feedItemId": "string",
  "groupingId": "string",
  "feedSender": null,
  "feedContent": "string",
  "feedIsShared": true,
  "feedImage": "string",
  "feedRecipients": [
    0
  ],
  "feedComments": 0,
  "feedCommentData": [
    "string"
  ],
  "feedReactions": [
    null
  ],
  "feedReactionData": [
    null
  ],
  "feedUserReactionId": 0,
  "feedFirstUserToReact": [
    null
  ],
  "downloadUrl": [
    null
  ],
  "certificateUrl": [
    null
  ],
  "canDelete": true,
  "usersReactions": [
    null
  ],
  "reactionsTotals": [
    null
  ],
  "itemId": "string",
  "translationKeys": [
    "string"
  ],
  "canLike": true,
  "canComment": true,
  "feedSummaryContent": null
}

Social Recognition Feed

Properties

Name Type Required Restrictions Description
feedId integer true none Feed item identifier
feedTitle string true none Feed title
feedTimestamp string false none Feed timestamp
feedSubjectType string true none Feed subject type
feedSubjectId integer true none Feed subject id
feedSegmentId integer false none Feed segment id
feedItemId string false none FeedItem identifier
groupingId string¦null false none Grouping identifier
feedSender any false none Feed sender
feedContent string false none Feed content
feedIsShared boolean false none Feed isShared
feedImage string false none Feed image
feedRecipients [integer] false none Feed recipients
feedComments integer false none Feed number of comments
feedCommentData [string] false none Feed comments
feedReactions [any] false none All reactions on feed item
feedReactionData [any] false none All reactions on feed item from all members
feedUserReactionId integer false none User reaction on feed item
feedFirstUserToReact [any] false none First user to react to feed
downloadUrl [any] false none Relative download URL for the feedItem
certificateUrl [any] false none Relative certificate URL for the feedItem
canDelete boolean false none Do you have permissions to delete this feedItem
usersReactions [any] false none All reactions on feed item
reactionsTotals [any] false none Stats about reactions on feed item
itemId string false none Item identifier
translationKeys [string] false none Mapping from phrase to translated phrase
canLike boolean false none Do you have permissions to like this feedItem
canComment boolean false none Do you have permissions to comment this feedItem
feedSummaryContent any false none Feed summary content

GenericState

{
  "code": "string",
  "name": "string"
}

Generic State

Properties

Name Type Required Restrictions Description
code string true none none
name string true none none

MyUser

{
  "id": "00000000-0000-0000-0000-000000000000",
  "firstName": "John",
  "lastName": "Smith",
  "email": "john.smith@acme.com",
  "emailVisible": true,
  "summary": "Ipsum dolor sit amet",
  "timezone": "UK, Western Europe (GMT +1:00)",
  "gender": "X",
  "addressLine1": "123 Some Road",
  "addressLine2": "Floor 4",
  "addressLine3": "London",
  "addressLine4": "London",
  "postalCode": "AA00 0AA",
  "country": "United Kingdom",
  "mobileNumber": "07700900077",
  "mobileNumberVisible": true,
  "telephoneNumber": "02700900077",
  "avatar": "https://www.acme.com/path/to/image.jpg",
  "dateOfBirth": "2019-08-24T14:15:22Z",
  "dateOfBirthVisible": true,
  "registrationDate": "2019-08-24T14:15:22Z",
  "registrationInfo": "Lorem ipsum dolor sit amet",
  "pushNotifications": true,
  "registrationQuestionsAnswers": "string"
}

Current Member

Properties

Name Type Required Restrictions Description
id string true none Member identifier
firstName string true none Member's first name
lastName string true none Member's last name
email string true none Member's email address
emailVisible boolean false none Member's email address visibility
summary string false none Member's summary
timezone string false none Member's timezone
gender string true none Member's gender
addressLine1 string true none Member's address line 1
addressLine2 string true none Member's address line 2
addressLine3 string true none Member's address line 3
addressLine4 string true none Member's address line 4
postalCode string true none Member's postal code
country string true none Member's country
mobileNumber string true none Member's mobile number
mobileNumberVisible boolean false none Member's mobile number visibility
telephoneNumber string true none Member's telephone number
avatar string true none Member's avatar
dateOfBirth string(date-time) false none Member's date of birth
dateOfBirthVisible boolean false none Member's date of birth visibility
registrationDate string(date-time) false none Member's registration date
registrationInfo string false none Member's registration info
pushNotifications boolean false none Are push notifications enabled?
registrationQuestionsAnswers string false none Answers for discriminator registration questions

UserActivity

{
  "id": 0,
  "activityType": "string",
  "iconURL": "string",
  "activityTimestamp": "string",
  "actionContact": [
    null
  ],
  "feedItem": {
    "feedId": 0,
    "feedTitle": "string",
    "feedTimestamp": "string",
    "feedSubjectType": "string",
    "feedSubjectId": 0,
    "feedSegmentId": 0,
    "feedItemId": "string",
    "groupingId": "string",
    "feedSender": null,
    "feedContent": "string",
    "feedIsShared": true,
    "feedImage": "string",
    "feedRecipients": [
      0
    ],
    "feedComments": 0,
    "feedCommentData": [
      "string"
    ],
    "feedReactions": [
      null
    ],
    "feedReactionData": [
      null
    ],
    "feedUserReactionId": 0,
    "feedFirstUserToReact": [
      null
    ],
    "downloadUrl": [
      null
    ],
    "certificateUrl": [
      null
    ],
    "canDelete": true,
    "usersReactions": [
      null
    ],
    "reactionsTotals": [
      null
    ],
    "itemId": "string",
    "translationKeys": [
      "string"
    ],
    "canLike": true,
    "canComment": true,
    "feedSummaryContent": null
  }
}

User Activity

Properties

Name Type Required Restrictions Description
id integer true none Member identifier
activityType string true none Activity type
iconURL string false none Activity icon URL
activityTimestamp string true none Activity timestamp
actionContact [any] true none Activity contact
feedItem GenericSrwfeed true none none

UserSearchResult

{
  "id": "string",
  "contactId": 0,
  "firstName": "string",
  "lastName": "string",
  "registrationQuestions": "string",
  "avatarUrl": "string"
}

User Search Result

Properties

Name Type Required Restrictions Description
id string true none Member identifier
contactId integer false none Member contact id
firstName string true none Member first name
lastName string true none Member last name
registrationQuestions string true none Member label based on top 3 discriminatory fields
avatarUrl string true none Member profile url

voucherBalance

{
  "type": "string",
  "payload": [
    null
  ]
}

Voucher Balance

Properties

Name Type Required Restrictions Description
type string true none none
payload [any] false none none

checkoutSuccessComplete

{
  "code": 0,
  "message": "Payment was successful",
  "details": {
    "order-id": 1234
  }
}

Payment processed successfully

Properties

Name Type Required Restrictions Description
code integer true none The status code for the outcome of the payment
message string true none A message describing the outcome of the payment
details object true none Additional details about the payment
» order-id integer false none The identifier of the order successfully purchased

checkoutSuccessVerify

{
  "code": 301,
  "message": "Payment was successful",
  "details": {
    "external-url": "https://example.com/verify3ds",
    "order-reference": "1234-01",
    "return-url": "/checkout/verify3ds"
  }
}

Payment requires verification

Properties

Name Type Required Restrictions Description
code integer true none The status code for the outcome of the payment
message string true none A message describing the outcome of the payment
details object true none Additional details about the payment
» external-url string false none The URL to redirect the user to for further verification
» order-reference string(^[0-9]+-[0-9]{2}$) false none The reference of the order that requires further verification
» return-url string false none The URL to return to after the user has completed the verification

standardModel

{
  "code": null,
  "message": null,
  "details": [
    null
  ]
}

Standard Model

Properties

Name Type Required Restrictions Description
code any true none none
message any true none none
details [any] true none none

authResponse

{
  "token_type": null,
  "expires_in": null,
  "access_token": null,
  "refresh_token": null
}

Authentication Response

Properties

Name Type Required Restrictions Description
token_type any true none none
expires_in any true none none
access_token any true none none
refresh_token any true none none

authCodeResponse

{
  "redirect_uri": null
}

Authentication Code Response

Properties

Name Type Required Restrictions Description
redirect_uri any true none none

retailerMatch

{
  "id": null,
  "name": null
}

Retailer Match

Properties

Name Type Required Restrictions Description
id any true none none
name any true none none

formErrorResponse

{
  "code": null,
  "message": null,
  "formFieldErrors": [
    {
      "fieldName": "string",
      "message": "string"
    }
  ]
}

Form Error Response

Properties

Name Type Required Restrictions Description
code any true none none
message any true none none
formFieldErrors [formFieldError] true none none

simplifiedResponse

{
  "member": {
    "id": "00000000-0000-0000-0000-000000000000",
    "email": "user@acme.com"
  },
  "scheme": {
    "id": 1234,
    "name": "Acme Rewards",
    "companyName": "Acme Ltd",
    "url": "https://acme.rewardgateway.com",
    "hasUsernameEndpoint": true,
    "branding": {}
  },
  "locale": {
    "id": 1
  }
}

Simplified Response

Properties

Name Type Required Restrictions Description
member simplifiedMember true none none
scheme simplifiedScheme true none none
locale simplifiedLocale true none none

errorModel

{
  "code": null,
  "message": null
}

Error Model

Properties

Name Type Required Restrictions Description
code any true none none
message any true none none

pollResult

{
  "message": null,
  "pollId": null,
  "status": null,
  "userToken": null,
  "isAnonymous": null,
  "showResponses": null,
  "hasAnswer": null,
  "question": null,
  "answers": null
}

Poll Result

Properties

Name Type Required Restrictions Description
message any true none none
pollId any false none none
status any false none none
userToken any false none none
isAnonymous any false none none
showResponses any false none none
hasAnswer any false none none
question any false none none
answers any false none none

nomination

{}

Nomination

Properties

None

searchMember

{}

Search Member

Properties

None

paymentCard

{}

Payment Card

Properties

None

award

{
  "optionId": "string",
  "title": "string",
  "description": "string",
  "characterLimit": "string",
  "": {
    "small": "string",
    "medium": "string",
    "large": "string"
  },
  "questions": [
    {
      "id": "string",
      "type": "string",
      "title": "string",
      "options": [
        {
          "id": "string",
          "lable": "string"
        }
      ]
    }
  ],
  "awardValues": [
    "string"
  ],
  "pots": [
    "string"
  ]
}

Award

Properties

Name Type Required Restrictions Description
optionId string true none none
title string true none none
description string true none none
characterLimit string true none none
anonymous image false none none
questions [question] true none none
awardValues [string] true none none
pots [string] false none none

awardvalue

{
  "awardId": "string",
  "name": "string",
  "amount": "string",
  "subValues": [
    {
      "country": "string",
      "amount": "string",
      "formattedAmount": "string"
    }
  ],
  "formattedAmount": "string"
}

Award Value

Properties

Name Type Required Restrictions Description
awardId string true none none
name string true none none
amount string true none none
subValues [awardsubvalue] false none [Class AwardValue]
formattedAmount string false none none

image

{
  "small": "string",
  "medium": "string",
  "large": "string"
}

Image

Properties

Name Type Required Restrictions Description
small string true none none
medium string true none none
large string true none none

pot

{
  "potId": "string",
  "name": "string",
  "formattedAmount": "string",
  "amount": 0
}

Pot

Properties

Name Type Required Restrictions Description
potId string true none none
name string true none none
formattedAmount string true none none
amount integer true none none

question

{
  "id": "string",
  "type": "string",
  "title": "string",
  "options": [
    {
      "id": "string",
      "lable": "string"
    }
  ]
}

Question

Properties

Name Type Required Restrictions Description
id string true none none
type string true none none
title string true none none
options [questionoption] true none none

questionoption

{
  "id": "string",
  "lable": "string"
}

Question Option

Properties

Name Type Required Restrictions Description
id string true none none
lable string true none none

rrScheme

{
  "categoryId": 0,
  "recognitionType": "string",
  "brandingType": "string",
  "RRSchemeName": "string",
  "extraInformation": true,
  "customFormFields": true,
  "approvalType": "string",
  "autoApproval": true,
  "recognition": [
    {
      "optionId": "string",
      "title": "string",
      "description": "string",
      "characterLimit": "string",
      "": {
        "small": "string",
        "medium": "string",
        "large": "string"
      },
      "questions": [
        {
          "id": "string",
          "type": "string",
          "title": "string",
          "options": [
            {
              "id": "string",
              "lable": "string"
            }
          ]
        }
      ],
      "awardValues": [
        "string"
      ],
      "pots": [
        "string"
      ]
    }
  ],
  "senderWarning": null,
  "placeholderMessage": "string",
  "canPostOnWall": true
}

Reward and Recognition Scheme

Properties

Name Type Required Restrictions Description
categoryId integer true none none
recognitionType string true none none
brandingType string true none none
RRSchemeName string true none none
extraInformation boolean true none none
customFormFields boolean true none none
approvalType string true none none
autoApproval boolean true none none
recognition [award] true none none
senderWarning any false none none
placeholderMessage string false none none
canPostOnWall boolean false none none

senderMemberWarningDto

{
  "title": "string",
  "subTitle": "string",
  "isSoftLimitHit": true,
  "isHardLimitHit": true
}

Sender Member Warning DTO

Properties

Name Type Required Restrictions Description
title string false none none
subTitle string false none none
isSoftLimitHit boolean false none none
isHardLimitHit boolean false none none

recognitioncheckusers

{
  "eligible": [
    {
      "id": "string",
      "firstName": "string",
      "lastName": "string",
      "avatarUrl": "string"
    }
  ],
  "ineligible": [
    {
      "id": "string",
      "firstName": "string",
      "lastName": "string",
      "avatarUrl": "string"
    }
  ],
  "errorMessage": "string",
  "warnings": [
    {
      "title": "string",
      "isSoftLimitHit": true,
      "isHardLimitHit": true,
      "impactedUsers": [
        "string"
      ]
    }
  ]
}

Recognition Users Check

Properties

Name Type Required Restrictions Description
eligible [recognitionrecipient] true none none
ineligible [recognitionrecipient] true none none
errorMessage string true none none
warnings [recognition_warning] false none none

recognitionrecipient

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "avatarUrl": "string"
}

Recognition Recipient

Properties

Name Type Required Restrictions Description
id string true none none
firstName string true none none
lastName string true none none
avatarUrl string true none none

recognition_warning

{
  "title": "string",
  "isSoftLimitHit": true,
  "isHardLimitHit": true,
  "impactedUsers": [
    "string"
  ]
}

Recognition Warning

Properties

Name Type Required Restrictions Description
title string true none none
isSoftLimitHit boolean true none none
isHardLimitHit boolean true none none
impactedUsers [string] false none none

Branding

{
  "schemeId": 123,
  "showPayrollImage": false,
  "payrollImageText": "<strong class='title'>Looks like this is your first time signing in</strong>",
  "configureGetAccessText": "<strong class='title'>Get access</strong>",
  "signInText": "<strong class='title'>Sign In</strong>",
  "forgotYourPasswordText": "<strong class='title'>FORGOT YOUR PASSWORD?</strong>",
  "signInFirstTimeText": "If it’s your first time",
  "changeYourEmailAddressText": "<strong class='title'>CHANGE YOUR EMAIL ADDRESS</strong>",
  "successMessageText": "<span class='subtitle'>Thanks for registering!</span>",
  "requestAccessMessageText": "<span class='subtitle'>Thank you for requesting access to Example Site.</span>",
  "connectAccountsMessageText": "<strong class='title'>Connect your accounts</strong>",
  "finalStepTitleText": "<strong class='title'>Final Step</strong>",
  "finalStepRegisteringText": "<span class='subtitle'>By registering on this site...</span>",
  "socialOrderIds": "{'priority1':1000,'priority2':1200,'priority3':1151}",
  "registrationCompletedMessageText": "<strong class='title'>Registration Completed</strong>",
  "loginSubtitleEnabled": false,
  "loginTitleEnabled": false,
  "creatingYourAccountMessageText": "<span class='subtitle'>To make your experience...</span>",
  "isLogoTransparentBackground": false,
  "createNewPasswordMessageText": "<span class='subtitle'>Use your new password...</span>",
  "logoBackgroundColor": "ffffff",
  "loginTitle": "<p>Welcome to the Demo Site, where you can save at...</p>",
  "loginSubtitle": "<p>Benefits and savings for all</p>",
  "isDefault": false,
  "hasDarkOverlay": false,
  "backgroundImage": [
    "string"
  ],
  "brandingColours": [
    "string"
  ],
  "favIcon": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
  "homeScreenIcon": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
  "welcomeTitle": "Welcome to MySite",
  "aboutTitle": "About MySite",
  "footerLinks": [
    {
      "text": "Link",
      "link": "/path"
    }
  ],
  "selectLabel": "I speak",
  "backLabel": "Back",
  "registerToGetAccessLabel": "Register to get access"
}

Exposes programme's branding details in the application to the REST API

Properties

Name Type Required Restrictions Description
schemeId integer false none Unique integer to identify the scheme
showPayrollImage boolean false none Should payroll image should be displayed
payrollImageText string false none Payroll image text
configureGetAccessText string false none Registration text
signInText string false none Sign-in text
forgotYourPasswordText string false none Forgot your password text
signInFirstTimeText string false none First sign-in text
changeYourEmailAddressText string false none Change your email address text
successMessageText string false none Successful registration text
requestAccessMessageText string false none Access request submitted text
connectAccountsMessageText string false none Connect social accounts message
finalStepTitleText string false none Final registration step title
finalStepRegisteringText string false none Final registration step text
socialOrderIds string false none Social buttons order
registrationCompletedMessageText string false none Registration completed text
loginSubtitleEnabled boolean false none Login subtitle enabled
loginTitleEnabled boolean false none Login title enabled
creatingYourAccountMessageText string false none Creating your account message
isLogoTransparentBackground boolean false none Is logo's background transparent
createNewPasswordMessageText string false none Create new password message
logoBackgroundColor string false none Logo background colour
loginTitle string false none Login title text
loginSubtitle string false none Login subtitle text
isDefault boolean false none Is default branding configuration
hasDarkOverlay boolean false none Has dark overlay
backgroundImage [string] false none Background image URI in different sizes
brandingColours [string] false none Scheme branding colours
favIcon string false none FavIcon URI
homeScreenIcon string false none Home screen icon URI
welcomeTitle string false none The welcome title
aboutTitle string false none The about title
footerLinks [object] false none none
» text string false none none
» link string false none none
selectLabel string false none The select label
backLabel string false none The back label
registerToGetAccessLabel string false none The register to get access label

BrandingTextForm

{
  "uuid": "929692e5-6c6e-4ee4-8c9c-df4c21bf831f",
  "title": "<strong class='title'>Sign In</strong>",
  "description": "<span class='subtitle'>Welcome!</span>",
  "globalFormError": {
    "title": "Invalid form",
    "message": "Invalid data submited"
  },
  "enableCaptcha": true,
  "nextAction": {
    "method": "POST",
    "actionUrl": "https://api.rewardgateway.net/v3/schemes/8A98E6B3-D06D-4C18-85D7-FC239C87A2C9/form/registration",
    "redirect": false
  },
  "formFieldSections": [
    {
      "group": true,
      "type": "date",
      "label": "Date of Birth",
      "fields": [
        {
          "id": "sFirstName",
          "type": "text",
          "label": "First Name",
          "description": "Please enter your first name",
          "isHidden": false,
          "isXhrCallback": true,
          "isRequired": true,
          "options": {},
          "attributes": {},
          "value": "string",
          "errors": [
            "string"
          ]
        }
      ],
      "errors": [
        "string"
      ]
    }
  ]
}

Class BrandingTextForm represents a json object of the BrandingText form.

Properties

None

JsonWebKey

{
  "alg": "RS256",
  "kty": "RSA",
  "use": "sig",
  "n": "string",
  "e": "AQAB",
  "kid": "string"
}

class JsonWebKey represents JWKs needed for OpenId

Properties

Name Type Required Restrictions Description
alg string false none The specific cryptographic algorithm used with the key
kty string false none The family of cryptographic algorithms used with the key
use string false none How the key was meant to be used; sig represents the signature
n string false none The modulus for the RSA public key
e string false none The exponent for the RSA public key
kid string false none The unique identifier for the key

JwkSet

{
  "keys": [
    {
      "alg": "RS256",
      "kty": "RSA",
      "use": "sig",
      "n": "string",
      "e": "AQAB",
      "kid": "string"
    }
  ]
}

class JsonWebKeySet represents an array with JWKs.

Properties

Name Type Required Restrictions Description
keys [JsonWebKey] false none [class JsonWebKey represents JWKs needed for OpenId]

Metadata

{
  "preferredLanguage": "en_GB",
  "availableLanguages": [
    "string"
  ],
  "pageTitle": "Example Site | Login",
  "isSearchable": false,
  "isRegistrationAllowed": false
}

Exposes programme's metadata details in the application to the REST API

Properties

Name Type Required Restrictions Description
preferredLanguage string false none Preferred language
availableLanguages [string] false none Available languages for the programme
pageTitle string false none Page title
isSearchable boolean false none Is programme searchable
isRegistrationAllowed boolean false none Allow registration on the programme

Provider

{
  "id": 156879,
  "type": "SAML",
  "actionLabel": "Sign in with Email",
  "actionDescription": "To use this login method you must be signed up to the platform first",
  "actionType": "link",
  "actionUrl": "https://example.rewardgateway.com/Authentication/StartLogin?idp=156789",
  "actionIcon": "icon-facebook",
  "actionColor": "#000000"
}

Exposes an auth provider in the application to the REST API.

Properties

Name Type Required Restrictions Description
id integer false none Unique integer to identify an auth provider
type string false none Type of auth provider
actionLabel string false none Label of the action provided through this auth provider
actionDescription string false none Description of the action provided through this auth provider
actionType string false none Defines the type of action. Can be a link or a form
actionUrl string false none Specifies the url needed to complete the authentication using this auth provider. In the case of a form action type, this would be where the form data should be posted to.
actionIcon string false none Icon that is associates with this auth provider. In some cases these maybe static image urls.
actionColor string false none Preferred color to be rendered along side the auth provider actions

blogModel

{
  "id": 123,
  "title": "Awesome Blog",
  "subtitle": "Subtitle for blog",
  "isActive": true,
  "isDeleted": false,
  "isAnnouncement": false,
  "defaultRoleId": 10,
  "defaultRoleText": "Contributor",
  "defaultSegmentId": 1251,
  "url": [
    {
      "full": "https://schemename.rg.com/blogpost/slug",
      "relative": "/blogpost/slug"
    }
  ],
  "updated": [
    {
      "dateFormatted": "06/07/2022, 08:26",
      "dateUtc": "2022-07-06 07:26:27",
      "memberId": "123",
      "memberName": "Example User"
    }
  ]
}

Default blog model response.

Properties

Name Type Required Restrictions Description
id integer false none Blog indetifier
title string false none Title of blog
subtitle string false none Subtitle of blog
isActive boolean false none Wheather blog is active or not
isDeleted boolean false none Wheather blog is deleted or not
isAnnouncement boolean false none If all published blogposts are announcements
defaultRoleId integer false none Default blog role id for all members which dont have assigned one
defaultRoleText string false none Default blog role name for all members which dont have assigned one
defaultSegmentId integer false none Id of segment that will be assigned on blog posts in this blog when created.
url [bloggingUrl] false none [Default url response.]
updated [bloggingUpdated] false none [Default updated response.]

blogUser

{
  "blogId": 30,
  "role": {
    "id": 30,
    "name": "Contributor",
    "canAnnounce": false
  },
  "permissions": {
    "canManageBlogSettings": true,
    "canManageAnyRole": false,
    "canManageEditor": false,
    "canManageBlogger": true,
    "canManageContributor": true,
    "canBeRemoved": true,
    "canBeEdited": true
  },
  "member": {
    "contactId": 12452,
    "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
    "profileUrl": "https://site1.rewardgateway.dev/profile/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
    "fullName": "Helpdesk Supervisor",
    "avatarUrl": "https://ugc.rewardgateway.dev/avatars/default/200x200_HS-default-4.png"
  },
  "postsCount": 30
}

Member related to blog post - author,sender, etc.

Properties

Name Type Required Restrictions Description
blogId integer false none Id for blog.
role blogRole false none Role data - name, id and if it allows announcements
permissions blogPermissions false none Role data - name, id and if it allows announcements
member bloggingMember false none Member related to blog post - author,sender, etc.
postsCount integer false none Number of user posts.

engagementStats

{
  "blogStats": [
    {
      "blogId": 321,
      "posts": 1333,
      "views": 12,
      "visitors": 321
    }
  ],
  "engagement": {
    "visitors": {
      "count": 321,
      "change": 3333
    },
    "views": {
      "count": 321,
      "change": 3333
    },
    "reactions": {
      "count": 321,
      "change": 3333
    },
    "comments": {
      "count": 321,
      "change": 3333
    }
  }
}

Blogposts Engagement Statistics

Properties

Name Type Required Restrictions Description
blogStats [object] false none Array with minimal stats for all required blogposts
» blogId integer true none Blog Id
» posts integer true none Total posts published past 7 days
» views integer true none Total views past 7 days
» visitors integer true none Total visitors past 7 days
engagement object false none none
» visitors object false none none
»» count integer false none Total number for last 7 days
»» change integer false none Percent of change since prev 7 days
» views object false none none
»» count integer false none Total number for last 7 days
»» change integer false none Percent of change since prev 7 days
» reactions object false none none
»» count integer false none Total number for last 7 days
»» change integer false none Percent of change since prev 7 days
» comments object false none none
»» count integer false none Total number for last 7 days
»» change integer false none Percent of change since prev 7 days

blogFollowMeta

{
  "followersCount": 54,
  "isFollowing": true,
  "followUrl": "https://{clientName}.rewardgateway.net/blog/subscribe/blog/{blogId}/subscribe",
  "isFollowOptional": false
}

Blog Followers data

Properties

Name Type Required Restrictions Description
followersCount integer false none Number of members following the blog
isFollowing boolean false none Whether current member is following the blog or not.
followUrl string false none Request to follow/unfollow for current user.
isFollowOptional boolean false none Whether member can choose to follow or following is determined by the system.

blogPartial

{
  "blogId": 4,
  "subjectType": "blog",
  "blogTitle": "Latest news blog",
  "isFollowing": true,
  "blogUrl": {
    "full": "https://schemename.rg.com/blogpost/slug",
    "relative": "/blogpost/slug"
  }
}

Shortened blog model.

Properties

Name Type Required Restrictions Description
blogId integer false none Id of blog that this post belongs to.
subjectType string false none Subject type - this will always be 'blog'
blogTitle string false none Blog title
isFollowing boolean false none Whether or not current user is following the blog
blogUrl bloggingUrl false none Default url response.

blogPermissions

{
  "canManageBlogSettings": true,
  "canManageAnyRole": false,
  "canManageEditor": false,
  "canManageBlogger": true,
  "canManageContributor": true,
  "canBeRemoved": true,
  "canBeEdited": true
}

Role data - name, id and if it allows announcements

Properties

Name Type Required Restrictions Description
canManageBlogSettings boolean false none If role allows user to modify blog settings.
canManageAnyRole boolean false none If role allows user to grant/remove/change blog roles.
canManageEditor boolean false none If role allows user to grant/remove/change blog role.
canManageBlogger boolean false none If role allows user to grant/remove/change blog role.
canManageContributor boolean false none If role allows user to grant/remove/change blog role.
canBeRemoved boolean false none Whether or not current user can delete member's role for current blog.
canBeEdited boolean false none Whether or not current user can edit member's role for current blog.

blogRole

{
  "id": 30,
  "name": "Contributor",
  "canAnnounce": false
}

Role data - name, id and if it allows announcements

Properties

Name Type Required Restrictions Description
id integer false none Role Id for blog.
name string false none User readable role.
canAnnounce boolean false none If role allows user to mark posts as announcement.

bloggingMember

{
  "contactId": 12452,
  "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
  "profileUrl": "https://site1.rewardgateway.dev/profile/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
  "fullName": "Helpdesk Supervisor",
  "avatarUrl": "https://ugc.rewardgateway.dev/avatars/default/200x200_HS-default-4.png"
}

Member related to blog post - author,sender, etc.

Properties

Name Type Required Restrictions Description
contactId integer false none Contact Id of member
uuid string false none Uuid of member
profileUrl string false none Link to profile
fullName string false none Member full name
avatarUrl string false none URI of member avatar image

bloggingUpdated

{
  "dateFormatted": "06/07/2022, 08:26",
  "dateUtc": "2022-07-06 07:26:27",
  "memberId": "123",
  "memberName": "Example User"
}

Default updated response.

Properties

Name Type Required Restrictions Description
dateFormatted string false none Scheme locale formatted date
dateUtc string false none Datetime utc tz
memberId string false none Member id of last blog settings update.
memberName string false none Member full name of last blog settings update.

bloggingUrl

{
  "full": "https://schemename.rg.com/blogpost/slug",
  "relative": "/blogpost/slug"
}

Default url response.

Properties

Name Type Required Restrictions Description
full string false none Full url to recourse
relative string false none Path url to resource

postMeta

{
  "timeToRead": "2m",
  "commentsCount": 12,
  "reactionsCount": 3,
  "viewsCount": 50,
  "canLike": true,
  "canComment": true,
  "isDefaultSegment": true,
  "isVersionId": false,
  "confirmationRequired": false
}

Post metadata - time to read, are comments enabled, etc.

Properties

Name Type Required Restrictions Description
timeToRead string false none Estimate of how long would the article take to read
commentsCount integer false none Number of comments on this post
reactionsCount integer false none Number of reactions on post.
viewsCount integer false none Number of times blog post was viewed
canLike boolean false none Whether reactions are toggled on or off for post.
canComment boolean false none Whether comments are toggled on or off for post.
isDefaultSegment boolean false none Whether currently returned segment is the default for blog.
isVersionId boolean false none Whether post is fetched by version id (true) or by origin id (false).
confirmationRequired boolean false none Whether members must 'agree' or 'acknowledge' something related to the post's content.

postSegment

{
  "segmentName": "All members",
  "versionName": "Default version",
  "url": [
    {
      "full": "https://schemename.rg.com/blogpost/slug",
      "relative": "/blogpost/slug"
    }
  ]
}

List of segments linked to post

Properties

Name Type Required Restrictions Description
segmentName string false none System wide segment name
versionName string false none Name for this version of the post
url [bloggingUrl] false none [Default url response.]

PlainMember

{
  "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
  "contactId": 125,
  "fullName": "Example User",
  "hasRole": true
}

Member that has or can have a blog role.

Properties

Name Type Required Restrictions Description
uuid string false none Member unique Id.
contactId integer false none Member Contact Id.
fullName string false none Member full name
hasRole boolean false none Whether member can be added to blog or not. If member has role, they can not be added a second time.

MemberList

{
  "count": 20,
  "blogId": 125,
  "members": [
    {
      "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
      "contactId": 125,
      "fullName": "Example User",
      "hasRole": true
    }
  ]
}

List of members that have or can have blog role.

Properties

Name Type Required Restrictions Description
count integer false none Count of fetched members.
blogId integer false none Blog Id.
members [PlainMember] false none [Member that has or can have a blog role.]

postModel

{
  "id": 123,
  "blogId": 4,
  "bloggerId": 12,
  "createdFrom": 1,
  "postType": 0,
  "hookStatus": 1,
  "url": [
    {
      "full": "https://schemename.rg.com/blogpost/slug",
      "relative": "/blogpost/slug"
    }
  ],
  "updated": [
    {
      "dateFormatted": "06/07/2022, 08:26",
      "dateUtc": "2022-07-06 07:26:27",
      "memberId": "123",
      "memberName": "Example User"
    }
  ]
}

Default blog model response.

Properties

Name Type Required Restrictions Description
id integer false none Post identifier
blogId integer false none Blog, that contains post, identifier
bloggerId integer false none Post creator identifier
createdFrom integer false none Is post from front-end or back-end
postType integer false none Post subscribe type - announcement, none, etc.
hookStatus integer false none Hook status
url [bloggingUrl] false none [Default url response.]
updated [bloggingUpdated] false none [Default updated response.]

postVersion

{
  "id": 211,
  "title": "Please Enter Title 234",
  "subjectType": "blogpost",
  "updatedDate": "2022-07-06T10:26:27+02:00",
  "content": "<p>A paragpraph of praisal about how someone did a great job!<p>",
  "blog": {
    "id": 2,
    "subjectType": "blog",
    "_links": {
      "blog": {
        "href": "/blogs/2"
      }
    }
  },
  "author": {
    "id": 15,
    "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
    "subjectType": "member",
    "_links": {
      "member": {
        "href": "/scim/v2/Users/8a98e6b3-d589-4782-9522-da619acc7916"
      }
    }
  },
  "metadata": {
    "timeToRead": "2m",
    "commentsCount": 12,
    "reactionsCount": 3,
    "viewsCount": 50,
    "canLike": true,
    "canComment": true,
    "isDefaultSegment": true,
    "isVersionId": false,
    "confirmationRequired": false
  },
  "tags": [
    {
      "name": "#helpdesk",
      "url": "/SmartPress/Tag/helpdesk"
    }
  ],
  "attachments": [
    {
      "id": 135,
      "name": "some-image.jpg",
      "url": "/MediaFile.php?hash=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NzY4OTE0NjguNzE3NzM5LCJleHAiOjE2NzY4OTMyNjguNzE3NzM5LCJmaWxlSWQiOjJ9.HLYZfVj4l6c-vD_UG6BtrMW5NyC9hWTJZv9MnusTW5g"
    }
  ],
  "reactions": {
    "_links": {
      "reactions": {
        "href": "/posts/211/reactions"
      }
    }
  },
  "comments": {
    "_links": {
      "comments": {
        "href": "/posts/211/comments"
      }
    }
  }
}

Post version with metadata, tags and attachments.

Properties

Name Type Required Restrictions Description
id integer false none Blog post Id
title string false none Blog post title
subjectType string false none Subject type - this will always be 'blogpost'
updatedDate string false none Datetime with timezone
content string false none Contents of the blog post, contains html elements
blog object false none Contains blog id and blog subject type
» id integer false none none
» subjectType string false none none
» _links object false none none
»» blog object false none none
»»» href string false none none
author object false none Contains id and uid of member that authored the post
» id integer false none none
» uuid string false none none
» subjectType string false none none
» _links object false none none
»» member object false none none
»»» href string false none none
metadata postMeta false none Post metadata - time to read, are comments enabled, etc.
tags [object] false none Array containing tag name and URL
» name string false none none
» url string false none none
attachments [object] false none Array containing attached file id, name and URL
» id integer false none none
» name string false none none
» url string false none none
reactions object false none Provides endpoint to fetch post reactions.
» _links object false none none
»» reactions object false none none
»»» href string false none none
comments object false none Provides endpoint to fetch post comments.
» _links object false none none
»» comments object false none none
»»» href string false none none

commsPostVersionResponse

{
  "data": [
    {
      "name": "All Users",
      "sort": 3,
      "segment": {
        "id": 2,
        "name": "Do Not Show",
        "query": "Licence ID is"
      },
      "version": {
        "id": 123,
        "title": "New Title",
        "content": "New blog post...",
        "reading_time": "reading_time",
        "is_draft": true
      }
    }
  ]
}

Comms Post Version Response

Properties

Name Type Required Restrictions Description
data [object] true none none
» name string true none Version name
» sort integer true none Version order
» segment object true none Additional info for assigned segment
»» id integer false none Segment Id
»» name string false none Segment name
»» query string false none Segment query
» version object true none Version enttiy
»» id integer false none Version id
»» title string false none Version title
»» content string false none Version content
»» reading_time string false none Version reading time
»» is_draft boolean false none if is draft

blogSettings

{
  "title": "Awesome Blog",
  "subtitle": "Subtitle for blog",
  "active": true,
  "delete": false,
  "announce": false,
  "defaultRoleId": 30,
  "lastUpdaterContactId": 1,
  "url": "new_title_3_1657007132"
}

Default blog model response.

Properties

Name Type Required Restrictions Description
title string false none Title of blog
subtitle string false none Subtitle of blog
active boolean false none Wheather blog is active or not
delete boolean false none Whether blog is deleted or not
announce boolean false none If all published blogposts are announcements
defaultRoleId integer false none Default blog role id for all members which dont have assigned one
lastUpdaterContactId integer false none The Id of the contact that updated the blog most recently
url string false none The last part of a blog's URI

BlogRoles

{
  "limit": 20,
  "offset": 20,
  "fetchedAll": false,
  "roles": [
    {
      "blogId": 30,
      "role": {
        "id": 30,
        "name": "Contributor",
        "canAnnounce": false
      },
      "permissions": {
        "canManageBlogSettings": true,
        "canManageAnyRole": false,
        "canManageEditor": false,
        "canManageBlogger": true,
        "canManageContributor": true,
        "canBeRemoved": true,
        "canBeEdited": true
      },
      "member": {
        "contactId": 12452,
        "uuid": "8a98e6b3-d589-4782-9522-da619acc7916",
        "profileUrl": "https://site1.rewardgateway.dev/profile/8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
        "fullName": "Helpdesk Supervisor",
        "avatarUrl": "https://ugc.rewardgateway.dev/avatars/default/200x200_HS-default-4.png"
      },
      "postsCount": 30
    }
  ]
}

Member related to blog post - author,sender, etc.

Properties

Name Type Required Restrictions Description
limit integer false none How many records to fetch in request.
offset integer false none Position to start fetching from.
fetchedAll boolean false none If true - no more records to fectch. Admins are fetched last and will appear when this is true.
roles [blogUser] false none [Member related to blog post - author,sender, etc.]

commsPostHistory

{
  "data": [
    {
      "doerUuid": "8a98e6b3-d51e-4829-a1e2-ed20bbfe248d",
      "doerType": "member",
      "profileUrl": "url",
      "hasProfileUrl": true,
      "isRejectionLink": true,
      "text": "Scheduled by someone.",
      "statusIndex": "scheduled",
      "statusText": "Scheduled",
      "dateElapsed": "2 days ago",
      "rawDate": "2020-07-03T12:36:38+00:00"
    }
  ]
}

Comms Post History

Properties

Name Type Required Restrictions Description
data [object] true none none
» doerUuid string true none Uuid of doer
» doerType string true none Type of doer
» profileUrl string true none If doer is member will have url to the profile
» hasProfileUrl boolean true none Check if doer is member e.g has valid profile url.
» isRejectionLink boolean true none If history item should be linked to rejection reason. Will be true.
» text string true none Text for history item
» statusIndex string true none History item status as key.
» statusText string true none History item status as string.
» dateElapsed string true none Time elaspesed since action was performed.
» rawDate string true none Datetime formatted with timezone when action was performed.

globalbenefits_application_amend

{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Global Benefits Application Amendment

Properties

Name Type Required Restrictions Description
Global Benefits Application Amendment globalbenefits_application_create false none none

globalbenefits_application_approve

null

Global Benefits Application Approve

Properties

Name Type Required Restrictions Description
Global Benefits Application Approve any false none none

globalbenefits_application_cancel

{
  "reason": "User requested cancellation"
}

Global Benefits Application Cancel

Properties

Name Type Required Restrictions Description
reason string false none Cancellation reason

globalbenefits_application_create

{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Global Benefits Application Create

Properties

Name Type Required Restrictions Description
deductionPeriod integer true none Repayment period
deductionFrequency string false none Deduction frequency. User dependant, see /globalbenefits/member/find
amount number(float) true none Application value
product string true none Product Name
externalOrderId string false none External order ID
description string false none Order description
externalStatus string false none Custom status that will get displayed alongside the internal status of the application
savings globalbenefits_application_savings false none none
metadata [globalbenefits_application_metadata] false none A list of metadata properties
items [globalbenefits_application_item] false none A list of the order items

Enumerated Values

Property Value
deductionFrequency monthly
deductionFrequency weekly
deductionFrequency fortnightly
deductionFrequency fourweekly

globalbenefits_application_close

{}

Global Benefits Application Close

Properties

None

globalbenefits_application_item

{
  "externalId": "SKU123456",
  "quantity": 3.4,
  "amount": 118.54,
  "name": "Hair dryer Brand Model X",
  "description": "Short description of the purchased item",
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ]
}

Global Benefits Application Item

Properties

Name Type Required Restrictions Description
externalId string false none External item ID
quantity number(float) true none Number of items of this type
amount number(float) false none Item value
name string true none Item name
description string false none Short item description
metadata [globalbenefits_application_metadata] false none A list of metadata properties

globalbenefits_application_metadata

{
  "name": "width",
  "type": "string",
  "value": "145 centimeters"
}

Global Benefits Application Metadata

Properties

Name Type Required Restrictions Description
name string true none Property name
type string true none Value type
value string true none Property value

Enumerated Values

Property Value
type string
type number
type currency
type date
type datetime

globalbenefits_application_minimal

{
  "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "applicationId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 100,
  "product": "product",
  "externalOrderId": "123456",
  "description": "description",
  "status": "approved",
  "externalStatus": "active",
  "savings": {
    "ni": 18.25,
    "tax": 10.88
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ],
  "dateCreated": "2021-01-01 12:17:42",
  "dateApproved": "2021-01-01 12:17:42"
}

Global Benefits Application Minimal

Properties

Name Type Required Restrictions Description
memberId string false none This field holds the unique identifier of the member.
schemeId string false none This field holds the unique identifier of the scheme the member belongs to.
applicationId string false none This field holds the unique identifier of the application.
deductionPeriod integer false none This field holds the number of periods of the application.
deductionFrequency string false none This field holds the frequency of the application.
amount number(float) false none This field holds the amount of the application.
product string false none This field holds the name of the product the application belongs to.
externalOrderId string false none This field holds the external order id of the application.
description string false none This field holds the description of the application.
status string false none This field holds the status of the application.
externalStatus string false none This field holds the external status of the application.
savings object false none This field holds the savings of the application.
» ni number(float) false none none
» tax number(float) false none none
metadata [globalbenefits_application_metadata] false none This field holds the metadata properties of the application.
items [globalbenefits_application_item] false none This field holds the items of the application.
dateCreated string false none This field holds the date the application was created.
dateApproved string false none This field holds the date the application was approved.

Enumerated Values

Property Value
deductionFrequency monthly
deductionFrequency weekly
deductionFrequency fortnightly
deductionFrequency fourweekly
status hold
status pending
status approved
status rejected
status cancelled
status closed
status revoked

globalbenefits_application_nmw

{
  "ignoreAppId": 123,
  "product": "vehicle"
}

Global Benefits Application NMW

Properties

Name Type Required Restrictions Description
ignoreAppId integer false none RG Application IDs to be ignored
product string true none Product ID

globalbenefits_paginated_applications

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=2&limit=10"
    },
    "first": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=1&limit=10"
    },
    "last": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=10&limit=10"
    },
    "next": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/applications?page=3&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
        "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "applicationId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "deductionPeriod": 12,
        "deductionFrequency": "monthly",
        "amount": 100,
        "product": "product",
        "externalOrderId": "123456",
        "description": "description",
        "status": "approved",
        "externalStatus": "active",
        "savings": {
          "ni": 18.25,
          "tax": 10.88
        },
        "metadata": [
          {
            "name": "width",
            "type": "string",
            "value": "145 centimeters"
          }
        ],
        "items": [
          {
            "externalId": "SKU123456",
            "quantity": 3.4,
            "amount": 118.54,
            "name": "Hair dryer Brand Model X",
            "description": "Short description of the purchased item",
            "metadata": [
              {
                "name": "width",
                "type": "string",
                "value": "145 centimeters"
              }
            ]
          }
        ],
        "dateCreated": "2021-01-01 12:17:42",
        "dateApproved": "2021-01-01 12:17:42",
        "_links": {
          "self": {
            "href": "/globalbenefits/applications/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Global Benefits Applications Paginated

Properties

Name Type Required Restrictions Description
page integer false none none
limit integer false none none
pages integer false none none
total integer false none none
_links object false none none
» self object false none none
»» href string false none none
» first object false none none
»» href string false none none
» last object false none none
»» href string false none none
» next object false none none
»» href string false none none
_embedded object false none none
» items [allOf] false none none

allOf

Name Type Required Restrictions Description
»» anonymous globalbenefits_application_minimal false none none

and

Name Type Required Restrictions Description
»» anonymous object false none none
»»» _links object false none none
»»»» self object false none none
»»»»» href string false none none

globalbenefits_application_reject

{
  "reason": "Member does not qualify for this product"
}

Global Benefits Application Rejection

Properties

Name Type Required Restrictions Description
reason string false none Rejection reason

globalbenefits_application_renewal

{
  "deductionPeriod": 12,
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "mycar",
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Short description of the order",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Global Benefits Application Renewal

Properties

Name Type Required Restrictions Description
Global Benefits Application Renewal globalbenefits_application_create false none none

globalbenefits_application_renewal_action

{
  "endOriginalApp": true
}

Global Benefits Application Renewal Action

Properties

Name Type Required Restrictions Description
endOriginalApp boolean false none Force ending of original app

globalbenefits_application_amend_created

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "amendmentId": 182
}

Global Benefits Application Amendment Created

Properties

Name Type Required Restrictions Description
applicationId string true none This field holds the RG internal ID for the application that got created.
amendmentId integer true none This field holds the RG internal Amendment ID that got created.

globalbenefits_application_amend_processed

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "amendmentId": 182,
  "action": "approve"
}

Global Benefits Application Amendment Processed

Properties

allOf

Name Type Required Restrictions Description
anonymous globalbenefits_application_amend_created false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» action string false none This field holds the action that was performed on the amendment.

globalbenefits_application_approved

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Global Benefits Application Approved

Properties

Name Type Required Restrictions Description
applicationId string true none RG internal application id
status string false none The status of the application after the operation completes

globalbenefits_available_funds

{
  "availableFunds": 0.1
}

Global Benefits Available Funds

Properties

Name Type Required Restrictions Description
availableFunds number(float) true none This field shows the available funds on annual basis

globalbenefits_application_cancelled

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Global Benefits Application Cancelled

Properties

Name Type Required Restrictions Description
applicationId string true none RG internal application id
status string false none The status of the application after the operation completes

globalbenefits_application_created

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "memberUuid": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "status": "ended"
}

Global Benefits Application Created

Properties

Name Type Required Restrictions Description
applicationId string true none This field holds the RG internal ID for the application that got created.
*
* It is essential this ID is stored, as it is needed for future API calls.
memberUuid string false none Member Identifier
status string false none The status of the application after the operation completes

globalbenefits_application_closed

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Global Benefits Application Closed

Properties

Name Type Required Restrictions Description
applicationId string true none RG internal application id
status string false none The status of the application after the operation completes

globalbenefits_application_rejected

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "status": "ended"
}

Global Benefits Application Rejected

Properties

Name Type Required Restrictions Description
applicationId string true none RG internal application id
status string false none The status of the application after the operation completes

globalbenefits_application_renewal_created

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "renewalId": 182
}

Global Benefits Application Renewal Created

Properties

Name Type Required Restrictions Description
applicationId string true none This field holds the RG internal ID for the application that got created.
renewalId integer true none This field holds the RG internal Renewal ID that got created.

globalbenefits_application_renewal_processed

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "renewalId": 182
}

Global Benefits Application Renewal Processed

Properties

Name Type Required Restrictions Description
Global Benefits Application Renewal Processed globalbenefits_application_renewal_created false none none

globalbenefits_application_updated

{
  "applicationId": "114a8345-36eb-488e-b69f-320db26bf1fb"
}

Global Benefits Application Updated

Properties

Name Type Required Restrictions Description
applicationId string true none This field holds the RG internal ID for the application that got created.

globalbenefits_application_savings

{
  "tax": 118.54,
  "ni": 118.54
}

Global Benefits Application Savings

Properties

Name Type Required Restrictions Description
tax number(float) false none Tax savings
ni number(float) false none NI savings

globalbenefits_application_update

{
  "externalOrderId": "EXAMPLE\\order_ID123456",
  "description": "Philips Daily Collection HD2583/90; Dimensions: X by Y;",
  "externalStatus": "Awaiting employer approval",
  "savings": {
    "tax": 118.54,
    "ni": 118.54
  },
  "metadata": [
    {
      "name": "width",
      "type": "string",
      "value": "145 centimeters"
    }
  ],
  "items": [
    {
      "externalId": "SKU123456",
      "quantity": 3.4,
      "amount": 118.54,
      "name": "Hair dryer Brand Model X",
      "description": "Short description of the purchased item",
      "metadata": [
        {
          "name": "width",
          "type": "string",
          "value": "145 centimeters"
        }
      ]
    }
  ]
}

Global Benefits Application Update

Properties

Name Type Required Restrictions Description
externalOrderId string false none External order ID
description string false none Order description
externalStatus string false none Custom status that will get displayed alongside the internal status of the application
savings globalbenefits_application_savings false none none
metadata [globalbenefits_application_metadata] false none A list of metadata properties
items [globalbenefits_application_item] false none A list of the order items

globalbenefits_data_collector_form_data

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Personal data",
      "formData": [
        {
          "name": "sFirstName",
          "type": "select",
          "label": "First name",
          "value": "Ron",
          "required": true,
          "disabled": true,
          "id": 1
        }
      ]
    }
  ]
}

Global Benefits Data Collector Form Data

Properties

Name Type Required Restrictions Description
success boolean false none Class DataCollectorFormData
data [object] true none none
» id integer true none Section id
» name string true none Section name
» formData [object] false none none
»» name string true none Field name
»» type string true none Type of the input
»» label string true none Input label
»» value string true none Default value of the input
»» required boolean true none Is the input required
»» disabled boolean true none Is the input disabled
»» id integer true none Input id

globalbenefits_paginated_subscriptions

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=2&limit=10"
    },
    "first": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=1&limit=10"
    },
    "last": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=10&limit=10"
    },
    "next": {
      "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb/subscriptions?page=3&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
        "status": "active",
        "deductionFrequency": "monthly",
        "amount": 118.54,
        "product": "product name",
        "_links": {
          "self": {
            "href": "/globalbenefits/subscription/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Global Benefits Subscriptions Paginated

Properties

Name Type Required Restrictions Description
page integer false none none
limit integer false none none
pages integer false none none
total integer false none none
_links object false none none
» self object false none none
»» href string false none none
» first object false none none
»» href string false none none
» last object false none none
»» href string false none none
» next object false none none
»» href string false none none
_embedded object false none none
» items [allOf] false none none

allOf

Name Type Required Restrictions Description
»» anonymous globalbenefits_subscription false none Subscription entity fields and helper methods

and

Name Type Required Restrictions Description
»» anonymous object false none none
»»» _links object false none none
»»»» self object false none none
»»»»» href string false none none

globalbenefits_subscription

{
  "memberId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "schemeId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "subscriptionId": "2fe3ca84-3620-469c-9e4a-9ab7c9fa8357",
  "status": "active",
  "deductionFrequency": "monthly",
  "amount": 118.54,
  "product": "product name"
}

Subscription entity fields and helper methods

Properties

Name Type Required Restrictions Description
memberId any false read-only member id
schemeId any false read-only scheme id
subscriptionId any false read-only subscription id
status any false read-only subscription status
deductionFrequency any false none deduction frequency
amount any false none subscription amount
product any false none product name

Enumerated Values

Property Value
status active
status inactive
deductionFrequency monthly
deductionFrequency weekly
deductionFrequency fortnightly
deductionFrequency fourweekly

globalbenefits_user

{
  "id": 1,
  "deductionFrequency": "monthly"
}

Global Benefits User

Properties

Name Type Required Restrictions Description
id integer true none The ID of the member
deductionFrequency string true none Payroll deduction frequency of the member

Enumerated Values

Property Value
deductionFrequency monthly
deductionFrequency weekly
deductionFrequency fortnightly
deductionFrequency fourweekly

globalbenefits_member_minimal

{
  "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
  "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "payrollName": "Night shift monthly payroll",
  "payrollNumber": "AZ1128KT",
  "payrollFrequency": "weekly"
}

Global Benefits User Minimal

Properties

Name Type Required Restrictions Description
memberId string true none This field holds the unique identifier of the member.
schemeId string true none This field holds the unique identifier of the scheme the member belongs to.
payrollName string true none This field holds the name of the payroll the member belongs to.
payrollNumber string true none The unique payroll number of the member.
payrollFrequency string true none Payslip frequency of the member.

Enumerated Values

Property Value
payrollFrequency monthly
payrollFrequency weekly
payrollFrequency fortnightly
payrollFrequency fourweekly

globalbenefits_paginated_members

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=2&limit=4"
    },
    "first": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=1&limit=4"
    },
    "last": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=10&limit=4"
    },
    "next": {
      "href": "/globalbenefits/members?payrollName=Payroll+Name&page=3&limit=4"
    }
  },
  "_embedded": {
    "items": [
      {
        "memberId": "114a8345-36eb-488e-b69f-320db26bf1fb",
        "schemeId": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
        "payrollName": "Night shift monthly payroll",
        "payrollNumber": "AZ1128KT",
        "payrollFrequency": "weekly",
        "_links": {
          "self": {
            "href": "/globalbenefits/members/114a8345-36eb-488e-b69f-320db26bf1fb"
          }
        }
      }
    ]
  }
}

Global Benefits Members Paginated

Properties

Name Type Required Restrictions Description
page integer false none none
limit integer false none none
pages integer false none none
total integer false none none
_links object false none none
» self object false none none
»» href string false none none
» first object false none none
»» href string false none none
» last object false none none
»» href string false none none
» next object false none none
»» href string false none none
_embedded object false none none
» items [allOf] false none none

allOf

Name Type Required Restrictions Description
»» anonymous globalbenefits_member_minimal false none none

and

Name Type Required Restrictions Description
»» anonymous object false none none
»»» _links object false none none
»»»» self object false none none
»»»»» href string false none none

globalbenefits_user_balance

{
  "availableBalancePercentage": "97.50%",
  "totalBalance": 0.1,
  "currentBalance": 0.1,
  "totalFlexAllowance": 0.1,
  "unusedFlexAllowance": 0.1,
  "basketApplications": true,
  "activeApplications": true,
  "salary": 0.1,
  "taxAmount": 0.1,
  "nationalInsuranceAmount": 0.1,
  "grossBenefitsAmount": 0.1,
  "netBenefitsAmount": 0.1,
  "netIncome": 0.1,
  "applicationsSavings": [
    {
      "IncomeTax": 0.1,
      "NITax": 0.1
    }
  ],
  "products": [
    {
      "productName": "string",
      "amount": 0.1,
      "taxType": "string",
      "payrollFrequency": "string"
    }
  ],
  "isTakeHomePayEnabled": true
}

Global Benefits User Balance

Properties

Name Type Required Restrictions Description
availableBalancePercentage string true none This field shows the available percentage from the total balance
totalBalance number(float) true none This field shows the total amount the employee had available originally
currentBalance number(float) true none This field shows the total amount the employee has available to spend across GlobalBenefits
totalFlexAllowance number(float) false none This field shows the total flex allowance the employee has available to spend across GlobalBenefits
unusedFlexAllowance number(float) false none This field shows the unused flex allowance the employee has available to spend across GlobalBenefits
basketApplications boolean false none The field will identify if the basket contains any applications
activeApplications boolean false none The field will identify for active applications
salary number(float) false none This field shows the total flex allowance the employee has available to spend across GlobalBenefits
taxAmount number(float) false none This field shows the total flex allowance the employee has available to spend across GlobalBenefits
nationalInsuranceAmount number(float) false none This field shows the total flex allowance the employee has available to spend across GlobalBenefits
grossBenefitsAmount number(float) false none This field shows the total flex allowance the employee has available to spend across GlobalBenefits
netBenefitsAmount number(float) false none This field shows the total flex allowance the employee has available to spend across GlobalBenefits
netIncome number(float) false none This field shows the total flex allowance the employee has available to spend across GlobalBenefits
applicationsSavings [object] false none none
» IncomeTax number(float) false none Savings from income tax
» NITax number(float) false none Savings from ni tax
products [object] false none none
» productName string false none The name of the product
» amount number(float) false none The amount of the application
» taxType string false none The tax type of the application
» payrollFrequency string false none Payroll frequency of the user
isTakeHomePayEnabled boolean false none The field will identify if take home pay is enabled

GroupMemberEntity

{
  "memberUuid": "c8e48fec-8d98-483b-9272-3a2151ef31cd",
  "displayName": "Arthur Dent",
  "avatarUrl": "https://ugc.rewardgateway.com/avatars/default/200x200_AD-default-3.png"
}

Group Member Entity

A limited set of data for a member that is part of a group.

Properties

Name Type Required Restrictions Description
memberUuid string true none none
displayName string true none none
avatarUrl string true none none

GroupSearchEntity

{
  "id": 12,
  "name": "Global Group",
  "createdBy": "Example user",
  "state": "Active",
  "segmentId": 231,
  "segmentName": "Global Segment",
  "dataSource": "Membership file",
  "schemeId": 1,
  "dateCreated": "2023-11-01 09:00:00",
  "avatarUrl": "https://static.rewardgateway.com/img/groups/group-avatars/default/200x200_green-default-1.png",
  "countMembers": 42
}

Group Search Entity

A basic set of data from a GroupEntity object for use in search results

Properties

Name Type Required Restrictions Description
id integer true none none
name string true none none
createdBy string true none none
state string true none none
segmentId integer true none none
segmentName string true none none
dataSource string true none none
schemeId integer true none none
dateCreated string true none none
avatarUrl string true none none
countMembers integer true none none

SurveysUserSearchEntity

{}

A user's search entity

Properties

None

UserCashbackTransaction

{
  "date": "string",
  "type": "string",
  "spent": 0.1,
  "cashback": 0.1,
  "status": "string"
}

User Cashback Transaction

Properties

Name Type Required Restrictions Description
date string true none Transaction date
type string true none Transaction type
spent number(float) true none Amount spent
cashback number(float) true none Cashback earned
status string true none Transaction status

OpenIdMember

{
  "name": "John Smith",
  "given_name": "John",
  "family_name": "Smith",
  "picture": "https://ugc.rewardgateway.dev/avatars/default/200x200_EU-default-1.png",
  "locale": "en_GB",
  "zoneinfo": "Europe/London",
  "email": "john.smith@acme.com",
  "email_verified": true,
  "client_id": 123,
  "verify1": "fee39e70-ceb5-4eae-b658-6d9aa64a9f23",
  "sub": "fee39e70-ceb5-4eae-b658-6d9aa64a9f23"
}

OpenID Member

Properties

Name Type Required Restrictions Description
name string¦null false none Member's full name
given_name string¦null false none Member's first name
family_name string¦null false none Member's last name
picture string¦null false none Member's profile picture
locale string¦null false none Member's locale
zoneinfo string¦null false none Member's timezone
email string¦null false none Member's email address
email_verified boolean¦null false none Is the member's email address verified
client_id integer¦null false none Member's MoveSpring Client ID
verify1 string¦null false none Member's MoveSpring UUID
sub string false none Asserts the identity of the user, called subject in OpenID

UserData

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "emailVisible": true,
  "summary": "string",
  "timezone": "string",
  "avatar": "string",
  "dateOfBirth": "string",
  "dateOfBirthVisible": true,
  "registrationDate": "string",
  "registrationInfo": "string",
  "locale": {
    "id": 1,
    "name": "GB",
    "lang": "en_GB",
    "currency": "GBP",
    "symbol": "£",
    "states": [
      {
        "code": "string",
        "name": "string"
      }
    ],
    "contactFields": {
      "firstName": "First Name",
      "lastName": "Surname",
      "emailAddress": "Email Address",
      "mobilePhoneNumber": "Mobile Phone Number",
      "addressLine1": "Address Line 1",
      "addressLine2": "Address Line 2",
      "addressLine3": "Address Line 3",
      "addressLine4": "Address Line 4",
      "postCode": "Postcode"
    },
    "mappings": {
      "locale": "Locale CDN url",
      "fallback": "Fallback locale CDN url"
    }
  },
  "scheme": {
    "id": 0,
    "uuid": "string",
    "name": "string",
    "companyName": "string",
    "url": null,
    "hasUsernameEndpoint": true,
    "team": [
      null
    ],
    "branding": [
      null
    ],
    "locale": {
      "id": 1,
      "name": "GB",
      "lang": "en_GB",
      "currency": "GBP",
      "symbol": "£",
      "states": [
        {
          "code": "string",
          "name": "string"
        }
      ],
      "contactFields": {
        "firstName": "First Name",
        "lastName": "Surname",
        "emailAddress": "Email Address",
        "mobilePhoneNumber": "Mobile Phone Number",
        "addressLine1": "Address Line 1",
        "addressLine2": "Address Line 2",
        "addressLine3": "Address Line 3",
        "addressLine4": "Address Line 4",
        "postCode": "Postcode"
      },
      "mappings": {
        "locale": "Locale CDN url",
        "fallback": "Fallback locale CDN url"
      }
    },
    "programmeTypes": [
      null
    ],
    "enabledConfigurations": [
      null
    ],
    "addressLine1": "265 Tottenham Court Rd",
    "addressLine2": "Street Details",
    "addressLine3": "London",
    "addressLine4": "Fitzrovia",
    "postalCode": "W1T 7RQ",
    "status": 0,
    "schemeUrl": "https://programme1.rewardgateway.com"
  },
  "pushNotifications": true,
  "registrationQuestionsAnswers": "string"
}

User Data

Properties

Name Type Required Restrictions Description
id string true none Member identifier
firstName string true none Member first name
lastName string true none Member last name
email string true none Member email address
emailVisible boolean false none Member email address visibility
summary string false none Member's summary
timezone string false none Member's timezone
avatar string true none Member avatar
dateOfBirth string false none Member's date of birth
dateOfBirthVisible boolean false none Member's date of birth visibility
registrationDate string false none Member's registration date
registrationInfo string false none Member registration info
locale GenericLocale false none none
scheme GenericScheme false none none
pushNotifications boolean false none Push notifications status
registrationQuestionsAnswers string false none Answers for discriminator registration questions

device

{
  "id": 0,
  "deviceOs": "string"
}

Device

Properties

Name Type Required Restrictions Description
id integer true none Device Id
deviceOs string true none Device Operating System

EmailDigestScheme

{
  "schemeId": 0,
  "schemeUuid": "string",
  "isEnabled": true,
  "period": {
    "id": 0,
    "name": "string"
  }
}

EmailDigest status for current scheme.

Properties

Name Type Required Restrictions Description
schemeId integer true none SchemeId of current member.
schemeUuid string true none schemeUuid of current member.
isEnabled boolean true none If email digest is enabled for current scheme.
period digestPeriod false none How often EmailDigest is sent.

EmailDigestSubscription

{
  "isDigestAvailable": true,
  "subscribed": true,
  "memberId": "string"
}

Response object for email digest status.

Properties

Name Type Required Restrictions Description
isDigestAvailable boolean true none If emaildigest is available for current scheme.
subscribed boolean true none Whether member is subscribed to digest emails or not.
memberId string true none Current member uuid.

digestPeriod

{
  "id": 0,
  "name": "string"
}

How often EmailDigest is sent.

Properties

Name Type Required Restrictions Description
id integer false none Identifier of period.
name string false none User-readable frequency - weekly, fortnightly, etc.

notificationListMessage

{
  "senderContact": [
    null
  ],
  "recipientContact": [
    null
  ],
  "notificationId": 0,
  "notificationType": "string",
  "isRead": true,
  "createdDate": "string",
  "subjectType": "string",
  "subjectTitle": "string",
  "iconUrl": "string",
  "secondaryIconUrl": "string",
  "url": "string"
}

Class NotificationListMessage

Properties

Name Type Required Restrictions Description
senderContact [any] false none Sender Contact
recipientContact [any] true none Recipient Contact
notificationId integer true none none
notificationType string true none none
isRead boolean true none none
createdDate string false none none
subjectType string false none none
subjectTitle string false none none
iconUrl string false none none
secondaryIconUrl string false none none
url string false none none

notificationMessage

{
  "typeId": 0,
  "typeName": "string",
  "message": "string"
}

Class NotificationMessage

Properties

Name Type Required Restrictions Description
typeId integer true none Message type
typeName string true none Page name for the message
message string true none Message

PreferencesCollection

{
  "subscriptions": {},
  "marketingOptions": [
    "string"
  ]
}

Class PreferencesCollection

Properties

Name Type Required Restrictions Description
subscriptions object false none none
marketingOptions [string] false none none

PreferencesSubscriptions

{
  "subscriptionsChannels": [
    {
      "id": 0,
      "title": "string",
      "description": "string",
      "icon": "string",
      "alias": "string",
      "tag": "string",
      "status": 0,
      "snoozeOption": "string",
      "snoozeTime": "string"
    }
  ],
  "subscriptionsCategories": [
    {
      "title": "string",
      "description": "string",
      "notifications": [
        {}
      ],
      "channels": [
        {}
      ]
    }
  ]
}

Class PreferencesSubscriptions

Properties

Name Type Required Restrictions Description
subscriptionsChannels [SubscriptionsChannel] false none [Class SubscriptionsChannel]
subscriptionsCategories [SubscriptionsCategory] false none [Class SubscriptionsCategory]

PreferencesToggleCategoryResultsEntity

{
  "channelState": 0,
  "categoryState": 0,
  "status": true
}

Class PreferencesToggleCategoryResultsEntity

Properties

Name Type Required Restrictions Description
channelState integer false none none
categoryState integer false none none
status boolean false none none

PreferencesToggleChannelResultsEntity

{
  "channelState": 0,
  "snoozedUntil": "string",
  "status": true
}

Class PreferencesToggleChannelResultsEntity

Properties

Name Type Required Restrictions Description
channelState integer false none none
snoozedUntil string false none none
status boolean false none none

PreferencesToggleUnsnoozeResultsEntity

{
  "snoozeStopped": true
}

Class PreferencesToggleUnsnoozeResultsEntity

Properties

Name Type Required Restrictions Description
snoozeStopped boolean false none none

SubscriptionsCategoriesChannel

{
  "channel": 0
}

Class SubscriptionsCategoriesChannel

Properties

Name Type Required Restrictions Description
channel integer false none none

SubscriptionsCategoriesNotification

{
  "title": "string",
  "tag": "string",
  "channels": [
    {}
  ]
}

Class SubscriptionsCategoriesNotification

Properties

Name Type Required Restrictions Description
title string false none none
tag string false none none
channels [object] false none none

SubscriptionsCategory

{
  "title": "string",
  "description": "string",
  "notifications": [
    {}
  ],
  "channels": [
    {}
  ]
}

Class SubscriptionsCategory

Properties

Name Type Required Restrictions Description
title string false none none
description string false none none
notifications [object] false none none
channels [object] false none none

SubscriptionsChannel

{
  "id": 0,
  "title": "string",
  "description": "string",
  "icon": "string",
  "alias": "string",
  "tag": "string",
  "status": 0,
  "snoozeOption": "string",
  "snoozeTime": "string"
}

Class SubscriptionsChannel

Properties

Name Type Required Restrictions Description
id integer false none none
title string false none none
description string false none none
icon string false none none
alias string false none none
tag string false none none
status integer false none none
snoozeOption string false none none
snoozeTime string false none none

addressFormat

{
  "format": "string",
  "requiredFields": [
    null
  ],
  "postalCodePattern": "string",
  "states": [
    {
      "sign": "string",
      "name": "string",
      "postalCodePattern": "string",
      "postalCodePatternType": "string"
    }
  ]
}

Class AddressFormat

Properties

Name Type Required Restrictions Description
format string true none Address format
requiredFields [any] true none Array with required fields.
postalCodePattern string¦null false none Postal Code Pattern
states [addressFormatStates] false none Array of AddressFormatStates object. Depending on the Country, states can be empty

addressFormatStates

{
  "sign": "string",
  "name": "string",
  "postalCodePattern": "string",
  "postalCodePatternType": "string"
}

Class AddressFormatStates

Properties

Name Type Required Restrictions Description
sign string true none Sign
name string true none Name
postalCodePattern string¦null false none Postal Code Pattern
postalCodePatternType string¦null false none Postal Code Pattern Type

state

{
  "code": "ST",
  "name": "State"
}

State

Properties

Name Type Required Restrictions Description
code string true none State code
name string true none State name

RecognitionSchemeFeature

{
  "connectPlusEnabled": true,
  "srwEnabled": true,
  "canLike": true,
  "canComment": true,
  "nominationEnabled": true,
  "instantAwardsEnabled": true,
  "eCardsEnabled": true,
  "showWallFilters": true,
  "blogsEnabled": true,
  "profilesEnabled": true,
  "privateSendingEnabled": true,
  "gifEnabled": true,
  "isSchemeOnGlobalSetting": true,
  "isMarketplaceEnabled": true,
  "isSegmentedRewardsEnabled": true,
  "isPreloaded": true,
  "isUnregisteredUSFEnabled": true,
  "groupsEnabled": true,
  "groupRecognitionEnabled": true,
  "groupRecognitionRecipientLimitEnabled": true
}

Class SchemeFeature returns a response with all the features for a given scheme.

Properties

Name Type Required Restrictions Description
connectPlusEnabled boolean true none Check if connectPlus app is enabled
srwEnabled boolean true none Check if social recognition wall is enabled
canLike boolean true none Check if likes in social recognition wall are enabled
canComment boolean true none Check if comments in social recognition wall are enabled
nominationEnabled boolean true none Check if nominations enabled
instantAwardsEnabled boolean true none Check if instant awards enabled
eCardsEnabled boolean true none Check if eCards enabled
showWallFilters boolean true none Check if wall filters enabled
blogsEnabled boolean true none Check if blogs enabled
profilesEnabled boolean true none Check if profile enabled
privateSendingEnabled boolean true none Check if sending private recognition is enabled
gifEnabled boolean true none Check if the ability to send GIFs is enabled
isSchemeOnGlobalSetting boolean true none Check if the scheme on domestic or global settings
isMarketplaceEnabled boolean true none Check if the marketplace is enabled
isSegmentedRewardsEnabled boolean true none Check if Segmented Rewards are enabled
isPreloaded boolean true none Check if scheme registration type is Preloaded
isUnregisteredUSFEnabled boolean true none Check if we can send awards to unregistered users from Unified Sending Flow
groupsEnabled boolean true none Check if Groups is enabled
groupRecognitionEnabled boolean true none Check if Group Recognition is enabled
groupRecognitionRecipientLimitEnabled boolean true none Is the Group Recognition recipient limit enabled

MenuItem

{
  "id": 1,
  "name": "Example menu item",
  "description": "Example menu item description.",
  "allowRemove": true,
  "allowEditName": true,
  "allowEditURL": true,
  "url": "#",
  "allowEditDescription": true,
  "order": 5,
  "allowEditOrder": true,
  "minOrder": 1,
  "maxOrder": 5,
  "depth": -1,
  "dropdownStyle": 0,
  "target": "_blank",
  "allowEditTarget": true,
  "factoryId": "Menu",
  "factoryItemId": 1,
  "parentId": 1,
  "children": [
    {
      "id": 1,
      "name": "Example menu item",
      "description": "Example menu item description.",
      "allowRemove": true,
      "allowEditName": true,
      "allowEditURL": true,
      "url": "#",
      "allowEditDescription": true,
      "order": 5,
      "allowEditOrder": true,
      "minOrder": 1,
      "maxOrder": 5,
      "depth": -1,
      "dropdownStyle": 0,
      "target": "_blank",
      "allowEditTarget": true,
      "factoryId": "Menu",
      "factoryItemId": 1,
      "parentId": 1,
      "children": [],
      "isNew": true,
      "canHaveChildren": true,
      "isHome": false
    }
  ],
  "isNew": true,
  "canHaveChildren": true,
  "isHome": false
}

An API representation of a MenuItem.

Properties

Name Type Required Restrictions Description
id integer¦null false none Unique number that identifies the menu item
name string false none Name of the menu item
description string¦null false none Description of the menu item
allowRemove boolean false none Can the menu item be removed
allowEditName boolean false none Can the name of the menu item be edited
allowEditURL boolean false none Can the url be edited
url string false none Url of the menu item.
allowEditDescription boolean false none Can the description of the menu be deleted
order integer false none Menu item's order
allowEditOrder boolean false none Can the order of the menu items be edited
minOrder integer false none Minimum order
maxOrder integer false none Max order
depth integer false none Menu item's depth
dropdownStyle integer false none Menu item's dropdown style
target string false none Menu item's window - determines how we open the link
allowEditTarget boolean false none Can the target of the menu item be edited
factoryId string false none Menu item's factoryId
factoryItemId integer false none Menu item's factoryItemId
parentId integer¦null false none Id of the Menu item's parent
children [MenuItem] false none Children of the menu item
isNew boolean false none Is the menu item new
canHaveChildren boolean false none Can the menu item have children
isHome boolean false none Is the menu item HOME page

Enumerated Values

Property Value
dropdownStyle 0
dropdownStyle 1
target _blank
target _self

MenuLanguage

{
  "id": 1,
  "name": "En_GB"
}

An API representation of a MenuLanguage.

Properties

Name Type Required Restrictions Description
id integer false none Unique number that identifies the scheme segment
name string false none Name of the segment

MenuRoot

{
  "children": [
    {
      "id": 1,
      "name": "Example menu item",
      "description": "Example menu item description.",
      "allowRemove": true,
      "allowEditName": true,
      "allowEditURL": true,
      "url": "#",
      "allowEditDescription": true,
      "order": 5,
      "allowEditOrder": true,
      "minOrder": 1,
      "maxOrder": 5,
      "depth": -1,
      "dropdownStyle": 0,
      "target": "_blank",
      "allowEditTarget": true,
      "factoryId": "Menu",
      "factoryItemId": 1,
      "parentId": 1,
      "children": [
        {}
      ],
      "isNew": true,
      "canHaveChildren": true,
      "isHome": false
    }
  ],
  "segmentId": 1,
  "showUserSavings": true,
  "availableMenuLanguages": [
    {
      "id": 1,
      "name": "En_GB"
    }
  ],
  "availableMenuItems": [
    {
      "id": 1,
      "name": "Example menu item",
      "description": "Example menu item description.",
      "allowRemove": true,
      "allowEditName": true,
      "allowEditURL": true,
      "url": "#",
      "allowEditDescription": true,
      "order": 5,
      "allowEditOrder": true,
      "minOrder": 1,
      "maxOrder": 5,
      "depth": -1,
      "dropdownStyle": 0,
      "target": "_blank",
      "allowEditTarget": true,
      "factoryId": "Menu",
      "factoryItemId": 1,
      "parentId": 1,
      "children": [
        {}
      ],
      "isNew": true,
      "canHaveChildren": true,
      "isHome": false
    }
  ]
}

An API representation of a MenuRoot.

Properties

Name Type Required Restrictions Description
children [MenuItem] false none Children of the menu.
segmentId integer false none Menu's segment id
showUserSavings boolean false none Show or hide user's savings
availableMenuLanguages [MenuLanguage] false none Available menu segments.
availableMenuItems [MenuItem] false none Available menu items.

FetchOneScheme

{
  "id": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "name": "Example Programme",
  "companyName": "Example Company Programme",
  "companyLegalName": "Example Company Programme",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "265 Tottenham Court Rd",
  "addressLine3": "265 Tottenham Court Rd",
  "addressLine4": "265 Tottenham Court Rd",
  "postalCode": "W1T 7RQ",
  "billingCountry": "Reward Gateway UK",
  "brandLogo": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "brandLogoId": 1,
  "brandLogoSVG": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.svg",
  "brandLogoRaster": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "brandLogoSVGId": 1,
  "companyLogo": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "companyLogoId": 1,
  "companyLogoSVG": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.svg",
  "companyLogoRaster": "https://ugc.cdn.rewardgateway.net/Collateral/10000/1.png",
  "companyLogoSVGId": 1,
  "status": 1,
  "branding": [
    "string"
  ]
}

An API representation of a scheme.

Properties

Name Type Required Restrictions Description
id string false none Unique string to identify a scheme
name string false none Name of the scheme
companyName string¦null false none Company name of the scheme
companyLegalName string¦null false none Company legal name of the scheme
addressLine1 string¦null false none Address line 1 of the scheme
addressLine2 string¦null false none Address line 2 of the scheme
addressLine3 string¦null false none Address line 3 of the scheme
addressLine4 string¦null false none Address line 4 of the scheme
postalCode string¦null false none Postal code of the scheme
billingCountry string false none Billing country (Trading company) of the scheme
brandLogo string false none URL for the brand logo
brandLogoId integer¦null false none Id for the brand logo
brandLogoSVG any false none URL for the brand logo's svg version
brandLogoRaster any false none URL for the brand logo's raster version
brandLogoSVGId integer¦null false none Id for the SVG version of the brand logo
companyLogo string false none URL for the company logo
companyLogoId integer¦null false none Id for the programme's company image
companyLogoSVG string false none URL for the company logo's svg version
companyLogoRaster string false none URL for the company logo's raster version
companyLogoSVGId integer¦null false none Id for the SVG version of the company logo
status integer¦null false none Status of the scheme
branding [string] false none Scheme's branding colours and favIcon

schemeColour

{
  "navigationBackground": "003865",
  "buttonBackground": "003865",
  "colour20": "003865",
  "colour21": "003865"
}

RG Scheme colour theme configuration values

Properties

Name Type Required Restrictions Description
navigationBackground string¦null false none none
buttonBackground string¦null false none none
colour20 string¦null false none none
colour21 string¦null false none none

self_service_alias

{
  "id": "string",
  "hostname": "string"
}

Self Service Alias

Properties

Name Type Required Restrictions Description
id string false read-only none
hostname string false none none

self_service_invitations

{
  "memberId": "327c1682-c7b7-11ec-9d64-0242ac120002",
  "resend": true
}

Self Service Invitations

Properties

Name Type Required Restrictions Description
memberId string true none none
resend boolean true none none

self_service_scheme

{
  "id": "string",
  "uuid": "b2b0a0a0-0a0a-0a0a-0a0a-0a0a0a0a0a0a",
  "name": "Reward Hub",
  "companyName": "My Company",
  "companyLegalName": "My Company Ltd.",
  "accountId": "0061j000007EKwDAAW",
  "subAccountId": "0061j000007EKwDAAW",
  "parentAccountId": "0061j000007EKwDAAW",
  "opportunityId": "0061j000007EKwDAAW",
  "emailDomain": "txn.mail.rewardgateway.net",
  "schemeType": "rarebreed",
  "localeId": 1,
  "locale": "GB",
  "postalCode": "W1T 7RQ",
  "addressLine1": "265 Tottenham Court Rd",
  "addressLine2": "string",
  "addressLine3": "London",
  "addressLine4": "string",
  "companyRegistrationNumber": "string",
  "accountManagerEmail": "account.manager@rewardgateway.com",
  "implementationManagerEmail": "implementation.manager@rewardgateway.com",
  "status": 0,
  "type": 0,
  "user": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@rewardgateway.com",
    "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
    "phoneNumber": "0437819232",
    "verificationCode": 123456
  },
  "billingCountry": 0,
  "tradingCompany": "string",
  "externalLinkFormat": "https://salesforce.com/{scheme.externalId}",
  "externalAccountId": "0019E00002NyByYQAV"
}

Self Service Scheme

Properties

Name Type Required Restrictions Description
id string¦null false read-only none
uuid string¦null false read-only Scheme UUID
name string true none none
companyName string true none none
companyLegalName string true none none
accountId string false none Salesforce account ID
subAccountId string false none Salesforce sub-account ID
parentAccountId string false none Salesforce parent-account ID
opportunityId string false none Salesforce opportunity ID
emailDomain string false none Email domain
schemeType string false none none
localeId integer false none 1=GBR, 2=IRL, 3=AUS, 12=USA, 22=NZL, 23=BGR, 24=MKD, 26=CAN
locale string false none ISO-3166 two letters country code
postalCode string false none none
addressLine1 string false none Street Name 1
addressLine2 string false none Street Name 2
addressLine3 string false none City / Town
addressLine4 string false none County / State
companyRegistrationNumber string false none Company Registration Number
accountManagerEmail string false none Email address of account manager
implementationManagerEmail string false none Email address of implementation manager
status integer false none 0 = Implementation, 1 = Live, 2 = Closing, 3 = Closed, 4 = Live Demo
type integer false none none
user self_service_user false none none
billingCountry integer false none 1=GBR, 3=AUS, 12=USA
tradingCompany string false read-only SalesForce billing entity
externalLinkFormat string false none Customer Relationship Management Link Format
externalAccountId string false none Customer Relationship Management Id

Enumerated Values

Property Value
schemeType rarebreed
schemeType integrated
localeId 1
localeId 2
localeId 3
localeId 12
localeId 22
localeId 23
localeId 24
localeId 26
status 0
status 1
status 2
status 3
status 4
type 0
type 1

self_service_user

{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@rewardgateway.com",
  "id": "43a0cbfb-f17b-4b8e-9d22-a93b077e8c4d",
  "phoneNumber": "0437819232",
  "verificationCode": 123456
}

Self Service User

Properties

Name Type Required Restrictions Description
Self Service User any false none none

allOf

Name Type Required Restrictions Description
anonymous FirstAndLastNameTrait false none First name and last name fields

and

Name Type Required Restrictions Description
anonymous EmailAddressTrait false none Email address field definitions and validation config

and

Name Type Required Restrictions Description
anonymous FirstAndLastNameTrait false none First name and last name fields

and

Name Type Required Restrictions Description
anonymous EmailAddressTrait false none Email address field definitions and validation config

and

Name Type Required Restrictions Description
anonymous object false none none
» id string(uuid) false none none
» phoneNumber string false none none
» verificationCode integer false none none

EmailAddressTrait

{
  "email": "john.doe@rewardgateway.com"
}

Email address field definitions and validation config

Properties

Name Type Required Restrictions Description
email string false none Email address

FirstAndLastNameTrait

{
  "firstName": "John",
  "lastName": "Doe"
}

First name and last name fields

Properties

Name Type Required Restrictions Description
firstName string false none First Name
lastName string false none Last Name

segment

{
  "id": 1,
  "name": "Eligible members",
  "type": 1,
  "aggregate_type": 1,
  "query": [
    "string"
  ],
  "system_generated": true,
  "users_count": 100,
  "versions_count": 100,
  "is_editable": true,
  "is_deletable": true
}

Segment

Properties

Name Type Required Restrictions Description
id integer true none Class SegmentsController returns a list of segments
name string true none none
type integer true none none
aggregate_type integer true none none
query [string] true none none
system_generated boolean true none none
users_count integer true none none
versions_count integer true none none
is_editable boolean true none none
is_deletable boolean true none none

recognitionAccountClientBalanceResponse

{
  "balance": 1000.5,
  "fullName": "Bitcoin",
  "shortName": "BTC",
  "displayMode": "shortName",
  "currencyType": "points"
}

API Entity representing the Reward & Recognition client balance response

Properties

Name Type Required Restrictions Description
balance number(float) false none Current balance amount for client
fullName string false none Full name for currency type
shortName string false none Short name for currency type
displayMode string false none Currency display mode of the points - short or full
currencyType string false none Scheme currency type

boostConfiguration

{
  "accountId": 123,
  "clientBalance": 1000.5,
  "boostBalance": 5000,
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit",
  "recognitions": [
    {
      "type": "Ecard Category",
      "data": [
        {
          "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
          "isEnabled": true
        }
      ]
    }
  ],
  "isEnabled": true
}

Boost Configuration

Properties

Name Type Required Restrictions Description
accountId integer false none Unique integer to identify the transaction account
clientBalance number(float) false none Current balance amount for client
boostBalance number(float) false none Current boost balance for client
recognitionMin number(float) false none The minimum amount that a boost subject can be boosted by
recognitionMax number(float) false none The maximum amount that a boost subject can be boosted by
limit integer false none Maximum number of boosts for this scheme
warningMessage string false none Warning message to show when boost limit is exceeded
recognitions [boostRecognitionType] false none List of recognition types with associated items
isEnabled boolean false none Indicates enabled or disable state of boost confiuration

boostConfigurationAddResponse

{
  "success": true,
  "id": "6446ded7-0ecd-45c4-8e3b-f636fb9f028d"
}

Boost Configuration Add Response

Properties

Name Type Required Restrictions Description
success boolean true none API Entity representing Boost Configuration
id string true none none

boostRecognitionItem

{
  "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
  "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
  "isEnabled": true
}

API Entity representing Boost Recognition row

Properties

Name Type Required Restrictions Description
id string false none Uuid to identify the recognition
subjectId string false none Uuid to identify the recognition subject ID
isEnabled boolean false none Indicates enabled or disable state of recogition

boostRecognitionType

{
  "type": "Ecard Category",
  "data": [
    {
      "id": "e5a1dead-e183-4cfd-a316-1511836d95e9",
      "subjectId": "e5a1dead-e183-4cfd-a316-1511836d95e9",
      "isEnabled": true
    }
  ]
}

API Entity representing Boost Recognition SubjectType

Properties

Name Type Required Restrictions Description
type string false none Recognition subject type
data [boostRecognitionItem] false none List of recognition items for this recognition type

boostRecognitionSubjectRequest

{
  "schemeId": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
  "subjectId": "0a116513-682c-4d",
  "subjectType": "ecard",
  "recognitionSenderUuid": "cb19bf78-0332-4f07-a52a-a21c2aa2cae2",
  "recognitionRecipientUuid": "26bb65e4-9599-46de-a92b-e0a289cf8c44",
  "amount": 250.5
}

API Entity representing the Subject to be Boosted

Properties

Name Type Required Restrictions Description
schemeId string false none The schemeId for the subject that is being boosted
subjectId string false none Entity ID of the particular subject being boosted
subjectType string false none Entity type of the particular subject being boosted
recognitionSenderUuid string false none Uuid of the member that sent the recognition that is being boosted
recognitionRecipientUuid string false none Uuid of the member that received the recognition that is being boosted
amount number(float) false none The amount (in currency) of the boost

boostRecognitionLimits

{
  "recognitionMin": 5,
  "recognitionMax": 25,
  "limit": 100,
  "warningMessage": "You may not boost more time than the boost limit"
}

API Entity representing the Boost Recognition Limits response

Properties

Name Type Required Restrictions Description
recognitionMin number(float) false none The minimum amount that a boost subject can be boosted by
recognitionMax number(float) false none The maximum amount that a boost subject can be boosted by
limit integer false none Maximum number of boosts for this scheme
warningMessage string false none Warning message to show when boost limit is exceeded

BoostSetAccountBalance

{
  "balance": 1000.5
}

API Entity representing the Set Boost Balance request

Properties

Name Type Required Restrictions Description
balance number(float) false none The required Boost Account Balance

BoostSetAccountBalanceResponse

{
  "success": true,
  "balance": 1000.5,
  "transactionId": 123
}

API Entity representing the Set Boost Balance response

Properties

Name Type Required Restrictions Description
success boolean false none Response state (success or failed)
balance number(float) false none The required Boost Account Balance
transactionId integer false none The transaction ID

potbalance

{}

Reward and Recognition Instant Award Pot Balance

Properties

None

RRPhysicalHome

{
  "title": "Avios",
  "subtitle": "Avios offers...",
  "heroImageTitle": "This is the avios store title...",
  "heroImageSubtitle": "This is the avios store subtitle..."
}

Retrieves information about a physical home page

Properties

Name Type Required Restrictions Description
title string false none The name of the category
subtitle string false none Subtitle for the category
heroImageTitle string false none Hero image title
heroImageSubtitle string false none Hero image subtitle

memberSegmentedRewards

{
  "items": [
    {
      "catalogueId": 10,
      "awardUuid": "8a98e6b3-d589-4782-9522-da619acc7916",
      "name": "5 years long service award",
      "icon": "string"
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 200,
    "additionalItems": true
  }
}

Member Segmented Rewards

Properties

Name Type Required Restrictions Description
items [memberSegmentedRewardsItem] true none Items
pagination memberSegmentedRewardsPagination true none none

memberSegmentedRewardsItem

{
  "catalogueId": 10,
  "awardUuid": "8a98e6b3-d589-4782-9522-da619acc7916",
  "name": "5 years long service award",
  "icon": "string"
}

Member Segmented Rewards Item

Properties

Name Type Required Restrictions Description
catalogueId integer true none Id of the catalogue
awardUuid string true none Uuid of the award
name string true none Name of the award
icon string true none Icon of the award

memberSegmentedRewardsPagination

{
  "offset": 0,
  "limit": 10,
  "count": 200,
  "additionalItems": true
}

Member Segmented Rewards Pagination

Properties

Name Type Required Restrictions Description
offset integer true none Pagination offset
limit integer true none Pagination limit
count integer true none The total number of results which should be paginated
additionalItems boolean true none A flag that can be used to determine whether there are additional items for pagination

segmentedRewardProduct

{
  "awardTitle": "3 years long service award",
  "items": [
    {
      "id": 1,
      "name": "Test product",
      "productCode": "B432GDF53",
      "logo": "string"
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 200,
    "additionalItems": true
  }
}

Segmented Reward Product

Properties

Name Type Required Restrictions Description
awardTitle string false none Name of the award
items [segmentedRewardProductItem] true none Items
pagination segmentedRewardProductPagination true none none

segmentedRewardProductItem

{
  "id": 1,
  "name": "Test product",
  "productCode": "B432GDF53",
  "logo": "string"
}

Segmented Reward Product Item

Properties

Name Type Required Restrictions Description
id integer true none Id of the product
name string true none Name of the product
productCode string true none Unique identifier for a product
logo string false none Logo of the product

segmentedRewardProductPagination

{
  "offset": 0,
  "limit": 10,
  "count": 200,
  "additionalItems": true
}

Segmented Reward Product Pagination

Properties

Name Type Required Restrictions Description
offset integer true none Pagination offset
limit integer true none Pagination limit
count integer true none The total number of results which should be paginated
additionalItems boolean true none A flag that can be used to determine whether there are additional items for pagination

RRProductOffer

{
  "name": "Reloadable Cards",
  "keyInformation": "Use your Reloadable card to save in...",
  "howItWorks": "Choose how much you want..."
}

Retrieves information about a product offer merchant group

Properties

Name Type Required Restrictions Description
name string false none The name of the product offer group
keyInformation string false none The key information text for a product
howItWorks string false none The how it works text for a product

awardDetails

{
  "id": 1,
  "rrSchemeId": 1,
  "level": 2,
  "title": "£10 award",
  "description": "£10 award",
  "code": "10P",
  "imageFileType": "jpg",
  "imagePublicPath": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
  "extra": "string",
  "value": {
    "value": "10.0",
    "iso_code": "XPT",
    "full_name": "EUR",
    "short_name": "€",
    "alt_display": "string",
    "as_string": "€ 10.00"
  },
  "canAwardOnApproval": true,
  "visible": true,
  "deleted": false,
  "orderPosition": 1,
  "awardTypeId": 1,
  "recognitionEvent": 1,
  "message": "Test award message",
  "recognitionFrequency": 2,
  "date": "03-03-2020 12:12:12",
  "frequencyCustomInterval": "string",
  "recipientSegmentId": 123,
  "created": "03-03-2020 12:12:12",
  "updated": "03-03-2020 12:12:12",
  "enabled": "03-03-2020 12:12:12",
  "catalogueLocales": "string",
  "lastChangeByMemberId": "8a98e6b3-d589-4782-9522-da619acc7916",
  "certificatesEnabled": true,
  "orientation": "string",
  "design": "string",
  "backgroundImageFileType": "string",
  "isSharedOnSRW": true,
  "nominatorName": "Example User",
  "awardValues": 1,
  "catalogValues": [
    {
      "locale_id": 1,
      "catalog_value": 1
    }
  ],
  "date_next": "string",
  "lastEditor": [
    {
      "id": "8a98e6b3-d589-4782-9522-da619acc7916",
      "firstName": "Example",
      "lastName": "User",
      "fullName": "Example User"
    }
  ],
  "points": [
    {
      "enabled": false,
      "full_name": "EUR",
      "short_name": "€"
    }
  ]
}

Award Details Array

Properties

Name Type Required Restrictions Description
id integer false none Class AwardController is the API controller for Award Types
rrSchemeId integer true none none
level integer true none none
title string true none none
description string true none none
code string true none none
imageFileType string true none none
imagePublicPath string false none none
extra string true none none
value object false none none
» value string false none none
» iso_code string false none none
» full_name string false none none
» short_name string false none none
» alt_display string false none none
» as_string string false none none
canAwardOnApproval boolean true none none
visible boolean true none none
deleted boolean true none none
orderPosition integer true none none
awardTypeId integer true none none
recognitionEvent integer true none none
message string true none none
recognitionFrequency integer true none none
date string false none none
frequencyCustomInterval string false none none
recipientSegmentId integer true none none
created string false none none
updated string false none none
enabled string false none none
catalogueLocales string false none none
lastChangeByMemberId string false none none
certificatesEnabled boolean true none none
orientation string true none none
design string true none none
backgroundImageFileType string true none none
isSharedOnSRW boolean false none none
nominatorName string false none none
awardValues integer true none none
catalogValues [object] true none none
» locale_id integer false none none
» catalog_value integer false none none
date_next string true none none
lastEditor [object] true none none
» id string false none none
» firstName string false none none
» lastName string false none none
» fullName string false none none
points [object] true none none
» enabled boolean false none none
» full_name string false none none
» short_name string false none none

rrSchemeAwards

{
  "rrSchemeID": 1,
  "rrConfigurationId": 1,
  "isNominationScheme": false,
  "awardTypes": [
    {
      "id": 1,
      "rrSchemeId": 1,
      "level": 2,
      "title": "£10 award",
      "description": "£10 award",
      "code": "10P",
      "imageFileType": "jpg",
      "imagePublicPath": "https://static.rewardgateway.dev/img/COLLATERAL_PLACEHOLDER.jpg",
      "extra": "string",
      "value": {
        "value": "10.0",
        "iso_code": "XPT",
        "full_name": "EUR",
        "short_name": "€",
        "alt_display": "string",
        "as_string": "€ 10.00"
      },
      "canAwardOnApproval": true,
      "visible": true,
      "deleted": false,
      "orderPosition": 1,
      "awardTypeId": 1,
      "recognitionEvent": 1,
      "message": "Test award message",
      "recognitionFrequency": 2,
      "date": "03-03-2020 12:12:12",
      "frequencyCustomInterval": "string",
      "recipientSegmentId": 123,
      "created": "03-03-2020 12:12:12",
      "updated": "03-03-2020 12:12:12",
      "enabled": "03-03-2020 12:12:12",
      "catalogueLocales": "string",
      "lastChangeByMemberId": "8a98e6b3-d589-4782-9522-da619acc7916",
      "certificatesEnabled": true,
      "orientation": "string",
      "design": "string",
      "backgroundImageFileType": "string",
      "isSharedOnSRW": true,
      "nominatorName": "Example User",
      "awardValues": 1,
      "catalogValues": [
        {
          "locale_id": 1,
          "catalog_value": 1
        }
      ],
      "date_next": "string",
      "lastEditor": [
        {
          "id": "8a98e6b3-d589-4782-9522-da619acc7916",
          "firstName": "Example",
          "lastName": "User",
          "fullName": "Example User"
        }
      ],
      "points": [
        {
          "enabled": false,
          "full_name": "EUR",
          "short_name": "€"
        }
      ]
    }
  ],
  "awardCount": 5,
  "rrSchemeName": "Example scheme name",
  "socialRecognition": [
    {
      "enabled": true
    }
  ]
}

Reward & Recognition Scheme Awards

Properties

Name Type Required Restrictions Description
rrSchemeID integer true none none
rrConfigurationId integer true none none
isNominationScheme boolean true none none
awardTypes [awardDetails] true none none
awardCount integer true none none
rrSchemeName string true none none
socialRecognition [object] true none none
» enabled boolean false none none

FetchOneTransaction

null

RG Transaction Api Entity

Properties

None

AccountsPaginatedResponse

{
  "page": 1,
  "limit": 10,
  "pages": 50,
  "total": 500,
  "_links": {
    "self": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    },
    "first": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    },
    "last": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    },
    "next": {
      "href": "/accounts?0=scheme_id=1&page=1&limit=10"
    }
  },
  "_embedded": {
    "items": [
      {
        "id": 1,
        "accountType": "Hold Account",
        "balanceIso": "USD"
      }
    ]
  }
}

Accounts Details Paginated

Properties

Name Type Required Restrictions Description
page integer false none RG API Accounts related endpoints
limit integer false none none
pages integer false none none
total integer false none none
_links object false none none
» self object false none none
»» href string false none none
» first object false none none
»» href string false none none
» last object false none none
»» href string false none none
» next object false none none
»» href string false none none
_embedded object false none none
» items [object] false none none
»» id integer false none none
»» accountType string false none none
»» balanceIso string false none none

FetchOneAccount

null

RG Account Api Entity

Properties

None

Recurring

{
  "id": 0,
  "basketId": "string",
  "productId": 0,
  "instrumentId": 0,
  "subscriptionId": "string",
  "orderId": "string",
  "value": 0,
  "type": "string",
  "dayOfTheWeek": 0,
  "dayOfTheMonth": 0,
  "status": "string",
  "smsNotification": 0,
  "phone": "string"
}

Recurring Order

Properties

Name Type Required Restrictions Description
id integer false none Recurring identifier.
basketId string true none Card id - Instrument id with C char as prefix.
productId integer false none Product identifier
instrumentId integer false none Instrument identifier
subscriptionId string false none Subscription identifier
orderId string true none Order Id - Card identifier.
value integer true none Value. Calculated multiplying the quantity by the price of the top-up product.
type string true none Type
dayOfTheWeek integer true none Day of the week
dayOfTheMonth integer true none Day of the month
status string false none Status
smsNotification integer false none SMS notification
phone string false none Phone

ReloadableCard

{
  "id": 6443,
  "name": "IRV Test product",
  "alias": "string",
  "image": "string",
  "pan": "string",
  "pin": "string",
  "url": "string",
  "barcode": "string",
  "transactionId": "string",
  "offer": {
    "id": 9999,
    "typeId": 9999,
    "type": "Cashback",
    "description": "Description for this offer",
    "keyInformation": "Key information for this offer",
    "howItWorks": "Details on how this offer works",
    "termsAndConditions": "Terms & conditions of this offer",
    "expiryDate": "2019-08-24T14:15:22Z",
    "specialOffer": true,
    "redeemableOnDesktop": true,
    "redeemableOnMobile": true,
    "discount": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    },
    "normally": {
      "saving": "Earn 3%",
      "description": "on all offers",
      "useableInStore": true,
      "useableOnline": true,
      "startsOn": "2019-08-24T14:15:22Z",
      "endsOn": "2019-08-24T14:15:22Z"
    }
  },
  "pendingAmount": "string",
  "activated": true,
  "expiryDate": "string",
  "expiryAction": "string",
  "expiryMessage": "string"
}

Instant Reloadable Voucher

Properties

Name Type Required Restrictions Description
id integer true none Unique id to identify a irv
name string true none Name of the vaucher
alias string true none Instant Reloadable Voucher alias
image string true none URL for instant reloadable voucher image
pan string true none Instant Reloadable Voucher PAN
pin string false none Instant Reloadable Voucher PIN
url string false none Instant Reloadable Voucher Url
barcode string false none Instant Reloadable Voucher Barcode
transactionId string true none Instant Reloadable Voucher transaction Id
offer offer true none Class Offer
pendingAmount string true none Instant Reloadable Voucher pending amount
activated boolean true none Activated
expiryDate string true none Instant Reloadable Voucher expiry date
expiryAction string true none Instant Reloadable Voucher expiry action
expiryMessage string true none Instant Reloadable Voucher message if card is expiring

MinimalVoucher

{
  "transactionId": 0,
  "entityId": 0,
  "date": "string",
  "logo": "string",
  "name": "string",
  "type": "Paper",
  "denomination": 0.1,
  "redeemed": true,
  "archived": true,
  "refundable": true,
  "currency": "string"
}

Minimal Voucher

Properties

Name Type Required Restrictions Description
transactionId integer true none Voucher transaction identifier
entityId integer true none Voucher entity identifier
date string true none Voucher purchase date (from Order)
logo string true none Voucher logo (from product/retailer)
name string true none Voucher name (from product)
type string true none Voucher product type
denomination number(float) true none Voucher denomination
redeemed boolean true none Voucher redemption status
archived boolean true none Voucher archival status
refundable boolean false none Is the voucher refundable
currency string¦null false none Currency

Enumerated Values

Property Value
type Paper
type Electronic
type Card
type Topup
type SMS
type EGiftCard

Audio

{
  "id": 12,
  "audioLink": "https://ugc.rewardgateway.dev/wellbeing/mind/audio/012498b3b6376f9e6fcbb2b8598d839facf76b40.mp3",
  "transcript": "transcript text",
  "type": "audio",
  "title": "Cosy winter cabin",
  "courseLength": "3h20m",
  "duration": "20min",
  "author": "Adam Smith",
  "description": "description text",
  "imageLink": "https://ugc.rewardgateway.dev/wellbeing/mind/audio/images/012498b3b6376f9e6fcbb2b8598d839facf76b40.jpg",
  "isPlayed": false
}

Class Wellbeing Audio API data entity

Properties

Name Type Required Restrictions Description
id integer false none Audio id
audioLink string false none Url to the audio
transcript string false none Transcript text of audio
type string false none Wellbeing media type
title string false none Wellbeing audio title
courseLength string false none Total length in the course
duration string false none The length in the audio
author string false none The author of the audio
description string false none Description of the audio
imageLink string false none Url to the image
isPlayed boolean false none Is audio alreary played

Item

{
  "id": 10,
  "type": "audio",
  "title": "Cosy winter cabin",
  "itemUrl": "/WellbeingCentre/Audio/34",
  "duration": "20min",
  "category": "mind",
  "additionalInfo": "some info",
  "imageLink": "https://ugc.rewardgateway.dev/wellbeing/mind/audio/images/012498b3b6376f9e6fcbb2b8598d839facf76b40.jpg",
  "ribbon": "Course",
  "author": "Course"
}

Class Wellbeing Audio items API data entity

Properties

Name Type Required Restrictions Description
id integer false none Item id
type string false none Wellbeing audio type
title string false none Wellbeing audio title
itemUrl string false none Url to detailed view
duration string false none The length in the audio
category string false none Category of the audio
additionalInfo string false none AdditionalInfo of the audio
imageLink string false none Url to the image
ribbon string false none Is audio from a course
author string false none Audio Author

Limits

{
  "id": "12",
  "schemeUuid": "4d0c7e51-c6ec-4f09-ad7b-f77b6841f204",
  "memberUuid": "8b62c7ca-a8ca-4805-b9d0-09c36383e0d0",
  "type": "Articles",
  "seen": 5,
  "max": 10
}

Class Wellbeing Limits API data entity

Properties

Name Type Required Restrictions Description
id string false read-only Limitation id
schemeUuid string false none Unique string to identify scheme
memberUuid string false none Unique string to identify member
type string false none Wellbeing media type
seen integer false none Number of seen elements
max integer false none Maximum wellbeing elements that member can see

Enumerated Values

Property Value
type Articles
type Recipes
type Videos

Topic

{
  "id": 3,
  "title": "Meditation",
  "iconLink": "https://static.rewardgateway.dev/BrandAssets/responsive/img/WellbeingCentre/icons/icon-mindfulness.svg",
  "tileLink": "https://site1.rewardgateway.dev/WellbeingCentre/List/Mind/Meditation"
}

Class Wellbeing Topic API data entity

Properties

Name Type Required Restrictions Description
id integer false none Topic id
title string false none Topic title
iconLink string false none Link to the topic icon
tileLink string false none Tile link

commsPostDetails

{
  "success": true,
  "data": [
    {
      "role": {
        "value": "Admin",
        "key": "admin"
      }
    }
  ]
}

Comms Post Details

Properties

Name Type Required Restrictions Description
success boolean false none Class PostDetails
data [object] true none none
» role object true none none
»» value string true none Role ready for display
»» key string true none Role key

tile

{
  "component": "tile.image",
  "name": "Image Tile",
  "description": "A tile, showing image",
  "isStatic": true,
  "id": 1,
  "size": {
    "width": 2,
    "height": 1
  },
  "position": {
    "row": 2,
    "col": 1
  },
  "content": {}
}

Tile class

Properties

allOf

Name Type Required Restrictions Description
anonymous tileElement false none TileElement class

and

Name Type Required Restrictions Description
anonymous object false none none
» content object false none Additional tile data (tile specific)

tileDescription

{
  "component": "tile.image",
  "name": "Image Tile",
  "description": "A tile, showing image",
  "isStatic": true
}

TileDescription class

Properties

Name Type Required Restrictions Description
component string false none Tile unique key
name string false none Human readable tile name
description string false none Tile description
isStatic boolean false none Is the tile static or no

tileElement

{
  "component": "tile.image",
  "name": "Image Tile",
  "description": "A tile, showing image",
  "isStatic": true,
  "id": 1,
  "size": {
    "width": 2,
    "height": 1
  },
  "position": {
    "row": 2,
    "col": 1
  }
}

TileElement class

Properties

allOf

Name Type Required Restrictions Description
anonymous tileDescription false none TileDescription class

and

Name Type Required Restrictions Description
anonymous object false none none
» id integer false none Tile id
» size object false none int, height: int}
»» width integer true none Tile's width
»» height integer true none Tile's height
» position object false none int, col: int}
»» row integer true none Row number on the layout frame
»» col integer true none Column number on the layout frame

tiles

{
  "tiles": [
    {
      "component": "tile.image",
      "name": "Image Tile",
      "description": "A tile, showing image",
      "isStatic": true,
      "id": 1,
      "size": {
        "width": 2,
        "height": 1
      },
      "position": {
        "row": 2,
        "col": 1
      },
      "content": {}
    }
  ],
  "totalTiles": 0,
  "tileIdsWithError": [
    0
  ]
}

Class Tiles - collection of tiles

Properties

Name Type Required Restrictions Description
tiles [tile] false none Tiles data
totalTiles integer false none Total loaded tiles
tileIdsWithError [integer] false none Total loaded tiles

smartTile

{
  "success": true,
  "data": [
    {
      "id": 198,
      "title": "Annual Leave",
      "type": "ImageText",
      "image": "/path/to/image.png",
      "link": "/SmartHub/my_awesome_page",
      "layoutName": "Leave types",
      "url": "/SmartHub/leave_types_198",
      "row": 1,
      "column": 2
    }
  ]
}

Smart Tile

Properties

Name Type Required Restrictions Description
success boolean false none Class Page
data [object] false none none
» id integer false none Tile id
» title string false none The tile title in the layout
» type string false none The tile type
» image string false none The tile preview image
» link string false none The tile link
» layoutName string false none Name of the layout
» url string false none Link to the layout
» row integer false none Number of the row on the layout
» column integer false none Number of the column on the layout

customerRecognition

null

Customer Recognition

Properties

Name Type Required Restrictions Description
Customer Recognition any false none none

customerFormStructure

{
  "fields": [
    {
      "id": "RRNomineeAsText",
      "type": "checkbox",
      "label": "Who would you like to recognize?",
      "description": "Example description",
      "isHidden": true,
      "isRequired": true,
      "options": [
        {
          "value": "18",
          "label": "-- Select --"
        }
      ]
    }
  ]
}

Customer Form Structure

Properties

Name Type Required Restrictions Description
fields [object] true none none
» id string true none ID of form field.
» type string true none Type of field
» label string true none Label of field
» description string true none Description of field
» isHidden boolean true none If is hidden field.
» isRequired boolean true none If is required field.
» options [object] false none If elements supports options.
»» value string false none Option value
»» label string false none Option label

Enumerated Values

Property Value
type text
type textarea
type select
type radio
type checkbox
type sectionbreak

customerNominationEntity

{
  "success": true,
  "message": "string",
  "errors": null,
  "nominationId": 0,
  "nominationFeedItem": [
    {}
  ]
}

Class NominationEntity

Properties

Name Type Required Restrictions Description
success boolean true none none
message string true none none
errors any true none none
nominationId integer true none none
nominationFeedItem [srwfeed] false none none

customerRequestDetails

{
  "request_headers": {
    "Accept": "application/vnd.rewardgateway+json; version=3.0",
    "Authorization": "[access token]"
  },
  "request_urls": {
    "fetch_form_scheme_url": "string",
    "store_form_url": "string"
  },
  "scheme_id": "string",
  "rr_scheme_id": "string",
  "page_data": {
    "submit_page": {
      "title": "Thank you title.",
      "description": "Thank you description."
    },
    "submit_page_button": {
      "hasButton": true,
      "text": "Button text",
      "link": "Link to"
    }
  }
}

Class Customer

Properties

Name Type Required Restrictions Description
request_headers object false none none
» Accept string false none none
» Authorization string false none none
request_urls object false none none
» fetch_form_scheme_url string false none none
» store_form_url string false none none
scheme_id string false none none
rr_scheme_id string false none none
page_data object false none none
» submit_page object false none none
»» title string false none none
»» description string false none none
» submit_page_button object false none none
»» hasButton boolean false none none
»» text string false none none
»» link string false none none

customerStoreValidationError

{
  "success": true,
  "message": "string",
  "errors": [
    {
      "forKey": "RRNomineeAsText",
      "messages": [
        "We need you to fill this field out."
      ]
    }
  ]
}

Class Customer

Properties

Name Type Required Restrictions Description
success boolean false none none
message string false none none
errors [object] false none none
» forKey string false none Key for which is not valid.
» messages [string] false none List of errors for that key

formFieldError

{
  "fieldName": "string",
  "message": "string"
}

Form Field Error

Properties

Name Type Required Restrictions Description
fieldName string true none none
message string true none none

Integration

{
  "id": 0,
  "icon": "https://static.cdn.rewardgateway.net/Assets/rm/new/img/integrations/yammer.svg",
  "name": "Slack",
  "categoryName": "Authentication",
  "endpoint": "https://api.rewardgateway.net/integrations/1",
  "integrationCount": 3,
  "allowMultipleIntegrations": true
}

Integration that can be set up.

Properties

Name Type Required Restrictions Description
id integer true none Current integration id.
icon string true none Integration image.
name string true none Integration name.
categoryName string true none Category name of the integration.
endpoint string true none Endpoint to create the integration.
integrationCount integer true none Current count for this integration type.
allowMultipleIntegrations boolean true none Indicates of current integration type allows multiple integrations to be configured.

MyIntegration

{
  "uuid": "string",
  "icon": "https://static.cdn.rewardgateway.net/Assets/rm/new/img/integrations/yammer.svg",
  "name": "Slack",
  "categoryName": "Provisioning",
  "endpoint": "https://api.rewardgateway.net/integrations/{uuid}"
}

Set up integration for a client.

Properties

Name Type Required Restrictions Description
uuid string true none uuid of current integration
icon string true none Integration image.
name string true none Integration name.
categoryName string true none Category name.
endpoint string true none Current integration endpoint.

orderRefundSuccess

{
  "orderReference": "101-02"
}

Class OrderRefundSuccess

Properties

Name Type Required Restrictions Description
orderReference string true none The order reference

badge

{
  "name": "string",
  "description": "string",
  "icon": "string"
}

Class Badge

Properties

Name Type Required Restrictions Description
name string true none none
description string true none none
icon string true none none

badgeEarning

{
  "dateEarned": "2019-08-24T14:15:22Z",
  "badge": {
    "name": "string",
    "description": "string",
    "icon": "string"
  }
}

Class EarnedBadges

Properties

Name Type Required Restrictions Description
dateEarned string(date-time) true none Date and time (in UTC) the badge is earned
badge badge true none Class Badge

profileBadges

{
  "success": true,
  "data": [
    {
      "dateEarned": "2019-08-24T14:15:22Z",
      "badge": {
        "name": "string",
        "description": "string",
        "icon": "string"
      }
    }
  ],
  "total": 0
}

Response object with a list for earned member badges

Properties

Name Type Required Restrictions Description
success boolean true none Whether the operation is successful or not
data [badgeEarning] true none [Class EarnedBadges]
total integer false none Total number of items if the result is paginated

rrSchemeInfo

{
  "id": 124,
  "name": "My Award Programme",
  "productName": "Award",
  "type": "InstantAwards",
  "html": "A description with extra information",
  "status": 0
}

Reward and Recognition Scheme Information

Properties

Name Type Required Restrictions Description
id number true read-only The ID of the R&R programme
name string true read-only The name of the R&R programme
productName string true read-only The product name
type string true read-only The R&R programme type
html string true read-only The programme home page description
status integer true read-only The R&R programme status

redemptionAdminProduct

{
  "id": 0,
  "name": "string",
  "logo": "string",
  "getUsableOnline": true,
  "getUsableInstore": true,
  "description": "string"
}

Redemption Admin Product

Properties

Name Type Required Restrictions Description
id integer true none Id
name string true none Name
logo string true none Logo
getUsableOnline boolean true none Get usable online
getUsableInstore boolean true none Get usable in store
description string true none Description

redemptionBulkProcessResult

{
  "processed": [
    0
  ],
  "unprocessed": [
    0
  ]
}

Redemption Bulk Process Result

Properties

Name Type Required Restrictions Description
processed [integer] true none Processed items
unprocessed [integer] true none Unprocessed items

customOrderFulfillment

{
  "items": [
    {
      "orderId": 1234,
      "orderDate": 1621004601,
      "memberName": "Joe Bloggs",
      "memberEmail": "joe.bloggs@email.com",
      "memberLicenceKey": "ABC12345",
      "title": "Lunch with the CEO",
      "qty": 2,
      "transactionId": 12345678,
      "status": "Unfulfilled",
      "productId": 12
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 157,
    "additionalItems": true
  }
}

Custom Order Fulfillment

Properties

Name Type Required Restrictions Description
items [customOrderFulfillmentItem] true none Items
pagination customOrderFulfillmentPagination true none none

customOrderFulfillmentItem

{
  "orderId": 1234,
  "orderDate": 1621004601,
  "memberName": "Joe Bloggs",
  "memberEmail": "joe.bloggs@email.com",
  "memberLicenceKey": "ABC12345",
  "title": "Lunch with the CEO",
  "qty": 2,
  "transactionId": 12345678,
  "status": "Unfulfilled",
  "productId": 12
}

Custom Order Fulfillment Item

Properties

Name Type Required Restrictions Description
orderId integer true none The order id
orderDate integer true none The unix timestamp that the order was placed
memberName string true none The name of the member who received the reward
memberEmail string true none The email address of the member who received the reward
memberLicenceKey string true none The LicenceKey of the member who received the reward
title string true none The title of the custom reward
qty integer true none The amount of a custom reward purchased
transactionId integer true none The id of the transaction that uniquely indentifies this item
status string true none The fulfillment status of the item
productId integer true none The id of the product being fulfilled

customOrderFulfillmentPagination

{
  "offset": 0,
  "limit": 10,
  "count": 157,
  "additionalItems": true
}

Custom Order Fulfillment Pagination

Properties

Name Type Required Restrictions Description
offset integer true none The amount to offset the results by
limit integer true none The amount to limit the results by
count integer true none The total number of results that exist and which can be paginated
additionalItems boolean true none A flag that can be used to determine whether there are additional items for pagination

redemptionProductCategory

{
  "id": 0,
  "productId": 0,
  "categoryId": 0,
  "order": 0
}

Redemption Product Category

Properties

Name Type Required Restrictions Description
id integer true none Id
productId integer true none ProductId
categoryId integer true none RedemptionCategoryId
order integer false none Order

redemptionProductRealEstate

{
  "id": 0,
  "localeId": 0,
  "productId": 0,
  "categoryId": 0,
  "isActive": true,
  "dateCreated": "string",
  "dateRemoved": "string",
  "actorId": 0,
  "image": "string"
}

Redemption Product Real Estate

Properties

Name Type Required Restrictions Description
id integer true none Id
localeId integer true none LocaleId
productId integer true none ProductId
categoryId integer true none CategoryId
isActive boolean true none IsActive
dateCreated string false none DateCreated
dateRemoved string¦null false none DateRemoved
actorId integer false none ActorId
image string true none Image

srwfeed

{}

Social Recognition Feed

Properties

None

cart

{
  "accessKey": "string",
  "associateTag": "string",
  "cartUrl": "string"
}

Cart

Properties

Name Type Required Restrictions Description
accessKey string true none Access key
associateTag string true none Associate tag
cartUrl string true none Cart url

verifyBasketProductsSuccess

{
  "basketId": "14e764fc-20cf-9904-8118-a2e7a620f59d"
}

Verify Basket Products Success

Properties

Name Type Required Restrictions Description
basketId string true none The basket Id

rrBreakdownItem

{
  "externalId": "XYZ12345",
  "fullName": "Bruce Wayne",
  "firstName": "Bruce",
  "lastName": "Wayne",
  "ruleName": "Managers monthly budget",
  "ruleType": "receiving",
  "limitType": "count",
  "periodName": "Monthly",
  "softLimit": 5,
  "hardLimit": 7.5,
  "memberDetails": {
    "department": "Engineering",
    "division": "Reward & Recognition",
    "organization": "Reward Gateway UK",
    "cost_center": "123.565.2444.34"
  }
}

Reward and Recognition Breakdown Item

Properties

Name Type Required Restrictions Description
externalId string true read-only The members exteral unique identifier
fullName string true read-only The members full name
firstName string true read-only The members first name
lastName string true read-only The members last name
ruleName string true read-only The name of the rule
ruleType string true read-only The type of rule - sending or receiving
limitType string true read-only The rule limit type - value or count
periodName string true read-only The name of the type of period associated with this rule
softLimit number true read-only The soft limit for the rule
hardLimit number true read-only The hard limit for the rule
memberDetails object true none Any discriminiator values that exist
» department string false read-only The department the member belongs to
» division string false read-only The division the member belongs to
» organization string false read-only The organization the member belongs to
» cost_center string false read-only The members cost center

redemptionConfigurationSuccess

{
  "rrConfigurationId": 1,
  "schemeId": 2,
  "pageRedeemTitle": "Redeem Award",
  "pageRedeemDescription": "Don't forget, you can spend your awards at more than one retailer",
  "enabled": true,
  "global": false
}

Redemption Configuration Success

Properties

Name Type Required Restrictions Description
rrConfigurationId integer true none The RR Configuration Id
schemeId integer true none The scheme Id
pageRedeemTitle string true none The page redeem title
pageRedeemDescription string true none The page redeem description
enabled boolean true none Is enabled
global boolean true none Is global

rrConfiguration

{
  "pointsShortName": "£",
  "pointsFullName": "GBP"
}

Class RR Configuration DTO for API

Properties

Name Type Required Restrictions Description
pointsShortName string true none Currency Symbol
pointsFullName string true none 3-letters currency code (ISO 4217), or full name for cryptocurrencies

Enumerated Values

Property Value
pointsShortName £
pointsShortName A$
pointsShortName
pointsShortName NZ$
pointsShortName $
pointsShortName PNT
pointsShortName PTS
pointsShortName ETH
pointsShortName BTC
pointsShortName TRX
pointsFullName GBP
pointsFullName AUD
pointsFullName EUR
pointsFullName NZD
pointsFullName USD
pointsFullName Points
pointsFullName Ethereum
pointsFullName Bitcoin
pointsFullName Bitcoins
pointsFullName Tron

rrRule

{
  "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
  "ruleType": 2,
  "name": "Managers monthly budget",
  "schemeId": 145,
  "active": true,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "priority": 1,
  "listOrder": 1,
  "segments": [
    {
      "id": 13,
      "name": "All Managers"
    }
  ],
  "period": {
    "periodType": 2,
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}

Reward and Recognition Rule

Properties

Name Type Required Restrictions Description
id string¦null true read-only The UUID of the rule
ruleType integer true none The rule type code
name string true none A name given to the rule
schemeId integer true none The ID of the scheme
active boolean false read-only If the rule is active or not
softLimit number(float) false none The soft limit associated with this rule
hardLimit number(float) false none The hard limit associated with this rule
softLimitMessage string false none A message used when the soft limit is reached
hardLimitMessage string false none A message used when the hard limit is reached
priority integer false read-only The priority of the rule
listOrder integer false read-only The list order number used when displaying the rule list
segments [rrRuleSegment] true none The segments that the rule applies to
period rrRulePeriod true none none
rrSchemes [rrRuleRrScheme] false none The R&R Scheme that the rule applies to
subjects [rrRuleSubject] false none The subjects which are any related records like a Boost configuration record, the type of subject is defined by the ruleType attribute

rrRulePeriod

{
  "periodType": 2,
  "typeName": "annual",
  "day": 25,
  "month": 11,
  "year": 2023
}

Reward and Recognition Rule Period

Properties

Name Type Required Restrictions Description
periodType integer false read-only The code of the period type
typeName string true none The name of the period type
day integer true none The day number that relates to this period type
month integer true none The month number that relates to this period type
year integer false none The year number that relates to this period type

Enumerated Values

Property Value
typeName annual
typeName quarterly
typeName monthly

rrRuleRrScheme

{
  "id": 13
}

Reward and Recognition Rule Scheme

Properties

Name Type Required Restrictions Description
id integer true none The ID of the R&R Scheme

rrRuleSegment

{
  "id": 13,
  "name": "All Managers"
}

Reward and Recognition Rule Segment

Properties

Name Type Required Restrictions Description
id integer true none The ID of the segment
name string false read-only The name of the segment

rrRuleSetItem

{
  "ruleId": "284d47bd-dc8d-43dd-958f-44b702af9fcb",
  "priority": 1,
  "listOrder": 1,
  "active": true,
  "deleted": true
}

Reward and Recognition Rule Item

Properties

Name Type Required Restrictions Description
ruleId string true none The UUID of the rule
priority integer true none The priority of the rule
listOrder integer false none The list order number used when displaying the rule list
active boolean false none If the rule is active or not
deleted boolean false none If the rule is has been marked for deletion

rrRuleSubject

{
  "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
}

Reward and Recognition Rule Subject

Properties

Name Type Required Restrictions Description
id string true none The UUID of the subject programme

rrRuleUpdate

{
  "name": "Managers monthly budget",
  "active": true,
  "softLimit": 2.5,
  "hardLimit": 10.5,
  "softLimitMessage": "You have reached the soft limit",
  "hardLimitMessage": "You have reached the hard limit",
  "priority": 1,
  "listOrder": 1,
  "segments": [
    {
      "id": 13,
      "name": "All Managers"
    }
  ],
  "period": {
    "periodType": 2,
    "typeName": "annual",
    "day": 25,
    "month": 11,
    "year": 2023
  },
  "rrSchemes": [
    {
      "id": 13
    }
  ],
  "subjects": [
    {
      "id": "284d47bd-dc8d-43dd-958f-44b702af9fcb"
    }
  ]
}

Reward and Recognition Rule Update

Properties

Name Type Required Restrictions Description
name string true none A name given to the rule
active boolean true none If the rule is active or not
softLimit number(float) false none The soft limit associated with this rule
hardLimit number(float) false none The hard limit associated with this rule
softLimitMessage string false none A message used when the soft limit is reached
hardLimitMessage string false none A message used when the hard limit is reached
priority integer true none The priority of the rule
listOrder integer false none The list order number used when displaying the rule list
segments [rrRuleSegment] true none The segments that the rule applies to
period rrRulePeriod true none none
rrSchemes [rrRuleRrScheme] false none The R&R Scheme that the rule applies to
subjects [rrRuleSubject] false none The subjects which are any related records like a Boost configuration record, the type of subject is defined by the ruleType attribute

rrAwardItem

{
  "awardId": 13,
  "status": "Completed",
  "rrInstantAwardRecipients": [
    {
      "fullName": "Alex Smith",
      "contactId": 10,
      "awardvalue": {
        "country": "string",
        "amount": "string",
        "formattedAmount": "string"
      }
    }
  ],
  "message": "Thank you",
  "subTotalAwardValue": {
    "amount": 0.1,
    "formattedAmount": "string"
  }
}

Reward and Recognition Instant Award Item

Properties

Name Type Required Restrictions Description
awardId integer true none The id of the award in the basket
status string true none The basket status
rrInstantAwardRecipients [rrInstantAwardRecipients] false none The recipients of instant award
message string true none The message of instant award
subTotalAwardValue instantawardbasketvalue false none none

awardsubvalue

{
  "country": "string",
  "amount": "string",
  "formattedAmount": "string"
}

Award Subvalue

Properties

Name Type Required Restrictions Description
country string true none none
amount string true none none
formattedAmount string true none none

instantawardbasketvalue

{
  "amount": 0.1,
  "formattedAmount": "string"
}

Reward and Recognition Instant Award Basket Value

Properties

Name Type Required Restrictions Description
amount number(float) true none none
formattedAmount string true none none

rrInstantAwardBasket

{
  "id": 13,
  "rrAwardItem": [
    {
      "awardId": 13,
      "status": "Completed",
      "rrInstantAwardRecipients": [
        {
          "fullName": "Alex Smith",
          "contactId": 10,
          "awardvalue": {
            "country": "string",
            "amount": "string",
            "formattedAmount": "string"
          }
        }
      ],
      "message": "Thank you",
      "subTotalAwardValue": {
        "amount": 0.1,
        "formattedAmount": "string"
      }
    }
  ],
  "totalValueInProgress": {
    "amount": 0.1,
    "formattedAmount": "string"
  },
  "totalValueCompleted": {
    "amount": 0.1,
    "formattedAmount": "string"
  }
}

Reward and Recognition Instant Award Basket

Properties

Name Type Required Restrictions Description
id integer true none The id of the basket
rrAwardItem [rrAwardItem] true none The award items in basket
totalValueInProgress instantawardbasketvalue false none none
totalValueCompleted instantawardbasketvalue false none none

rrInstantAwardRecipients

{
  "fullName": "Alex Smith",
  "contactId": 10,
  "awardvalue": {
    "country": "string",
    "amount": "string",
    "formattedAmount": "string"
  }
}

Reward and Recognition Instant Award Recipients

Properties

Name Type Required Restrictions Description
fullName string true none The recipient's full name
contactId integer true none The Id of the recipient
awardvalue awardsubvalue false none Class AwardValue

redemptionCardOption

{
  "id": 5,
  "name": "Test ASDA Card #1 (6137350000000002)",
  "enabled": true
}

Redemption Card Option

Properties

Name Type Required Restrictions Description
id integer true none The card id
name string true none The alias name given to the reloadable card and card number
enabled boolean true none Enabled

redemptionCategory

{
  "id": 0,
  "name": "string",
  "logo": "string",
  "description": "string",
  "configurationId": 0,
  "categoryType": "string",
  "deleted": true,
  "enabled": true,
  "hasCustomImage": true,
  "defaultLogo": "string",
  "productIds": [
    12
  ],
  "displayName": "string"
}

Redemption Category

Properties

Name Type Required Restrictions Description
id integer true none Id
name string true none Name
logo string true none Logo
description string true none Description
configurationId integer¦null true none ConfigurationId
categoryType string true none CategoryType
deleted boolean true none Deleted
enabled boolean true none Enabled
hasCustomImage boolean false none HasCustomImage
defaultLogo string¦null false none DefaultLogo
productIds [integer]¦null false none ProductIds
displayName string¦null false none DisplayName

redemptionCategoryCustomImage

{
  "id": 1,
  "categoryId": 3,
  "configurationId": 1,
  "logo": "https://ugc.rewardgateway.dev/img/RewardRecognition/Redemption/Categories/3-1.png",
  "originalImageName": "boom.png"
}

Redemption Category Custom Image

Properties

Name Type Required Restrictions Description
id integer true none Unique id for this category custom image
categoryId integer true none The redemption category id
configurationId integer true none The configuration id
logo string true none The full http path to the category custom image
originalImageName string false none The original name of the image as uploaded by the user

checkoutSuccess

{
  "orderReference": "101-01"
}

Class CheckoutSuccess

Properties

Name Type Required Restrictions Description
orderReference string true none The order reference

customReward

{
  "id": 0,
  "title": "string",
  "description": "string",
  "localeId": 0,
  "image": "string",
  "currency": "string",
  "price": 1.99,
  "qty": 0,
  "rrConfigurationId": 0,
  "createdOn": "string",
  "createdBy": "string",
  "deleted": true,
  "enabled": true,
  "parentId": 0,
  "instructions": "string",
  "termsAndConditions": "string",
  "rrRedemptionCategoryId": 0,
  "purchasable": true
}

Redemption Custom Reward

Properties

Name Type Required Restrictions Description
id integer true none Id
title string true none Type
description string true none Description
localeId integer true none LocaleId
image string true none Image
currency string false none currency
price number(float) true none The price of the product
qty integer¦null true none Qty
rrConfigurationId integer true none rrConfigurationId
createdOn string false none createdOn
createdBy string false none createdBy
deleted boolean false none Deleted
enabled boolean false none Enabled
parentId integer¦null false none parentId
instructions string false none instructions
termsAndConditions string false none terms and conditions
rrRedemptionCategoryId integer¦null false none rrRedemptionCategoryId
purchasable boolean¦null false none Purchasable

redemptionPaginatedProducts

{
  "items": [
    {
      "id": 0,
      "name": "string",
      "logo": "string",
      "typeName": "string",
      "type": "string",
      "stockCode": "string",
      "price": null,
      "getUsableOnline": true,
      "getUsableInstore": true,
      "description": "string",
      "termsAndConditions": "string",
      "minimumOrder": "string",
      "maximumOrder": "string",
      "denominations": [
        0
      ],
      "stockStatus": "string",
      "statusMesssage": "string",
      "productImage": "string",
      "useQuantity": true,
      "isFlex": true,
      "cardOptions": [
        {
          "id": 5,
          "name": "Test ASDA Card #1 (6137350000000002)",
          "enabled": true
        }
      ],
      "startDate": "string",
      "endDate": "string",
      "retailerId": 0,
      "retailerName": "string",
      "ctaText": "string",
      "ctaUrl": "string"
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "count": 157,
    "additionalItems": true
  }
}

Redemption Paginated Products

Properties

Name Type Required Restrictions Description
items [redemptionProduct] true none Items
pagination redemptionPagination true none none

redemptionPagination

{
  "offset": 0,
  "limit": 10,
  "count": 157,
  "additionalItems": true
}

Redemption Pagination

Properties

Name Type Required Restrictions Description
offset integer true none The amount to offset the results by
limit integer true none The amount to limit the results by
count integer true none The total number of results that exist and which can be paginated
additionalItems boolean true none A flag that can be used to determine whether there are additional items for pagination

physicalCategory

{
  "searchIndex": "HomeAndKitchen",
  "name": "Home & Kitchen",
  "logo": "https://static.cdn.rewardgateway.net/BrandAssets/responsive/img/rr-redemption-assets/category-icon-homekitchen.svg",
  "activeInDepartment": true,
  "activeInSearch": true
}

Physical Category

Properties

Name Type Required Restrictions Description
searchIndex string true none The searchIndex name given to the category
name string true none The name of the category
logo string true none An image logo for the category
activeInDepartment boolean false none ActiveInDepartment
activeInSearch boolean false none ActiveInSearch

physicalDepartment

{
  "id": 1,
  "name": "Films, TV, Music & Games",
  "logo": "https://static.rewardgateway.dev/BrandAssets/responsive/img/rr-redemption-assets/department-icon-films.svg",
  "categories": [
    {
      "searchIndex": "HomeAndKitchen",
      "name": "Home & Kitchen",
      "logo": "https://static.cdn.rewardgateway.net/BrandAssets/responsive/img/rr-redemption-assets/category-icon-homekitchen.svg",
      "activeInDepartment": true,
      "activeInSearch": true
    }
  ],
  "tag": "men"
}

Physical Department

Properties

Name Type Required Restrictions Description
id integer true none An id reference given to a department
name string true none The name of the departmnent
logo string true none An image logo for the department
categories [physicalCategory] false none Categories
tag string false none A tag given to the department

physicalImages

{
  "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
  "medium": "string",
  "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
}

Physical Product Images

Properties

Name Type Required Restrictions Description
small string true none The url path to a small dimension of the image
medium string¦null true none The url path to a medium dimension of the image
large string true none The url path to a large dimension of the image

physicalProduct

{
  "productCode": "B07PFQNPKW",
  "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
  "reviewCount": 917,
  "reviewRating": 4.6,
  "images": [
    {
      "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
      "medium": "string",
      "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
    }
  ],
  "value": {
    "currency": "£20",
    "points": "200 Points"
  },
  "previousValue": {
    "currency": "£20",
    "points": "200 Points"
  },
  "savingPercentage": 32,
  "productSummary": [
    "Single SIM slot"
  ],
  "productDetails": [
    {
      "name": "Color",
      "value": "Black"
    }
  ],
  "availability": {
    "message": "In stock",
    "minOrderQuantity": 1,
    "maxOrderQuantity": 10
  },
  "variations": {
    "items": [
      {
        "productCode": "B07PFQNPKW",
        "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
        "reviewCount": 917,
        "reviewRating": 4.6,
        "images": [
          {
            "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
            "medium": "string",
            "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
          }
        ],
        "value": {
          "currency": "£20",
          "points": "200 Points"
        },
        "previousValue": {
          "currency": "£20",
          "points": "200 Points"
        },
        "savingPercentage": 32,
        "productSummary": [
          "Single SIM slot"
        ],
        "productDetails": [
          {
            "name": "Color",
            "value": "Black"
          }
        ],
        "availability": {
          "message": "In stock",
          "minOrderQuantity": 1,
          "maxOrderQuantity": 10
        },
        "variations": {},
        "deliveryInfo": [
          "string"
        ],
        "features": [
          "string"
        ],
        "variantInfo": [
          "string"
        ],
        "tags": [
          "string"
        ]
      }
    ],
    "variationSummary": {
      "pageCount": 9,
      "variationsCount": 89,
      "variationDimensions": [
        {
          "displayName": "Colour ",
          "name": "color_name",
          "Values": [
            "Blue"
          ]
        }
      ]
    }
  },
  "deliveryInfo": [
    "string"
  ],
  "features": [
    "string"
  ],
  "variantInfo": [
    "string"
  ],
  "tags": [
    "string"
  ]
}

Physical Product

Properties

Name Type Required Restrictions Description
productCode string true none A reference to the product
productName string true none The name/title given to a product
reviewCount integer false none The number of reviews that there are on a product
reviewRating number(float) false none The review rating of a product
images [physicalImages] true none Images
value physicalProductValue true none none
previousValue physicalProductValue false none none
savingPercentage integer false none The percentage of saving that the product has been reduced in value by
productSummary [string] false none The product summary
productDetails [physicalProductAttributes] false none ProductDetails
availability physicalProductAvailability false none none
variations physicalProductVariations false none none
deliveryInfo [string] false none DeliveryInfo
features [string] false none Features
variantInfo [string] false none VariantInfo
tags [string] false none Tags

physicalProductAttributes

{
  "name": "Color",
  "value": "Black"
}

Physical Product Attributes

Properties

Name Type Required Restrictions Description
name string true none The value given to the attribute
value string true none The value given to the attribute

physicalProductAvailability

{
  "message": "In stock",
  "minOrderQuantity": 1,
  "maxOrderQuantity": 10
}

Physical Product Availability

Properties

Name Type Required Restrictions Description
message string true none The availability message of the product
minOrderQuantity integer true none The minimum quantity of this product that can be purchased
maxOrderQuantity integer true none The maximum quantity of this product that can be purchased

physicalProductCollection

{
  "name": "New Releases",
  "items": [
    {
      "productCode": "B07PFQNPKW",
      "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
      "reviewCount": 917,
      "reviewRating": 4.6,
      "images": [
        {
          "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
          "medium": "string",
          "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
        }
      ],
      "value": {
        "currency": "£20",
        "points": "200 Points"
      },
      "previousValue": {
        "currency": "£20",
        "points": "200 Points"
      },
      "savingPercentage": 32,
      "productSummary": [
        "Single SIM slot"
      ],
      "productDetails": [
        {
          "name": "Color",
          "value": "Black"
        }
      ],
      "availability": {
        "message": "In stock",
        "minOrderQuantity": 1,
        "maxOrderQuantity": 10
      },
      "variations": {
        "items": [
          {}
        ],
        "variationSummary": {
          "pageCount": 9,
          "variationsCount": 89,
          "variationDimensions": [
            {
              "displayName": "Colour ",
              "name": "color_name",
              "Values": [
                "Blue"
              ]
            }
          ]
        }
      },
      "deliveryInfo": [
        "string"
      ],
      "features": [
        "string"
      ],
      "variantInfo": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  ]
}

Physical Product Collection

Properties

Name Type Required Restrictions Description
name string true none The name of the collection
items [physicalProduct] true none Images

physicalProductValue

{
  "currency": "£20",
  "points": "200 Points"
}

Physical Product Value

Properties

Name Type Required Restrictions Description
currency string true none The value of the product in currency format
points string true none The value of the product in points

physicalProductVariations

{
  "items": [
    {
      "productCode": "B07PFQNPKW",
      "productName": "Huawei P30 128 GB 6.1 Inch OLED Display Smartphone with Leica Triple Camera, 6GB RAM, EMUI 9.1.0 Sim-Free Android Mobile Phone, Single SIM, Aurora, UK Version",
      "reviewCount": 917,
      "reviewRating": 4.6,
      "images": [
        {
          "small": "https://m.media-amazon.com/images/I/51DNLdrMg4L._SL75_.jpg",
          "medium": "string",
          "large": "https://m.media-amazon.com/images/I/51DNLdrMg4L.jpg"
        }
      ],
      "value": {
        "currency": "£20",
        "points": "200 Points"
      },
      "previousValue": {
        "currency": "£20",
        "points": "200 Points"
      },
      "savingPercentage": 32,
      "productSummary": [
        "Single SIM slot"
      ],
      "productDetails": [
        {
          "name": "Color",
          "value": "Black"
        }
      ],
      "availability": {
        "message": "In stock",
        "minOrderQuantity": 1,
        "maxOrderQuantity": 10
      },
      "variations": {
        "items": [],
        "variationSummary": {
          "pageCount": 9,
          "variationsCount": 89,
          "variationDimensions": [
            {
              "displayName": "Colour ",
              "name": "color_name",
              "Values": [
                "Blue"
              ]
            }
          ]
        }
      },
      "deliveryInfo": [
        "string"
      ],
      "features": [
        "string"
      ],
      "variantInfo": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  ],
  "variationSummary": {
    "pageCount": 9,
    "variationsCount": 89,
    "variationDimensions": [
      {
        "displayName": "Colour ",
        "name": "color_name",
        "Values": [
          "Blue"
        ]
      }
    ]
  }
}

Physical Product Variations

Properties

Name Type Required Restrictions Description
items [physicalProduct] false none Items
variationSummary physicalProductVariationsSummary false none none

physicalVariationDimension

{
  "displayName": "Colour ",
  "name": "color_name",
  "Values": [
    "Blue"
  ]
}

Physical Variation Dimension

Properties

Name Type Required Restrictions Description
displayName string false none The display name
name string false none The name
Values [string] true none The values for the dimensions

physicalProductVariationsSummary

{
  "pageCount": 9,
  "variationsCount": 89,
  "variationDimensions": [
    {
      "displayName": "Colour ",
      "name": "color_name",
      "Values": [
        "Blue"
      ]
    }
  ]
}

Physical Product Variations Summary

Properties

Name Type Required Restrictions Description
pageCount integer false none The number of pages of variations
variationsCount integer false none The number of total variations
variationDimensions [physicalVariationDimension] false none VariationDimensions

redemptionProduct

{
  "id": 0,
  "name": "string",
  "logo": "string",
  "typeName": "string",
  "type": "string",
  "stockCode": "string",
  "price": null,
  "getUsableOnline": true,
  "getUsableInstore": true,
  "description": "string",
  "termsAndConditions": "string",
  "minimumOrder": "string",
  "maximumOrder": "string",
  "denominations": [
    0
  ],
  "stockStatus": "string",
  "statusMesssage": "string",
  "productImage": "string",
  "useQuantity": true,
  "isFlex": true,
  "cardOptions": [
    {
      "id": 5,
      "name": "Test ASDA Card #1 (6137350000000002)",
      "enabled": true
    }
  ],
  "startDate": "string",
  "endDate": "string",
  "retailerId": 0,
  "retailerName": "string",
  "ctaText": "string",
  "ctaUrl": "string"
}

Redemption Product

Properties

Name Type Required Restrictions Description
id integer true none Id
name string true none Name
logo string true none Logo
typeName string false none Type Name
type string false none Type
stockCode string false none Stock Code
price any false none Price
getUsableOnline boolean false none Get usable online
getUsableInstore boolean false none Get usable in store
description string true none Description
termsAndConditions string false none TermsAndConditions
minimumOrder string false none Product minimum order amount
maximumOrder string false none Product maximum order amount
denominations [number] false none Product denominations
stockStatus string false none StockStatus
statusMesssage string false none StatusMessage
productImage string false none Product Image
useQuantity boolean false none Use Quantity
isFlex boolean false none Is Flexible voucher
cardOptions [redemptionCardOption] false none CardOptions
startDate string¦null false none StartDate
endDate string¦null false none EndDate
retailerId integer¦null false none RetailerId
retailerName string¦null false none RetailerName
ctaText string¦null false none CTA text
ctaUrl string¦null false none CTA URL

redemptionRewardMarketplace

{
  "products": {
    "items": [
      {
        "id": 0,
        "name": "string",
        "logo": "string",
        "typeName": "string",
        "type": "string",
        "stockCode": "string",
        "price": null,
        "getUsableOnline": true,
        "getUsableInstore": true,
        "description": "string",
        "termsAndConditions": "string",
        "minimumOrder": "string",
        "maximumOrder": "string",
        "denominations": [
          0
        ],
        "stockStatus": "string",
        "statusMesssage": "string",
        "productImage": "string",
        "useQuantity": true,
        "isFlex": true,
        "cardOptions": [
          {
            "id": 5,
            "name": "Test ASDA Card #1 (6137350000000002)",
            "enabled": true
          }
        ],
        "startDate": "string",
        "endDate": "string",
        "retailerId": 0,
        "retailerName": "string",
        "ctaText": "string",
        "ctaUrl": "string"
      }
    ],
    "pagination": {
      "offset": 0,
      "limit": 10,
      "count": 157,
      "additionalItems": true
    }
  },
  "featuredProducts": [
    {
      "id": 0,
      "name": "string",
      "logo": "string",
      "typeName": "string",
      "type": "string",
      "stockCode": "string",
      "price": null,
      "getUsableOnline": true,
      "getUsableInstore": true,
      "description": "string",
      "termsAndConditions": "string",
      "minimumOrder": "string",
      "maximumOrder": "string",
      "denominations": [
        0
      ],
      "stockStatus": "string",
      "statusMesssage": "string",
      "productImage": "string",
      "useQuantity": true,
      "isFlex": true,
      "cardOptions": [
        {
          "id": 5,
          "name": "Test ASDA Card #1 (6137350000000002)",
          "enabled": true
        }
      ],
      "startDate": "string",
      "endDate": "string",
      "retailerId": 0,
      "retailerName": "string",
      "ctaText": "string",
      "ctaUrl": "string"
    }
  ],
  "featuredCharityProducts": [
    {
      "id": 0,
      "name": "string",
      "logo": "string",
      "typeName": "string",
      "type": "string",
      "stockCode": "string",
      "price": null,
      "getUsableOnline": true,
      "getUsableInstore": true,
      "description": "string",
      "termsAndConditions": "string",
      "minimumOrder": "string",
      "maximumOrder": "string",
      "denominations": [
        0
      ],
      "stockStatus": "string",
      "statusMesssage": "string",
      "productImage": "string",
      "useQuantity": true,
      "isFlex": true,
      "cardOptions": [
        {
          "id": 5,
          "name": "Test ASDA Card #1 (6137350000000002)",
          "enabled": true
        }
      ],
      "startDate": "string",
      "endDate": "string",
      "retailerId": 0,
      "retailerName": "string",
      "ctaText": "string",
      "ctaUrl": "string"
    }
  ],
  "categories": [
    {
      "id": 0,
      "name": "string",
      "logo": "string",
      "description": "string",
      "configurationId": 0,
      "categoryType": "string",
      "deleted": true,
      "enabled": true,
      "hasCustomImage": true,
      "defaultLogo": "string",
      "productIds": [
        12
      ],
      "displayName": "string"
    }
  ],
  "customRewards": [
    {
      "id": 0,
      "title": "string",
      "description": "string",
      "localeId": 0,
      "image": "string",
      "currency": "string",
      "price": 1.99,
      "qty": 0,
      "rrConfigurationId": 0,
      "createdOn": "string",
      "createdBy": "string",
      "deleted": true,
      "enabled": true,
      "parentId": 0,
      "instructions": "string",
      "termsAndConditions": "string",
      "rrRedemptionCategoryId": 0,
      "purchasable": true
    }
  ]
}

Redemption Reward Marketplace

Properties

Name Type Required Restrictions Description
products redemptionPaginatedProducts true none none
featuredProducts [redemptionProduct] true none FeaturedProducts
featuredCharityProducts [redemptionProduct] true none FeaturedCharityProducts
categories [redemptionCategory] true none Categories
customRewards [customReward] true none CustomRewards

redemptionDreamshipShop

{
  "id": 1,
  "schemeId": 1,
  "shopName": "Bank of America"
}

Redemption Dreamship Shop

Properties

Name Type Required Restrictions Description
id integer true none Id of the shop in the database
schemeId integer false none The scheme Id
shopName string true none Name given to the shop

redemptionUser

{
  "id": "string",
  "points": "string",
  "currency": "string",
  "currencyType": "string",
  "exchangeRate": 0.1,
  "reverseExchangeRate": 0.1,
  "configurationId": 10,
  "pageRedeemTitle": "Reward Marketplace",
  "pageRedeemDescription": "Redeem your award balance on an amazing selection of rewards",
  "allowBankWithdrawal": true,
  "schemeId": 10,
  "schemeUuid": "8a98e6b3-d06d-4c18-85d7-fc239c87a2c9",
  "schemeName": "Example Site",
  "customStoreStatus": true,
  "memberLocaleId": 10,
  "pointsFullName": "Coins",
  "pointsShortName": "CNS",
  "pointsDisplayMode": 1,
  "isRewardMarketplaceAdministrator": true
}

Redemption User

Properties

Name Type Required Restrictions Description
id string true none Id
points string true none Points
currency string true none Currency
currencyType string false none CurrencyType
exchangeRate number(float) false none ExchangeRate
reverseExchangeRate number(float) false none ReverseExchangeRate
configurationId integer false none The configurationId
pageRedeemTitle string false none The redeem title on the redemption page
pageRedeemDescription string false none The redeem description on the redemption page
allowBankWithdrawal boolean false none AllowBankWithdrawal
schemeId integer false none The schemeId
schemeUuid string false none The scheme UUID
schemeName string false none The scheme name
customStoreStatus boolean false none CustomStoreStatus
memberLocaleId integer false none The member's localeId
pointsFullName string false none The fullname given to the points
pointsShortName string false none The shortname given to the points
pointsDisplayMode integer false none The default points display mode. 1 = Points shortname, 2 = Points fullname
isRewardMarketplaceAdministrator boolean false none IsRewardMarketplaceAdministrator

PaymentCard

{
  "id": "string",
  "alias": "string",
  "cardExpiry": "string",
  "cardPan": "string",
  "cardType": "string",
  "cardFee": 0.1,
  "isCreditCard": true,
  "isTrusted": true,
  "firstName": "string",
  "lastName": "string",
  "addressLine1": "string",
  "addressLine2": "string",
  "addressLine3": "string",
  "addressLine4": "string",
  "postalCode": "string",
  "country": "string",
  "subscriptionId": "string"
}

Payment Card

Properties

Name Type Required Restrictions Description
id string false none Payment card identifier
alias string false none Payment card alias
cardExpiry string false none Payment card expiry
cardPan string false none Payment card PAN
cardType string false none Payment card type
cardFee number(float) false none Credit card fee
isCreditCard boolean false none Is credit card?
isTrusted boolean false none Is payment card trusted?
firstName string false none Payment card billing first name
lastName string false none Payment card billing last name
addressLine1 string false none Payment card billing address line 1
addressLine2 string false none Payment card billing address line 2
addressLine3 string false none Payment card billing address line 3
addressLine4 string false none Payment card billing address line 4
postalCode string false none Payment card billing postal code
country string false none Payment card billing address country
subscriptionId string¦null false none Payment card token

wellbeingcentre_favourites_item

{
  "itemId": 123,
  "favouriteId": 1,
  "category": "move",
  "itemUrl": "",
  "title": "Ipsum dolor sit amet",
  "subTitle": "Ipsum dolor sit amet",
  "imageUrl": "",
  "type": "video",
  "duration": "30",
  "additionalInfo": "Ipsum dolor sit amet"
}

Wellbeing Centre Favourites Item

Properties

Name Type Required Restrictions Description
itemId integer true none Item Identifier
favouriteId integer true none Favourite Identifier
category string true none Item's category
itemUrl string true none Item Url
title string true none Item Title
subTitle string true none Item Sub Title
imageUrl string true none Item Image Url
type string true none Item Type - video, article, recipe
duration string true none Duration
additionalInfo string true none Additional Information