API Documentation

The following documentation presents comprehensive resources to help developers integrate with RMU Forms Online platform. With these APIs, you can view all available forms, sell a form, view transaction statuses, and transaction information.

Introduction

The RMU Forms Online API is built around Representational State Transfer (i.e. REST). Our APIs accept only JSON-encoded requests and return JSON-encoded responses, while using standard HTTP verbs and a combination of standard HTTP and custom response codes.

Prerequisite

Any external service provider who needs access to the RMU Forms Online platform must, first of all, complete all necessary vendor/client on-boarding requirements. The following processes apply to you:

  1. i. Vendor Registration
  2. ii. Technical API Integration
  3. iii. Training on use of Client Portal (Optional)
  4. iv. Vendor Go-live

Vendor Registration
API Integration
Vendor Go-live

Access to our Vendor Portal is given to you upon a successful completion of the registration procedures. Integration to the RMU Forms Online API must first start with your access to the Vendor Portal, after which you will be able to use test API Integration key and also create live API integration keys.

Connection Procedure

                
"URL": "https://test.api.rmuictonline.com/{endpoint}"
"Method": POST
"Data format": JSON
"Content Type": application/json
                
            

Authentication

basic authentication

You need to authenticate every request you make mainly using basic authentication. On the Vendor Portal dashboard, click on 'Generate New API Keys'; a Client ID and Client Secret will be generated for you.

Please Note: For testing, the test environment should be used.

                
"BODY": "JSON DATA"
"CLIENT_ID": client_id
"CLIENT_SECRET": client_secret
"HEADER": Authorization: Basic base64_encode("<CLIENT_ID>:<CLIENT_SECRET>")
                
            

API Details

Find below the various ways you will interract with our APIs to get available forms, sell a form, view a transaction information, and view a transaction status.

Available Forms

Use this to query all available forms. A request should be made first to this endpoint if vendor wants to sell a form voucher to a customer. This endpoint fetchs all available forms with their corresponding prices.

The table below presents the list of parameters that must be used in forming a Get Forms request from RMU Forms Online.

Fields Description Length DataType O/M
branch_name The branch of the company which is making the request String M
                    

Sample Request

curl --location 'https://test.api.rmuictonline.com/getForms' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic MTIyNDg1Nzk6VElBVjBRTUhD' \ --data '{ "branch_name":"Lapaz MTI" }'
                    

Sample Response

{ "resp_code": "001", "message": "successful", "data": [ { "form_type": "MASTERS AND UPGRADERS", "price": "250.00" }, { "form_type": "DEGREE", "price": "200.00" }, { "form_type": "DIPLOMA", "price": "150.00" }, { "form_type": "MARINE ENG MEC", "price": "150.00" }, { "form_type": "CILT, DILT AND ADILT", "price": "150.00" } ] }

Purchase a Form

Use this to sell a form to a customer. Response from this endpoint will contain the login details (application number and the pin code) needed to access the application portal.

Please Note: Upon successfull response from this endpoint, this shows that the vendor has sold a form. Therefore, we advice that vendors ensure collection of payment from the customer before making a request to this endpoint.

The table below presents the list of parameters that must be used in forming a Purchase Form request from RMU Forms Online.

Fields Description Length DataType O/M
branch_name The branch of the company which is selling the form String M
form_type The type of form customer wants to buy String M
customer_first_name The first name of the customer String M
customer_last_name The last name of the customer String M
customer_email_address The email address of customer String O
customer_phone_number The phone number of customer. Example 0244123456 10 String M
trans_dt Current timestamp at the time of sending the request. Format: YYYY-MM-DD HH:MI:SS Example: 2015-01-01 23:20:50 Note that Timezone must be set to UTC String M
ext_trans_id Unique identifier for the transaction from you. This must be unique for each payment request you perform. Use this id to track the transaction on the RMU Forms Online. 15 - 20 String M
NB: Must proceed with unique company code stated by RMU during registration. Can be found on the vendor dashboard
                    

Sample Request

curl --location 'https://test.api.rmuictonline.com/purchaseForm' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic MTIyNDg1Nzk6VElBVjBRTUhD' \ --data-raw '{ "branch_name":"Lapaz MTI", "form_type":"DEGREE", "customer_first_name":"Ama", "customer_last_name":"Abrefi", "customer_email_address":"example@gmail.com", "customer_phone_number":"0241234567", "trans_dt":"2023-07-01 14:08:54", "ext_trans_id":"TRY2372736276" }'
                    

Sample Response

{ "resp_code": "001", "message": "successful", "data": { "app_number": "RMU-12235027", "pin_number": "UP64F9M83", "ext_trans_id": "TRY2372736276", "trans_dt":"2023-07-01 14:08:54", } }

