Introduction

Resolution Technologies is an online merchant that offers Airtime, Mobile Data, Bulk SMS, Utility Bills, Educational E-Pins, Online Shopping, Hotel Booking, Web Hosting and much more, all at discounted prices. It is our delight at Resolution Technologies to bring you affordable data plans for surfing the internet. It is quite evident that subscribing on Androids, Modems, Bb10 devices etc. is too expensive. We have come to serve you affordable subscriptions on MTN, 9MOBILE, GLO and AIRTEL with 10-40% off your normal subscription rate.

This document describes the RESTful web services deployed on the Resolutiontech.net platform that enables business partners to sell different products and track their account. We have a group of restful API that creates a consistent JSON response. It consist of a constant base URL and various endpoint for various purposes of calling our Server. Our API is very easy to integrate and also have a high level of security on information sent via API call. Parameters are sent using the POST method. The responses from this API are all in JSON format and contain information about transactions and additional information for record purpose and referencing.

Each API call has two (2) major parts that are treated by the server, they are;

  • Server Address
  • Contents

Server Address:
The base URL for Resolution Technologies Seamless vending are:
Live URL: https://resolutiontech.net/products-api/
Contents:
These are the parameters to pass which must include:type (nature of API call), username (your account username), reseller_key (can be found in your account settings and must be kept confidential) and access (which has value of "1" by default).




Balance Query retrieves the balance left on your account at resolutiontech.net
Low balance will affect trading as the value in the balance must not be at any time lower than the purchase to be made.
Balance requests are sent using POST method.


Request Parameters:
access: int => "1"
type: string => "account_balance"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
Sample Request:
https://resolutiontech.net/products-api?access=1&type=account_balance&username=xxxxxx&reseller_key=xxxxxx

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
Sample Response (success):
{"status":"1", "message":"1928758.70", "date":"2019-10-10 09:12:33"}
Sample Response (failed):
{"status":"12", "message":"INVALID_REQUEST_TYPE", "date":"2019-10-10 09:12:33"}




The product categories query fetches all the categories available for data, airtime, airtime pin, tv, electricity, exams and sms, for you to create your plans and be able to vend on the resolutiontech.net API Platform.
Product categories request can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "select_categories"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => available slugs are data-bundle, tv-bundle, mobile-airtime, airtime-pin, exams-epin, bulk-sms, electricity-bill
Sample Request:
https://resolutiontech.net/products-api?access=1&type=select_categories&username=xxxxxx&reseller_key=xxxxxx&product_slug=data-bundle

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
Sample Response (success):
{"status":"1", "message":"{MTN, GLO, AIRTEL, 9MOBILE, SPECTRANET, SMILE}", "date":"2019-10-10 09:12:33"}
Sample Response (failed):
{"status":"12", "message":"INVALID_REQUEST_TYPE", "date":"2019-10-10 09:12:33"}




The product plans query fetches all the plans (id, name) available for each product on the resolutiontech.net API Platform. You need a plan id to be able to vend on the platform.
Product plans request can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "fetch_plans"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => available slugs are data-bundle, tv-bundle, mobile-airtime, airtime-pin, exams-epin, bulk-sms, electricity-bill
package: string => product_category
Sample Request:
https://resolutiontech.net/products-api?access=1&type=fetch_plans&username=xxxxxx&reseller_key=xxxxxx&product_slug=data-bundle&package=MTN

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
Sample Response (success):
{"status":"1", "message":"{id => {2, 5, 9}, name => {1GB, 3GB, 5GB}}", "date":"2019-10-10 09:12:33"}
Sample Response (failed):
{"status":"12", "message":"INVALID_REQUEST_TYPE", "date":"2019-10-10 09:12:33"}




It is good to verify the status of your order after every purchase and give the update to your client to let them know the status of their transactions.


Request Parameters:
access: int => "1"
type: string => "verify_order"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
number: int => order_id returned for every purchase made to our API
Sample Request:
https://resolutiontech.net/products-api?access=1&type=verify_order&username=xxxxxx&reseller_key=xxxxxx&number=303

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
verifyDetails: string => order_description
Sample Response (success 1):
{"status":"1", "message":"SUCCESS", "amount_charged":"600.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303", "verifyDetails":"N300 airtime VTU to 2347030237966 sent successfully!"}}
Sample Response (success 2):
{"status":"1", "message":"SUCCESS", "amount_charged":"0.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303", "verifyDetails":"Transaction failed!"}}
Sample Response (success 3):
{"status":"1", "message":"SUCCESS", "amount_charged":"null", "date":"2019-10-10 09:12:33", "details":{"order_id":"303", "verifyDetails":"Invalid order_id!"}}
Sample Response (failed):
{"status":"2", "message":"VENDOR_SERVICE_ERROR", "date":"2019-10-10 09:12:33"}



