ISP - any business that takes services from us, they can onboard enterprises

enterprise - any enterprise of aggregator taking their services from us

msp - optional, will not be given to everyone, he is a master and can have multiple aggregators(ISPs) within them 



As of now this TSP part is only being managed by twixor team, RCM & PMO team directly, this is just an additional info shared below for reference.


In case any issues are raised pertaining to TSP, please pass it on to PMO team or speak to prashant /sachin





URL for login - 

https://messaginghub.solutions/master/login






If anyone faces the issues with wallet, the amount is needed to be added using the above panel itself


The public API and tsp features should be activated in the ERP for the designated esmeaddr or Super Admin account. The same can be checked in custom feature table in back-end. Without this the TSP APIs will not work.



For creation and service assigning to any user account once the above requirement is fulfilled, the next steps should be followed


Step 1 

The API key will be generated by the customer using the PowerApi module within the lounge.





Step 2


Generating Authorization Tokens


The token is authentication mechanism to access the API server to perform specific actions. To generate this token, use the following API.

Endpoint URL

POST https://tsp.instaalerts.zone/token/generate

Request body

{     "api_key" : "4SLKrCqY4bsVX7GN/IVAbw==" }

Success Response body

{     "validity": 1440,     "token": "erJhbGciOiJSUkI..." }




Step 3 For creating account


Create account

Utilize the generated token as an authentication mechanism to create a user account. The token serves as a key to access the API server and initiate the account creation process.


End Point URL

POST https://tsp.instaalerts.zone/usermgmt/createAccount

Header

Content-Type: application/json

Authorization: Bearer {{Generated token}}

Request body

    "userName": "DeerajTeasasast12",     "mobileno": 123232334,     "email": "deij@ijfd.com" }

Success response body

    "status": "SUCCESS",     "reason": "User created Successfully. ",     "serviceCount": 3,     "services": [         {             "service": "API",             "serviceName": "Power API",             "relevantMedia": "EMail,SMS,USSD,Voice,RCM",             "orderIndex": "3"         },         {             "service": "Konverse",             "serviceName": "Konverse",             "relevantMedia": "RCM",             "orderIndex": "26"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "CampaignManager",             "subServiceName": "Campaign Manager",             "subServiceType": "Multiple",             "permission": "C,M,S",             "permType": "Multiple",             "permName": "Create Campaigns, Manage Campaigns, Send Campaigns",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "WebhookConfig",             "subServiceName": "Webhook Config",             "subServiceType": "Multiple",             "permission": "C,D",             "permType": "Multiple",             "permName": "Create Webhook Config, Delete Webhook Config",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "TemplateManagement",             "subServiceName": "Template Management",             "subServiceType": "Multiple",             "permission": "C,V,D",             "permType": "Multiple",             "permName": "Create Templates, View Templates, Delete Templates",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "Profiles",             "subServiceName": "Profiles",             "subServiceType": "Multiple",             "permission": "M",             "permName": "Manage Profiles",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "EmbeddedSignUp",             "subServiceName": "Embedded Sign-up",             "subServiceType": "Multiple",             "permission": "M",             "permName": "Manage Signup",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "Reports",             "subServiceName": "Reports",             "subServiceType": "Multiple",             "permission": "M",             "permName": "Manage Reports",             "relevantMedia": "RCM",             "orderIndex": "27"         }     ],     "api_key" : "XXXXXXXXXXXXXXXXX" }