Purchase Info

Use this to query an existing transaction to know the information of that transaction. This feature is useful to know the purchase information/details from RMU Forms Online for a certain successfull purchase request made.

The table below presents the list of parameters that must be used in forming a Purchase Info request from RMU Forms Online.

Fields Description Length DataType O/M
branch_name The branch of the company which is making the request String M
ext_trans_id Unique identifier for the transaction from you. This must be unique for each payment request you perform. Use this id to track the transaction on the RMU Forms Online. 15 - 20 String M
NB: Must proceed with unique company code stated by RMU during registration. Can be found on the vendor dashboard
                    

Sample Request

curl --location 'https://test.api.rmuictonline.com/purchaseInfo' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic MTIyNDg1Nzk6VElBVjBRTUhD' \ --data '{ "ext_trans_id":"TRY2372736276", "branch_name":"Lapaz MTI" }'
                    

Sample Response

{ "resp_code": "001", "message": "successful", "data": { "app_number": "RMU-12235027", "pin_number": "UP64F9M83", "ext_trans_id": "TRY2372736276", "phone_number": "0241234567", "trans_dt": "2023-07-01 14:08:54" } }

Purchase Status

Use this to query an existing transaction to know the status of that transaction. This feature is useful in cases where you did not receive the purchase status from RMU Forms Online for a certain purchase request.

The table below presents the list of parameters that must be used in forming a Purchase Satus request from RMU Forms Online.

Fields Description Length DataType O/M
branch_name The branch of the company which is making the request String M
ext_trans_id Unique identifier for the transaction from you. This must be unique for each payment request you perform. Use this id to track the transaction on the RMU Forms Online. 15 - 20 String M
NB: Must proceed with unique company code stated by RMU during registration. Can be found on the vendor dashboard
                    

Sample Request

curl --location 'https://test.api.rmuictonline.com/purchaseStatus' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic MTIyNDg1Nzk6VElBVjBRTUhD' \ --data '{ "ext_trans_id":"TRY2372736276", "branch_name":"Lapaz MTI" }'
                    

Sample Response

{ "resp_code": "001", "message": "successful", "data": { "status": "COMPLETED", "ext_trans_id": "TRY2372736276", "trans_dt": "2023-07-01 14:08:54" } }

Send Purchase Info

Use this to query to send purchase Info to your customer. This feature is useful when you want to send the application login details to your customer via SMS and/or Email they have provided.

The table below presents the list of parameters that must be used in forming a Purchase Satus request from RMU Forms Online.

Fields Description Length DataType O/M
branch_name The branch of the company which is making the request String M
ext_trans_id Unique identifier for the transaction from you. This must be unique for each payment request you perform. Use this id to track the transaction on the RMU Forms Online. 15 - 20 String M
NB: Must proceed with unique company code stated by RMU during registration. Can be found on the vendor dashboard
                    

Sample Request

curl --location 'https://test.api.rmuictonline.com/sendPurchaseInfo' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic MTIyNDg1Nzk6VElBVjBRTUhD' \ --data '{ "ext_trans_id":"TRY2372736276", "branch_name":"Lapaz MTI" }'
                    

Sample Response

{ "resp_code": "001", "message": "successful" }

Custom Response Codes

Response Code Description
001 Successful
601 No Content-Type header provided
602 Only JSON-encoded requests are allowed
603 No Authorization header information
604 Basic Authorization required
605 Authorization credentials required
606 Invalid authorization credentials
607 Invalid endpoint
701 Request body has no parameters
702 Missing external transaction ID (ext_trans_id) in request body parameters
703 Invalid external transaction ID (ext_trans_id) in request body parameters
704 Invalid external transaction ID (ext_trans_id) length
705 Invalid external transaction ID (ext_trans_id) code
706 Missing branch name in request body parameters
707 Invalid branch name in request body parameters
708 Missing form type in request body parameters
709 Invalid form type in request body parameters
710 Missing customer first name in request body parameters
711 Invalid customer first name in request body parameters
712 Missing customer last name in request body parameters
713 Invalid customer last name in request body parameters
714 Missing customer email address in request body parameters
715 Invalid customer email address in request body parameters
716 Missing customer phone number in request body parameters
717 Invalid customer phone number in request body parameters
718 Missing transaction datetime in request body parameters
719 Invalid transaction datetime in request body parameters
720 Failed to send applicant login details via SMS
801 Forms are currently unavailable
802 No record found for this transaction ID
803 Duplicate transaction request
804 Invalid form type
805 Failed fetching vendor details for processing
806 Admission is currently closed
807 Purchase data required!
808 Failed saving purchase data!
809 Failed fetching purchase information
810 Failed to update login details!
811 Failed to save generated login details!