It is good to verify the beneficiary Smartno. for Smile Data before vending by doing the following:
Verify Smile Data request can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "verify_smile_data"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
number: int => beneficiary_Smartno
Sample Request:
https://resolutiontech.net/products-api?access=1&type=verify_smile_data&username=xxxxxx&reseller_key=xxxxxx&number=xxxxxx

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
details: array => array_of_additional_parameters
firstName: string => customer_first_name
middleName: string => customer_middle_name
lastName: string => customer_last_name
verifyDetails: string => additonal_verification_message
Sample Response (success):
{"status":"1", "message":"SUCCESS", "date":"2019-10-10 09:12:33", "details":{"firstName":"BAYO", "middleName":"SAMMY", "lastName":"NELSON"}}
Sample Response (failed 1):
{"status":"2", "message":"VENDOR_SERVICE_ERROR", "date":"2019-10-10 09:12:33"}
Sample Response (failed 2):
{"status":"7", "message":"BAD_USER_INPUT", "date":"2019-10-10 09:12:33", "details":{"verifyDetails":"INVALID_SMARTNO"}}




To buy data bundles, please do the following:
Data bundle requests can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "data"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => "data-bundle"
package: string => product_category
service_plan: int => product_plan
number: int => mobile_number
payment: string => wallet to be charged ("wallet_bal" or "commission_bal")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=data&username=xxxxxx&reseller_key=xxxxxx&product_slug=data-bundle&package=MTN&service_plan=xx&number=08031234567&payment=wallet_bal

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
Sample Response (success):
{"status":"1", "message":"SUCCESS", "amount_charged":"600.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}
Sample Response (failed):
{"status":"8", "message":"INVALID_PRODUCT_PLAN", "amount_charged":"0", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}




It is good to verify the beneficiary Smartno. for Smile Recharge before vending by doing the following:
Verify Smile Recharge request can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "verify_smile_recharge"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
number: int => beneficiary_Smartno
Sample Request:
https://resolutiontech.net/products-api?access=1&type=verify_smile_recharge&username=xxxxxx&reseller_key=xxxxxx&number=xxxxxx

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
details: array => array_of_additional_parameters
firstName: string => customer_first_name
middleName: string => customer_middle_name
lastName: string => customer_last_name
verifyDetails: string => additonal_verification_message
Sample Response (success):
{"status":"1", "message":"SUCCESS", "date":"2019-10-10 09:12:33", "details":{"firstName":"BAYO", "middleName":"SAMMY", "lastName":"NELSON"}}
Sample Response (failed 1):
{"status":"2", "message":"VENDOR_SERVICE_ERROR", "date":"2019-10-10 09:12:33"}
Sample Response (failed 2):
{"status":"7", "message":"BAD_USER_INPUT", "date":"2019-10-10 09:12:33", "details":{"verifyDetails":"INVALID_SMARTNO"}}




To vend airtime VTU, please do the following:
Airtime VTU requests can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "airtime"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => "mobile-airtime"
package: string => product_category
amount: int => airtime_value
number: int => mobile_number
payment: string => wallet to be charged ("wallet_bal" or "commission_bal")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=airtime&username=xxxxxx&reseller_key=xxxxxx&product_slug=mobile-airtime&package=MTN&amount=3500&number=08031234567&payment=wallet_bal

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
Sample Response (success):
{"status":"1", "message":"SUCCESS", "amount_charged":"3500.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}
Sample Response (failed):
{"status":"8", "message":"INVALID_PRODUCT_PLAN", "amount_charged":"0", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}




To buy airtime PIN, please do the following:
Airtime PIN requests can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "airtime_pin"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => "airtime-pin"
package: string => product_category
amount: int => airtime_value
number: int => quantity
payment: string => wallet to be charged ("wallet_bal" or "commission_bal")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=airtime_pin&username=xxxxxx&reseller_key=xxxxxx&product_slug=airtime-pin&package=UNIVERSAL&amount=3500&number=3&payment=wallet_bal

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
pin: array => array_of_recharge_pins
ussd: array => array_of_ussd_codes
serialNumber: array => array_of_serial_numbers
Sample Response (success):
{"status":"1", "message":"SUCCESS", "amount_charged":"3500.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303", "pin":{"786453457687", "839471163729", "010581279403"}, "ussd":{"*717*786453457687#", "*717*839471163729#", "*717*010581279403#"}, "serialNumber":{"87643", "87644", "87645"}}}
Sample Response (failed):
{"status":"8", "message":"INVALID_PRODUCT_PLAN", "amount_charged":"0", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}




It is good to verify the beneficiary IUC no. for Cable TV Subscriptions before buying by doing the following:
Verify Cable TV request can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "verify_tv"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
card: int => beneficiary_IUC_no
service_plan: int => product_plan
Sample Request:
https://resolutiontech.net/products-api?access=1&type=verify_tv&username=xxxxxx&reseller_key=xxxxxx&card=xxxxxx&service_plan=xx

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
details: array => array_of_additional_parameters
firstName: string => customer_first_name
lastName: string => customer_last_name
accountStatus: string => customer_account_status
customerType: string => customer_account_type
invoicePeriod: int => number_of_months_subscribed
dueDate: datetime => subscription_expiry_date
customerNumber: int => customer_account_number
Sample Response (success):
{"status":"1", "message":"SUCCESS", "date":"2019-10-10 09:12:33", "details":{"firstName":"BAYO", "lastName":"NELSON", "accountStatus":"OPEN", "customerType":"GOTVSUD", "invoicePeriod":"1", "dueDate":"2001-01-01T00:00:00+01:00", "customerNumber":"26651783"}}
Sample Response (failed):
{"status":"2", "message":"VENDOR_SERVICE_ERROR", "date":"2019-10-10 09:12:33"}




To subscribe Cable TV, please do the following:
Cable TV Subscription requests can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "tv"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => "tv-bundle"
package: string => product_category
service_plan: int => product_plan
number: int => mobile_number
card: int => beneficiary_IUC_no
payment: string => wallet to be charged ("wallet_bal" or "commission_bal")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=tv&username=xxxxxx&reseller_key=xxxxxx&product_slug=tv-bundle&package=GOTV&service_plan=xx&number=08031234567&card=xxxxxx&payment=wallet_bal

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
Sample Response (success):
{"status":"1", "message":"SUCCESS", "amount_charged":"600.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}
Sample Response (failed):
{"status":"8", "message":"INVALID_PRODUCT_PLAN", "amount_charged":"0", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}




It is good to verify the beneficiary meter no. for Electricity Bills before buying by doing the following:
Verify Electricity 1 request can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "verify_electricity_1"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
meter: int => beneficiary_meter_no
package: int => product_category (supported packages are: "phcn", "ikedc", "kedco", "phed", "jed")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=verify_electricity_1&username=xxxxxx&reseller_key=xxxxxx&meter=xxxxxx&package=phcn

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
details: array => array_of_additional_parameters
customerName: string => customer_name
Sample Response (success):
{"status":"1", "message":"SUCCESS", "date":"2019-10-10 09:12:33", "details":{"customerName":"BAYO NELSON"}}
Sample Response (failed):
{"status":"2", "message":"VENDOR_SERVICE_ERROR", "date":"2019-10-10 09:12:33"}




It is good to verify the beneficiary meter no. for Electricity Bills before buying by doing the following:
Verify Electricity 4 request can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "verify_electricity_4"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
meter: int => beneficiary_meter_no
package: int => product_category (supported packages are: "phcn", "ikedc", "kedco", "phed", "jedc", "ibedc", "aedc", "kedc", "yedc", "bedc", "eedc")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=verify_electricity_4&username=xxxxxx&reseller_key=xxxxxx&meter=xxxxxx&package=phcn

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
details: array => array_of_additional_parameters
customerName: string => customer_name
customerAddress: string => customer_address
customerCanVend: string => customer_can_vend
customerAccount: int => customer_account
customerType: string => customer_type
tariff: float => current_tariff
customerNumber: int => customer_phone_number
Sample Response (success):
{"status":"1", "message":"SUCCESS", "date":"2019-10-10 09:12:33", "details":{"customerName":"BAYO NELSON", "customerAddress":"10 Downing Str.", "customerCanVend":"YES", "customerAccount":"62141331165", "customerType":"PRIME", "tariff":"3.23", "customerNumber":"23480000000004"}}
Sample Response (failed):
{"status":"2", "message":"VENDOR_SERVICE_ERROR", "date":"2019-10-10 09:12:33"}




To pay for Electricity Bills, please do the following:
Electricity Bill payments can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "electricity"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => "electricity-bill"
package: string => product_category
service_plan: int => product_plan
number: int => mobile_number
meter: int => beneficiary_meter_no
payment: string => wallet to be charged ("wallet_bal" or "commission_bal")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=electricity&username=xxxxxx&reseller_key=xxxxxx&product_slug=electricity-bill&package=phcn&service_plan=xx&number=08031234567&meter=xxxxxx&payment=wallet_bal

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
token: int => recharge_pin
customerName: string => customer_name
units: float => units_credited_to_user
Sample Response (success):
{"status":"1", "message":"SUCCESS", "amount_charged":"600.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303", "token":"87865456878976544567", "customerName":"BEN JOHN", "units":"12.04"}}
Sample Response (failed):
{"status":"8", "message":"INVALID_PRODUCT_PLAN", "amount_charged":"0", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}




To buy Exams ePIN, please do the following:
Exams ePIN requests can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "exams"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => "exams-epin"
package: string => product_category
service_plan: int => product_plan
number: int => mobile_number
payment: string => wallet to be charged ("wallet_bal" or "commission_bal")
Sample Request:
https://resolutiontech.net/products-api?access=1&type=exams&username=xxxxxx&reseller_key=xxxxxx&product_slug=exams-epin&package=waec&service_plan=xx&number=08031234567&payment=wallet_bal

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
pin: int => epin
serialNumber: string => serial_number
expiresOn: date => pin-expiration_date
Sample Response (success):
{"status":"1", "message":"SUCCESS", "amount_charged":"600.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303", "pin":"87865456878976544567", "serialNumber":"DT54634433", "expiresOn":"2001-01-01T00:00:00+01:00"}}
Sample Response (failed):
{"status":"8", "message":"INVALID_PRODUCT_PLAN", "amount_charged":"0", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}