API Key Error response body

    "status": "SUCCESS",     "reason": "User created Successfully. ",     "serviceCount": 3,     "services": [         {             "service": "API",             "serviceName": "Power API",             "relevantMedia": "EMail,SMS,USSD,Voice,RCM",             "orderIndex": "3"         },         {             "service": "Konverse",             "serviceName": "Konverse",             "relevantMedia": "RCM",             "orderIndex": "26"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "CampaignManager",             "subServiceName": "Campaign Manager",             "subServiceType": "Multiple",             "permission": "C,M,S",             "permType": "Multiple",             "permName": "Create Campaigns, Manage Campaigns, Send Campaigns",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "WebhookConfig",             "subServiceName": "Webhook Config",             "subServiceType": "Multiple",             "permission": "C,D",             "permType": "Multiple",             "permName": "Create Webhook Config, Delete Webhook Config",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "TemplateManagement",             "subServiceName": "Template Management",             "subServiceType": "Multiple",             "permission": "C,V,D",             "permType": "Multiple",             "permName": "Create Templates, View Templates, Delete Templates",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "Profiles",             "subServiceName": "Profiles",             "subServiceType": "Multiple",             "permission": "M",             "permName": "Manage Profiles",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "EmbeddedSignUp",             "subServiceName": "Embedded Sign-up",             "subServiceType": "Multiple",             "permission": "M",             "permName": "Manage Signup",             "relevantMedia": "RCM",             "orderIndex": "27"         },         {             "service": "WhatsAppCampaignGUI",             "serviceName": "WhatsAppCampaignGUI",             "subService": "Reports",             "subServiceName": "Reports",             "subServiceType": "Multiple",             "permission": "M",             "permName": "Manage Reports",             "relevantMedia": "RCM",             "orderIndex": "27"         }     ],     "error" : "API key generation Failed. Please try again" }


Failure Response body

    "status": "FAILURE",     "reason": "ERR-502 - User name :  DeerajTest12da Cannot be created" }




Step 4  AllocateResource


Endpoint URL

POST https://tsp.instaalerts.zone/usermgmt/allocateResource

Header

Content-Type: application/json

Authorization: Bearer {{Generated token}}

Request body

{     "toUsername": "sandtsp_te2",     "waba_id": 109326882081092,     "phone_display_id": 916382787264,     "sender_id": 917391093716,     "display_name": "Sample Number",     "channel": "Whatsapp",     "webhook": {         "MO": {             "url": "www.googlet.com",             "httpHeaders": "Content-Type=application/JSON ",             "retryCount": "2",             "retryDelayInSec": "2"         },         "DLR": {             "url": "www.googlet.com",             "httpHeaders": "Content-Type1=application/JSON ",             "retryCount": "2",             "retryDelayInSec": "2",             "eventCategory": [                 "Queued",                 "Sent",                 "Delivered",                 "Read"             ],             "defaultRule": "1"         }     } }

Success response body

{     "status": "SUCCESS",     "moRuleId": 121221,     "dlrRuleId" : 121232,     "reason": "Successfully Assigned the resource to Account" }

Line of credits, Create MO, Create DLR Failed

{     "status": "SUCCESS",     "reason": "Successfully Assigned the resource to Account but credits allocation, Create DLR and Create MO failed" }

Failure response body

{     "status": "FAILURE",     "reason": "ERR-501 - SenderId is already to subscribed" }


Step 5 (If required) TransferResource


The TransferResource API is facilitates the seamless transfer of existing sender IDs. Initially, these sender IDs are associated with the main or admin username. However, they can be efficiently transferred to a different username that belongs to a sub-account under the Karix. This API provides an effective mechanism for aggregators to delegate responsibilities and maintain control over the distribution of sender IDs within their sub-accounts. It plays a crucial role in enhancing operational efficiency and flexibility in the management of sender IDs.



Endpoint URL

POST https://tsp.instaalerts.zone/usermgmt/transferResource

Header

Content-Type: application/json

Authorization: Bearer {{Generated token}}

Request body

{     "fromUsername": "unitst2",     "toUsername": "DeerajTest12fa",     "senderids": {         "channel": "WhatsApp",         "senderid": 9999999999     } }

Success response body

    "status": "SUCCESS",     "reason": "Successfully transferred the senderids" }

Failure Response body

{     "status": "FAILURE",     "reason": "ERR-503 - Please try again" }





Recorded session
Recap: Messaging Hub Platform Capability Presentation - MSP/ISV and Enterprise Level 11 April