The turn-io-adapter service is a wrapper to transform the Reap Benefit request format to the DIGIT PGR request format. This service has a transform API that constructs the required PGR request from the request message sent from the Reap Benefit system. Reap Benefit system consumes the transform API to communicate with the DIGIT PGR module.
In this process, once a complaint is created it sends a WhatsApp message to the citizen with a track link. Whenever some action is taken by ULB employees on complaints, a WhatsApp message is sent to citizens.
Before you proceed with the configuration, make sure the following pre-requisites are met -
Add name filed in complaint category master in PGR. Link for the data -
Push the localisation data for all the locality data with the module as rainmaker-chatbot. Sample localisation object -
Copy curl --location --request POST 'https://dev.digit.org/turn-io-adapter/_transform' \
--header 'Content-Type: application/json' \
--data-raw '{
"contacts": [
{
"profile": {
"name": "Rohit"
},
"wa_id": "9199999999992"
}
],
"messages": [
{
"_vnd": {
"v1": {
"author": {
"id": "917391904467",
"name": "The_Subtle_Guy",
"type": "OWNER"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "inbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:33.809218Z",
"labels": [],
"rendered_content": null
}
},
"from": "917391904467",
"id": "ABEGkXORkERnAhBOXKjR8Jyyk-Iar8Gd2yeo",
"text": {
"body": "4"
},
"timestamp": "1621452093",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "fc89d3d7-bcab-4734-a82f-bf06fa99a980",
"name": "Complaint Selection",
"type": "THREAD"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "outbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:35.313898Z",
"labels": [],
"rendered_content": null
}
},
"from": "15550152059",
"id": "gBEGkXORkERnAglCxuTiC7G_ERg",
"preview_url": false,
"recipient_type": "individual",
"text": {
"body": "Please provide landmark or additional details of your locality.\\nOtherwise type and send *No*"
},
"timestamp": "1621452095",
"to": "917391904467",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "917391904467",
"name": "The_Subtle_Guy",
"type": "OWNER"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "inbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:40.701184Z",
"labels": [
{
"confidence": 0.3339659565,
"metadata": {
"nlu": {
"confidence": 0.3339659565,
"intent": "await_reply",
"model_name": "nlu-general-spacy-ngrams-20191014"
}
},
"uuid": "df376fa2-9358-4088-a6d0-8f3db031158b",
"value": "Unclassified"
}
],
"rendered_content": null
}
},
"from": "917391904467",
"id": "ABEGkXORkERnAhBgzXDW_hlyiVg_IS6NxTMH",
"text": {
"body": "No"
},
"timestamp": "1621452100",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "fc89d3d7-bcab-4734-a82f-bf06fa99a980",
"name": "Complaint Selection",
"type": "THREAD"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "outbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:41.297301Z",
"labels": [],
"rendered_content": null
}
},
"from": "15550152059",
"id": "gBEGkXORkERnAgnMDgDG2-YCOv0",
"preview_url": false,
"recipient_type": "individual",
"text": {
"body": "Please enter the category of your issue from the options given below.\\n\\n1. Garbage\\n2. Street Lights\\n3. Water and Sewerage\\n4. Roads And Footpaths\\n5. Public Toilets\\n6. Land Violations\\n7. Animals and Insect"
},
"timestamp": "1621452101",
"to": "917391904467",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "917391904467",
"name": "The_Subtle_Guy",
"type": "OWNER"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "inbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:44.672489Z",
"labels": [],
"rendered_content": null
}
},
"from": "917391904467",
"id": "ABEGkXORkERnAhARhnoBHV4O_DOlR9CNENoq",
"text": {
"body": "1"
},
"timestamp": "1621452104",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "fc89d3d7-bcab-4734-a82f-bf06fa99a980",
"name": "Complaint Selection",
"type": "THREAD"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "outbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:46.759132Z",
"labels": [],
"rendered_content": null
}
},
"from": "15550152059",
"id": "gBEGkXORkERnAgnskmr3neFP1ec",
"preview_url": false,
"recipient_type": "individual",
"text": {
"body": "Pick a issue from the options given below which describes closest to what you are facing.\\n\\n1. Garbage Needs To be Cleared\\n2. Damaged Garbage Bin\\n3. Burning Of Garbage"
},
"timestamp": "1621452106",
"to": "917391904467",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "917391904467",
"name": "The_Subtle_Guy",
"type": "OWNER"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "inbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:51.967923Z",
"labels": [],
"rendered_content": null
}
},
"from": "917391904467",
"id": "ABEGkXORkERnAhBhofKX9wPf4-6xzUNnNJ5x",
"text": {
"body": "2"
},
"timestamp": "1621452111",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "fc89d3d7-bcab-4734-a82f-bf06fa99a980",
"name": "Complaint Selection",
"type": "THREAD"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "outbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:53.336395Z",
"labels": [],
"rendered_content": null
}
},
"from": "15550152059",
"id": "gBEGkXORkERnAglgp1wnhrkeJb0",
"preview_url": false,
"recipient_type": "individual",
"text": {
"body": "Please select from below option\\n\\n1. To submit complaint details\\n2. To re-enter the complaint details"
},
"timestamp": "1621452113",
"to": "917391904467",
"type": "text"
},
{
"_vnd": {
"v1": {
"author": {
"id": "917391904467",
"name": "The_Subtle_Guy",
"type": "OWNER"
},
"chat": {
"assigned_to": null,
"owner": "+917391904467",
"permalink": "https://app.turn.io/c/ac1ad367-1631-41b8-a29c-024ed19c1547",
"state": "OPEN",
"state_reason": "Re-opened by inbound message.",
"unread_count": 21,
"uuid": "ac1ad367-1631-41b8-a29c-024ed19c1547"
},
"direction": "inbound",
"faq_uuid": null,
"in_reply_to": null,
"inserted_at": "2021-05-19T19:21:58.364053Z",
"labels": [],
"rendered_content": null
}
},
"from": "917391904467",
"id": "ABEGkXORkERnAhCpESguA5JfsAlvKVTgoD0H",
"text": {
"body": "1"
},
"timestamp": "1621452118",
"type": "text"
}
],
"thread": {
"contact": {
"arts": null,
"birthday": null,
"city": "pb.amritsar",
"cityset": true,
"complaint_category": "Garbage",
"complaint_image": "No",
"complaint_sub_category": "Dirty Water Supply",
"complaintset": false,
"complaintsetvalue": "To submit complaint details",
"language": null,
"locality": "JLC833",
"localityset": true,
"location": null,
"math": null,
"name": null,
"opted_in": false,
"opted_in_at": null,
"space": null,
"surname": null,
"whatsapp_id": "917391904467",
"whatsapp_profile_name": "Rohit"
}
},
"RequestInfo": {
"userInfo": {
"id": 23342,
"uuid": "f212e8aa-53ba-456f-9013-89fb806dc24b",
"userName": "7878787878",
"name": "Aditya",
"mobileNumber": "7878787878",
"emailId": "",
"locale": "en_IN",
"type": "CITIZEN",
"roles": [
{
"name": "Citizen",
"code": "CITIZEN",
"tenantId": "pb"
}
],
"active": true,
"tenantId": "pb",
"permanentCity": "pb.amritsar"
}
}
}'
Turn-io-adapter is integrated with Rainmaker-pgr application. Turn-io-adapter application internally invokes the rainmaker-pgr service to generate complaints.