i-movo Voucher APIs

The following API details describe how you can generate or cancel a Secure Digital Voucher from the i-movo Voucher Service. The  documentation contain details about the API request POST parameters and the possible responses from the i-movo Voucher Service endpoints.

Request a Voucher API

To request a Secure Digital Voucher from the  i-movo Voucher Service a POST request is required containing: campaignCode, customerReference, and the value of the voucher you would like to generate. 

Upon successful submission of the request the API response will contain the voucher  number  or a link to an i-movo web voucher with barcode, help and a storefinder. The voucher can also be delivered automatically by the i-movo Voucher Service, if your voucher campaign is set up to do so.

Request

POST           https://core-uat-api.azurewebsites.net/VoucherRequest/Request

Request Header

  • X-API-KEY - Your API Subscription Key must be specified  in the header for all requests. This key will be supplied to you securely by PGP once we receive a public PGP key from you.   (string  / Required)

Request Body

The request body must contain:

  • campaignCode - The campaign from which the voucher is being requested. The code will have been issued by i-movo.  (string  / Required)                             

  • customerReference - Your customer reference for this request. Where i-movo is delivering the voucher, this needs to contain e.g. the customer’s mobile or email address. (string  / Required)

  • value - For cash vouchers only, this parameter allows a client to set the value of the voucher being generated up to an agreed maximum.  (decimal / Optional)

https://core-uat-api.azurewebsites.net/VoucherRequest/Request?campaignCode=THINK&customerReference=07123456789&value=20.00

Response: Successful

{
"voucherCode": "3721902693",
"balance": 20.00,
"expiryDate": 2020-06-23T23:59:59.9999999,
"message": "£20.00 CashOut voucher valid at any PayPoint to 23-Jun: http://imovo.org/3721902693TY OR shop: use CASHOUT > I-MOVO > 3721902693 > ENTER Help? 0800 310 0000",
"successfulRequest": true
}

Response: Error

{
"errorMessages":
[
"Unable to create voucher: the campaign code submitted does not exist"
],
"successfulRequest": false
}

 Response: Validation Error

{
"errorMessages":
[
"Unable to create voucher: the value entered is invalid"
],
"successfulRequest": false
}

Request a Voucher API with Id Check

Requesting a Secure Digital Voucher from i-movo whereby the voucher displays the customer’s name, address and post code under the barcode such that the staff at the shop can check those details against the documentation presented by the customer.

The voucher number only can be returned, or a link to a web page hosted by i-movo displaying the barcode, voucher details, help and a storefinder. The voucher can be delivered automatically by the i-movo system if required, by SMS or email.

Request

POST           https://core-uat-api.azurewebsites.net/VoucherRequest/RequestVoucherWithId

Request Header

  • X-API-KEY - Your API Subscription Key must be specified  in the header for all requests. This key will be supplied to you securely by PGP once we receive a public PGP key from you. (string  / Required)

Request Body

The request body must contain:

  • campaignCode - The campaign from which the voucher is being requested. The code will have been issued by i-movo.  (string  / Required)                             

  • customerReference - Your customer reference for this request. Where i-movo is delivering the voucher, this needs to contain e.g. the customer’s mobile or email address. (string  / Required)

  • DeliveryRecipient - Where PayPoint are delivering the voucher, this field is used to supply the email address or mobile number of the recipient (string / Optional)

  • VoucherValue - For cash and energy vouchers only, this parameter allows a client to set the value of the voucher being generated (up to an agreed maximum) (decimal / Optional)

  • CustomerName - The customer’s full name that will appear on vouchers for retailers to check the customer's ID( string / Required) 

  • Address - The customers address that will appear on vouchers for retailers to check the customer's ID (string / Required) 

  • PostCode - The customer’s post code that will appear on vouchers for retailers to check the customer's ID (string / Required) 

{
"CampaignCode":"CAMP01",
"VoucherValue": 1.00,
"CustomerReference": "09283-765748",
"DeliveryRecipient": Johnsmith@email.com,
"CustomerName": "John Smith",
"Address": "19 Test Street, Welwyn Garden City",
"Postcode": "AL1 0BS"
}

Response: Successful

{
    "voucherCode": "648924429737",
    "balance": 1.00,
    "expiryDate": "2024-08-09T23:59:59.999",
    "message": "Here is your FREE £5 off voucher: voucher 648924429737 Expires on 09-Aug-24. See here for barcode, storefinder, T&Cs: imovo.org/?id=GC-QGhDENUu4",
    "successfulRequest": true
}

Response: Error Examples

{
    "errorMessages": [
        "InvalidCampaign"
    ],
    "successfulRequest": false
}
{
    "errorMessages": [
        "ClientWeeklyValueLimitReached"
    ],
    "successfulRequest": false
}
{
    "errorMessages": [
"address is required",
        "post code is required",
        "customer name is required"
    ],
    "successfulRequest": false
}

Cancel a Voucher API

To instantly cancel a Secure Digital Voucher generated by the i-movo Voucher Service, a simple POST request is required containing the voucher code that you wish to cancel.

A synchronous response containing the result of the request is returned and if successful the Secure Digital Voucher will be flagged as cancelled.

Request

POST           https://core-uat-api.azurewebsites.net/Voucher/CancelVoucher

Request Header

  • X-API-KEY - Your API Subscription Key must be specified in the header for all requests. This key will be supplied to you securely by PGP once we receive a public PGP key from you. (string  / Required)

Request Body

The request body must contain:

  • voucherCode  - The voucher code to be cancelled. (string  / Required)

https://core-uat-api.azurewebsites.net/Voucher/CancelVoucher?voucherCode=2193785990

 Response: Successful

{
    "successfulRequest": true
}

 Response: Error (Not Found)

{
    "errorMessages": [
        "Voucher not found"
    ],
    "successfulRequest": false
}

 Response: Error

{
    "errorMessages": [
        "Voucher is already cancelled or redeemed"
    ],
    "successfulRequest": false
}