To buy Bulk SMS, please do the following:
Bulk SMS requests can be sent using POST method.


Request Parameters:
access: int => "1"
type: string => "sms"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
product_slug: string => "bulk-sms"
package: string => product_category
service_plan: int => product_plan
number: int => mobile_number
payment: string => wallet to be charged ("wallet_bal" or "commission_bal")
sender: string => message_sender (alphanumeric)
contacts: string => recipient_numbers seperated by comma
message: string => message_to_send
Sample Request:
https://resolutiontech.net/products-api?access=1&type=sms&username=xxxxxx&reseller_key=xxxxxx&product_slug=bulk-sms&package=xxxx&service_plan=xx&number=08031234567&payment=wallet_bal&sender=FARMGROUP&contacts=2348012345678, 23490123456789&message=hello world

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
amount_charged: float => debit_made_to_wallet
details: array => array_of_additional_parameters
order_id: int => purchase_id
Sample Response (success):
{"status":"1", "message":"SUCCESS", "amount_charged":"600.00", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}
Sample Response (failed):
{"status":"8", "message":"INVALID_PRODUCT_PLAN", "amount_charged":"0", "date":"2019-10-10 09:12:33", "details":{"order_id":"303"}}




SMS Charges Query retrieves the standard rate charged for notification SMS messages on resolutiontech.net
SMS Charges requests are sent using POST method.


