Skip to content

Pin Subscription API

This api allows user to subscribe an MSISDN on demand, upon successful verification of a SMS PIN number . MSISDN will not be subscribed to the application if incorrect PIN is entered.

API Flow is as below,
1.Send Subscribe Request and capture the server reference serverRef
2.Submit PIN use the PIN entered by user and the serverRef to get subscription status

Requirements

Authorization API calls
All API call request to ideabiz.lk required Authorization headers. Please refer the Token Management (http://docs.ideabiz.lk/Getting_Started/Token_Manegment) document for Authorization.

Request Header

Content-Type: application/json 
Authorization: Bearer [access token] 
Accept: application/json

Sample Request Header

Content-Type: application/json 
Authorization: Bearer a92ba8hjgjhgjh3fa1609cabcd79
Accept: application/json

Subscribe Request

URL

https://ideabiz.lk/apicall/pin/subscription/v1/subscribe

Method

POST

Request

{
    "method":"AndroidApp",
    "msisdn":"94777339033"
}

Response

{
  "statusCode": "SUCCESS",
  "message": null,
  "data": {
    "status": "PENDING_AUTH",
    "serverRef": "f07927b4030048be99dc051314b5f40e",
    "msisdn": "tel:+94777339033",
    "method": "ANC"
  }
}

Request for Micro Services (Subscriptions)

Request

{
    "method":"AndroidApp",
    "msisdn":"94777339033",
    "serviceId" : "xxxxx-xxxx-xxxxxx"
}

Response

{
  "statusCode": "SUCCESS",
  "message": null,
  "data": {
    "status": "PENDING_AUTH",
    "serverRef": "f07927b4030048be99dc051314b5f40e",
    "msisdn": "tel:+94777339033",
    "serviceId" : "xxxx-xxxx-xxxxxxx",
    "method": "ANC"
  }
}

Submit PIN

URL

https://ideabiz.lk/apicall/pin/subscription/v1/submitPin

Method

POST

Request

{
  "pin": "520972",
  "serverRef": "958e39b574a042c290e6019f0590e7f5"
}

Sample Error Responses

{
  "statusCode": "ERROR",
  "message": "Wrong PIN",
  "data": null
}
{
  "statusCode": "ERROR",
  "message": "Max attempt exceeded",
  "data": null
}
{
    "statusCode": "ERROR",
    "message": "Max pin sent per MSISDN in 1min reached for  947xxxxxxxx",
    "data": null
}
{  
   "statusCode":"ERROR",
   "message":"Number not allowed. Blacklisted for all services 947xxxxxxxx",
   "data":null
}

Insufficient Balance Response

{
    "statusCode": "SUCCESS",
    "message": "Subscription Status",
    "data": {
        "status": "INSUFFICIENT_BALANCE",
        "serverRef": "49131c41cb00476b9d29ed52a0b07f51",
        "msisdn": "tel:+94768061510",
        "method": "WTEL: AndroidApp",
        "description": null,
        "pinMeta": null,
        "serviceId": null
    }
}

Sample Success Response

{
  "statusCode": "SUCCESS",
  "message": "Subscription Status",
  "data": {
    "status": "SUBSCRIBED",
    "serverRef": "8f27e17b51de4b64baa6cd5525506516",
    "msisdn": "tel:+94777123456",
    "method": "ANC"
  }
}

Detailed PIN Request

this is same request as above, but include pinMeta data. You can send more details about user. It will help Ideabiz team to support for customer queries

URL

https://ideabiz.lk/apicall/pin/subscription/v1/subscribe

Method

POST

Body

{
  "method": "AndroidApp",
  "msisdn": "94777339033",
  "pinMeta": {
    "client": "WEBBROWSER",
    "device": "iPhone",
    "version": "6",
    "appCode": "lk.ideabiz.app.web",
    "headers": "",
    "remoteRef": "m@2.com",
    "utmSource": "http://abc.com/asa",
    "IP": "1.1.1.1"
  }
}
Parameter Name Description Type Mandatory /Optional
client Client type. values will be WEBBROWSER,MOBILEAPP . string Mandatory
device Type/OS of device iPhone 6,Galaxy S5,PC . string Mandatory
version OS/Device version Android 6 , iOS 5, Windows 10 . string Mandatory
appCode If you use app in store, your app identifier. if you use web browser, web url lk.ideabiz.app.web or https://widget.ideabiz.lk/xxxxx . string Mandatory
headers Any special headers or data. For multiple data, use ; to seperate . string Mandatory
remoteRef If you have username/email for this user in your system or User specific identifier, sent it here. . string Mandatory
utmSource If user installed your app via any referal, send it here. How to catch referal in android : https://android-developers.googleblog.com/2017/11/google-play-referrer-api-track-and.html or https://developer.android.com/google/play/installreferrer/library.html for web, pass referal header to us. . string Mandatory
IP Client/User original IP . string Mandatory