API Integration Manual
RESTful API - Browsing and testing shared services in API catalog
Why Nothi Integration Is Necessary?
Nothi or Electronic Filing System is a single online platform for 19,000 government offices and 150,000 officials to serve the 16 crore people of Bangladesh.
Generally, for the purpose of serving the people, if any kind of change and approval is required in the application coming from them, in that case, the concerned government office sends the application to the document system through their system for approval to its higher office authority.
There are several ways to submit this application, including directly, via email, or via an API (system to system). Nothi system informs the applicant system of the application status after receiving it, and the applicant system will periodically get the most recent status information from Nothi system.
Who can Integrate the API?
Government offices that provide services to citizen or organizations upon their request. They use their own system to provide that service. In some cases, the submitted application process requires the approval of other government departments. In that case they have to submit this application to the document through the system. Such offices need to integrate with their systems to facilitate and speed up their work.
API Integration Overview
The Nothi API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
The API integration documentation describes the REST APIs that are available in Nothi System.
Using REST endpoints
Learn how to submit application, get access token, and more using REST endpoints
- Access Token Endpoint
- Online Application Submission Endpoint
- Online Application Resubmission Endpoint
API Specification
Base URL for merchant APIs:
Stage Server: http://training.nothi.gov.bd
Production Server: https://www.api.nothi.gov.bd
Integration Portal Registration
To get user credentials need to submit a form. And after admin verify you will get an email with credentials. Below information need to provide for registration:
- System name.
- System IP.
- Corresponding email.
Integration Portal (Stage): http://registration-stage.nothi.org/
Integration Portal (Production): https://integration.nothi.gov.bd/
Authentication
All REST API calls need to have authentication token. More precisely, all http requests need to have an additional form data like below:
token: <API KEY>
Access API
To integrate, we need a username and password connect with e-nothi system, which is provided by e-nothi team. This API uses to get access token from e-nothi, which can use to GET data and POST data to e-nothi. The username is a unique name provided from e-nothi team.
URI | {baseurl}/apiAccess | ||||||
Method | POST | ||||||
Expected Request Content Type | application/json | ||||||
Expected Request Body |
|
||||||
Response Content Type |
|
Request fields
Field name | Type | Mandatory | Details |
---|---|---|---|
username | String | Yes | The username is provided by e-nothi and username type is string. |
password | String | Yes | The password is provided by e-nothi. |
Response fields
Field name | Type | Details |
---|---|---|
status | String | If all data are correct, user get a success . Otherwise, user
get an error and error status details in message parameter.
|
token | String | If all data are correct, user get a success status and token. |
msg | String | Not a registered access!!! Please register your api access |
ip | String | Need to register your system IP address. |
Submit Online Application API
apiOnlineApplication send "Nagorik Dak" to e-nothi system:
URI | {baseurl}/apiOnlineApplication | ||||||
Method | POST | ||||||
Expected Request Content Type | application/json | ||||||
Expected Request Body |
|
||||||
Response Content Type |
|
Request fields
Field name | Type | Length | Mandatory | Details |
---|---|---|---|---|
token | String | Yes | Token acquired from apiAccess API. | |
nothi_service_id | Integer | Yes | It’s a mandatory field and available from the Nothi service portal. Application nothi_service_id must be unique for each service. | |
nothi_service_name | String | Yes | Service Name | |
office_id | Integer | 10 | Yes | Application receiving office id. |
user_id | Integer | 15 | Yes | Unique id of the user. |
data | String | Yes | Can be HTML or text. Works as the main body of the application. | |
api_client | String | Yes | username of apiAccess API. | |
applicant_name | String | 250 | Yes | Name of the applicant. |
application_subject | String | 250 | Yes | This is the subject of application. Application subject must be unique. |
fdesk | Integer | 10 | Yes | If there is no predefined receiver, then the Dak goes to the front desk
officer of the office. fdesk field contains the office unit organogram id of the frontdesk officer. You should use a field from the front-desk and the receiver |
receivers | JSON | Yes | If there is predefined receiver, then receiver field contains the office unit organogram id of the prapok and onulipi in JSON format. There can be only one prapok. Onulipi can be multiple. You should use a field from the front-desk and the receiver |
|
potro_receivers | JSON | No | If there is predefined template, and the template has predefined receivers, then the information give here in JSON format. There can be multiple onulipi, and one approver. | |
tracking_id | Integer | 250 | No | Tracking ID for tracking the application. |
mobile_no | Integer | 15 | No | Mobile number of the applicant. |
national_identity_no | Integer | 20 | No | NID number of the applicant. |
attachments | String | name: 250 | No | Each attachment has two part. One part of file name and another part of attachment URL. |
feedback_url | String | No | This URL is used to send Nothi Activity information as feedback for the corresponding Dak. | |
decision | JSON | No | If there is any predefined action/decision for the corresponding Dak, this field contains the data in JSON format. | |
feedback_api_key | String | No | This key is reference from feedback_url. |
Response fields
Field name | Type | Details |
---|---|---|
status | String | If all data are correct, user get a success . Otherwise, user
get an error and error status details in message parameter.
|
data | JSON | All Requested Data. |
sender_name | String | Application Sender Name. |
name_bng | String | Application Sender Name. |
dak_type_id | Integer | The id of application types. Daptorik application id is: 1 & Nagorik application id is: 2. |
docketing_no | Integer | Docketing no. of the application. |
application_origin | String | username of apiAccess API. |
dak_subject | String | Subject of the application. |
message | String | Confirmation message with dak_received_no no. |
Resubmit Online Application API
apiResubmitApplication send "Nagorik Dak" to e-nothi system:
URI | {baseurl}/apiResubmitApplication | ||||||
Method | POST | ||||||
Expected Request Content Type | application/json | ||||||
Expected Request Body |
|
||||||
Response Content Type |
|
Request fields
Field name | Type | Mandatory | Details | |
---|---|---|---|---|
token | String | Yes | Token acquired from apiAccess API. | |
nothi_service_id | Integer | Yes | It’s a mandatory field and available from the Nothi service portal. Application nothi_service_id must be unique for each service. | |
office_id | Integer | 10 | Yes | Application receiving office id. |
user_id | Integer | 15 | Yes | Unique id of the user. |
data | String | Yes | Can be HTML or text. Works as the main body of the application. | |
api_client | String | Yes | username of apiAccess API. | |
applicant_name | String | 250 | Yes | Name of the applicant. |
application_subject | String | 250 | Yes | This is the subject of application. Application subject must be unique. |
fdesk | Integer | 10 | Yes | If there is no predefined receiver, then the Dak goes to the front desk officer of the office. fdesk field contains the office unit organogram id of the officer. |
receivers | JSON | Yes | If there is predefined receiver, then receiver field contains the office unit organogram id of the prapok and onulipi in JSON format. There can be only one prapok. Onulipi can be multiple. | |
tracking_id | Integer | 250 | No | Tracking ID for tracking the application. |
mobile_no | Integer | 15 | No | Mobile number of the applicant. |
national_identity_no | Integer | 20 | No | NID number of the applicant. |
attachments | String | name: 250 | No | Each attachment has two part. One part of file name and another part of attachment URL. |
feedback_url | String | No | This URL is used to send Nothi Activity information as feedback for the corresponding Dak. | |
feedback_api_key | String | No | This key is reference from feedback_url. | |
decision | JSON | No | If there is any predefined action/decision for the corresponding Dak, this field contains the data in JSON format. |
Response fields
Field name | Type | Details |
---|---|---|
status | String | If all data are correct, user get a success . Otherwise,
user
get an error and error status details in message parameter.
|
dak_received_no | Integer | Application received no. |
dak_id | Integer | Application Id. |
current_desk_id | Integer | Application receiver id. |
nothi_id | Integer | Requested nothi id. |
note_id | Integer | Requested note id. |
potro_id | Integer | Requested potro id. |
requested_data | JSON | All Requested data. |
message | String | Confirmation message with dak_received_no no. |
Resubmit Online Application API
apiResubmitApplication send "Nagorik Dak" to nothi system:
URI | {baseurl}/api/resubmit-application | ||||||
Method | POST | ||||||
Expected Request Content Type | application/json | ||||||
Expected Request Body |
|
||||||
Response Content Type |
|
Request fields
Field name | Type | Length | Mandatory | Details |
---|---|---|---|---|
token | String | Yes | Token acquired from apiAccess API. | |
nothi_service_id | Integer | Yes | It’s a mandatory field and available from the Nothi service portal. Application nothi_service_id must be unique for each service. | |
nothi_service_name | String | Yes | Service Name | |
office_id | Integer | 10 | Yes | Application receiving office id. |
receipt_no | Integer | 20 | Yes | Main application dak_received_no |
user_id | Integer | 15 | Yes | Unique id of the user. |
data | String | Yes | Can be HTML or text. Works as the main body of the application. | |
api_client | String | Yes | username of apiAccess API. | |
applicant_name | String | 250 | Yes | Name of the applicant. |
application_subject | String | 250 | Yes | This is the subject of application. Application subject must be unique. |
fdesk | Integer | 10 | Yes | If there is no predefined receiver, then the Dak goes to the front desk
officer of the office. fdesk field contains the office unit organogram id of the frontdesk officer. You should use a field from the front-desk and the receiver |
receivers | JSON | Yes | If there is predefined receiver, then receiver field contains the office unit organogram id of the prapok and onulipi in JSON format. There can be only one prapok. Onulipi can be multiple. You should use a field from the front-desk and the receiver |
|
potro_receivers | JSON | No | If there is predefined template, and the template has predefined receivers, then the information give here in JSON format. There can be multiple onulipi, and one approver. | |
tracking_id | Integer | 250 | No | Tracking ID for tracking the application. |
mobile_no | Integer | 15 | No | Mobile number of the applicant. |
national_identity_no | Integer | 20 | No | NID number of the applicant. |
attachments | String | name: 250 | No | Each attachment has two part. One part of file name and another part of attachment URL. |
feedback_url | String | No | This URL is used to send Nothi Activity information as feedback for the corresponding Dak. | |
decision | JSON | No | If there is any predefined action/decision for the corresponding Dak, this field contains the data in JSON format. | |
feedback_api_key | String | No | This key is reference from feedback_url. |
Response fields
Field name | Type | Details |
---|---|---|
status | String | If all data are correct, user get a success . Otherwise,
user
get an error and error status details in message parameter.
|
dak_received_no | Integer | Application received no. |
dak_id | Integer | Application Id. |
current_desk_id | Integer | Application receiver id. |
nothi_id | Integer | Requested nothi id. |
note_id | Integer | Requested note id. |
potro_id | Integer | Requested potro id. |
requested_data | JSON | All Requested data. |
message | String | Confirmation message with dak_received_no no. |