Request Parameters:
access: int => "1"
type: string => "sms_fee"
username: string => your_account_username
reseller_key: string => your_unique_account_API_key
Sample Request:
https://resolutiontech.net/products-api?access=1&type=sms_fee&username=xxxxxx&reseller_key=xxxxxx

Response Parameters:
status: int => response_code
message: string => response_message
date: datetime => query_date
Sample Response (success):
{"status":"1", "message":"1.70", "date":"2019-10-10 09:12:33"}
Sample Response (failed):
{"status":"12", "message":"INVALID_REQUEST_TYPE", "date":"2019-10-10 09:12:33"}




Below are Response Codes with the corresponding Response Messages returned from the resolutiontech.net API platform.


CODE MESSAGE
0 PENDING
1 SUCCESS
2 VENDOR_SERVICE_ERROR
3 MISMATCHED_API_PARAMETERS
4 INSUFFICIENT_MERCHANT_CREDIT
5 INVALID_OR_INACTIVE_MERCHANT_ACCOUNT
6 AUTHORIZATION_ERROR
7 BAD_USER_INPUT
8 INVALID_PRODUCT_PLAN
9 VENDOR_SERVICE_ERROR
10 AMOUNT_LESS_THAN_OR_EQUAL_TO_ZERO
11 AMOUNT_LESS_THAN_100_OR_GREATER_THAN_50000
12 INVALID_REQUEST_TYPE




If you have any questions, please contact us by calling + (234) 811-493-2880.
or send details query to support email support@resolutiontech.net

We aim to answer all questions within 24 hours . In some cases the waiting time can be extended to 48 hours.

We hope you found this document helpful. Thank you!