Last modified by Rayaan Ahmed on 2025/02/09 22:20

From version 10.1
edited by Rayaan Ahmed
on 2024/02/27 18:43
Change comment: There is no comment for this version
To version 15.1
edited by Rayaan Ahmed
on 2025/02/09 22:20
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -58,6 +58,7 @@
58 58  11. Get specific engagement by engagement id
59 59  11. Create Engagements
60 60  11. Update Engagements
61 +11. Add options to metric for an engagement
61 61  11. Add users data to Engagement
62 62  1. Segments
63 63  11. Get all Segments
... ... @@ -147,13 +147,13 @@
147 147  === **COMPONENT: Users** ===
148 148  
149 149  (% class="western" %)
150 -Users means the customers of your system. Users can be added, updated and searched for using the users resource from the api. For lookup, If a return parameter is specified Users object will have those fields. If nothing is specified by default only UserId is returned.
151 +Users means the customers of your system. Users can be added, updated and searched for using the users resource from the api. For lookup, If a return parameter is specified Users JSON object will have those fields. If nothing is specified by default only UserId is returned.
151 151  
152 152  (% class="western" %)
153 153  Additionally (Array of) transaction object specifying parts of the transaction to be added to the new user can be specified. UserId, TransactionId and SubscriptionType will be ignored if specified for this case. As this is new user and new transaction is being added.
154 154  
155 155  (% class="western" %)
156 -In this case the provided demographic information in users object will be used to create a new user in ONEcount and then a response will be generated. Before creating a new user, a check for duplicate will be performed based on Dedupe columns and if found, and error code will be generated.
157 +In this case the provided demographic information in users JSON object will be used to create a new user in ONEcount and then a response will be generated. Before creating a new user, a check for duplicate will be performed based on Dedupe columns and if found, and error code will be generated.
157 157  
158 158  (% class="western" %)
159 159  If username and password is not one of the parameters being passed, then a random username and password will be generated for the user while creating his user account in ONEcount.
... ... @@ -235,7 +235,25 @@
235 235  Create a new users
236 236  
237 237  (% class="western" %)
238 -Parameters required to create the user needs to be sent as post data in JSON format.
239 +Parameters required to create the user needs to be sent as post data in JSON format. Below is the example of data
240 +\\Example:
241 +
242 +(% class="western" %)
243 +{"Users":{"PartnerId":1,"Demo":{"1":"rayaan@onecount.net","4":"Rayaan","5":"Ahmed"}},"DedupeColumns":"1","Transactions":[],"Return":"4,5,1"}
244 +
245 +
246 +(% class="western" %)
247 +1) PartherId is required, this can be any integer value.
248 +
249 +(% class="western" %)
250 +2) Demo is required it contains JSON object of user demographic information key as demo id and value as actual information of user.
251 +
252 +(% class="western" %)
253 +3) DedupeColumn is required, this contains demo id as value, used to check duplicate user based on demo id.
254 +
255 +(% class="western" %)
256 +4) Transactions is required, If user does not have any transaction pass empty array if user has a transaction pass transaction JSON object. please refer transaction API body for JSON object.
257 +
239 239  )))
240 240  |(% style="text-align:left; vertical-align:top" %)(% style="text-align: left;vertical-align: top;" %)
241 241  (((
... ... @@ -311,10 +311,6 @@
311 311  
312 312  ----
313 313  
314 -{{panel bgColor="#D3D3D3" width="100%"}}
315 -(% class="nolink nolink" %)https:~/~/api.onecount.net/v2/users
316 -{{/panel}}
317 -
318 318  === (% class="core-title" style="color:#212121" %)Request Headers(%%) ===
319 319  
320 320  ----
... ... @@ -849,12 +849,6 @@
849 849  
850 850  ----
851 851  
852 -{{panel bgColor="#D3D3D3" width="100%"}}
853 - (% class="nolink nolink" %)https:~/~/api.onecount.net/v2/users/(% style="color:#212121" %)~{~{OCID}}
854 -{{/panel}}
855 -
856 -=== (% class="core-title" style="color:#212121" %)Request Headers(%%) ===
857 -
858 858  ----
859 859  
860 860  (% class="Text__TextContainer-sc-1kqigik-0 cEvDCP iauueY item-key sc-fznXWL" style="color:#212121" %)Appkey                                                                                                 (% class="Text__TextContainer-sc-1kqigik-0 iYynAw" style="color:#212121" %)~{~{ONECOUNT API KEY}}
... ... @@ -947,10 +947,6 @@
947 947  
948 948  ----
949 949  
950 -{{panel bgColor="#D3D3D3" width="100%"}}
951 - (% class="nolink nolink" %)https:~/~/api.onecount.net/v2/users(% class="nolink" style="color:#212121" %)/login
952 -{{/panel}}
953 -
954 954  === (% class="core-title" style="color:#212121" %)Request Headers(%%) ===
955 955  
956 956  ----
... ... @@ -1021,10 +1021,6 @@
1021 1021  
1022 1022  ----
1023 1023  
1024 -{{panel bgColor="#D3D3D3" width="100%"}}
1025 -(% class="nolink nolink" %)https:~/~/api.onecount.net/v2/users(% class="nolink" style="color:#212121" %)/lookup?2=user_242_6298&return=1,2,3,4
1026 -{{/panel}}
1027 -
1028 1028  === (% class="core-title" style="color:#212121" %)Request Headers(%%) ===
1029 1029  
1030 1030  ----
... ... @@ -1101,10 +1101,6 @@
1101 1101  
1102 1102  ----
1103 1103  
1104 -{{panel bgColor="#D3D3D3" width="100%"}}
1105 -(% class="nolink nolink" %)https:~/~/api.onecount.net/v2(% class="nolink" style="color:#212121" %)/users/~{~{OCID}}/partners/~{~{Partner id}}
1106 -{{/panel}}
1107 -
1108 1108  === (% class="core-title" style="color:#212121" %)Request Headers(%%) ===
1109 1109  
1110 1110  ----
... ... @@ -1116,11 +1116,7 @@
1116 1116  
1117 1117  ----
1118 1118  
1119 -{{panel bgColor="#D3D3D3" width="100%"}}
1120 -(% class="nolink nolink" %)https:~/~/api.onecount.net/v2/users
1121 -{{/panel}}
1122 1122  
1123 -
1124 1124  (% class="western" %)
1125 1125  **POST method should be used to create users.**
1126 1126  
... ... @@ -1149,7 +1149,7 @@
1149 1149  )))|(% style="text-align:left; vertical-align:top" %)(% style="text-align: left;vertical-align: top;" %)
1150 1150  (((
1151 1151  (% class="western" %)
1152 -Users object that contains information about user to create. PartnerId Needs to be specified.
1145 +Users object that contains information about user to create. PartnerId Needs to be specified. PartnerId is any integer value.
1153 1153  )))
1154 1154  |(% style="text-align:left; vertical-align:top" %)(% style="text-align: left;vertical-align: top;" %)
1155 1155  (((
... ... @@ -1289,11 +1289,7 @@
1289 1289  
1290 1290  ----
1291 1291  
1292 -{{panel bgColor="#D3D3D3" width="100%"}}
1293 - (% class="nolink nolink" %)https:~/~/api.onecount.net/v2/users/~{~{OCID(% class="nolink" %)}}
1294 -{{/panel}}
1295 1295  
1296 -
1297 1297  (% class="western" %)
1298 1298  **PUT method should be used to update users.**
1299 1299  
... ... @@ -1621,6 +1621,9 @@
1621 1621  
1622 1622  (% class="western" %)
1623 1623  JSON of the Questions type object needs to be sent as post data. Id field is mandatory for update.
1613 +
1614 +(% class="western" %)
1615 +NOTE: While updating a select and checkbox type question you need to pass complete set of Choices for that question including the one which are already existing. If not the choices will be overwritten from the choices from the body.
1624 1624  )))
1625 1625  
1626 1626  (% id="HGETAllQuestions" style="margin-left: 0.0px;" class="sc-fznLPX cxTVKx" %)
... ... @@ -8136,8 +8136,9 @@
8136 8136  (% id="HPUTUpdatequestion" style="margin-left: 0.0px;" class="sc-fznLPX cxTVKx" %)
8137 8137  == (% class="documentation-core-item-request-name jbmEtY sc-fzomuh" style="color:#0053b8" %)PUT (% class="documentation-core-item-request-name jbmEtY sc-fzomuh" style="color:#212121" %)Update question(%%) ==
8138 8138  
8139 -----
8140 8140  
8132 +NOTE: While updating a select and checkbox type question you need to pass complete set of Choices for that question including the one which are already existing. If not the choices will be overwritten from the choices from the body.
8133 +
8141 8141  {{panel bgColor="#D3D3D3" width="100%"}}
8142 8142   (% class="nolink" %)https:~/~/api.onecount.net/v2(% style="color:#212121" %)/questions/~{~{QUESTION ID}}
8143 8143  {{/panel}}
... ... @@ -10142,11 +10142,101 @@
10142 10142  }
10143 10143  {{/code}}
10144 10144  
10138 +(% id="HGETspecificResource" style="margin-left: 0.0px;" class="sc-fznLPX cxTVKx" %)
10139 +== (% class="imuBmi sc-fzoaKM" id="cke_bm_37074S" style="color:#007f31; display:none" %) (% class="imuBmi sc-fzoaKM" style="color:#007f31" %)GET(% class="imuBmi sc-fzoaKM" style="color:#212121" %) users, resource id and request date based on subscription type and start date(%%) ==
10145 10145  
10141 +----
10142 +
10143 +
10144 +This API will pull all the users, resource id and request date based on subscription type and start date. There are 3 types of subscription type (n, r, u) where
10145 +
10146 +n = New subscription
10147 +
10148 +r = Renew subscription
10149 +
10150 +u = unsubscribe
10151 +
10152 +start date is used to pull users who has subscription activity from the start date to current date(todays date) you can go only past 30days as a start date.
10153 +
10154 +{{panel bgColor="#D3D3D3" width="100%"}}
10155 + (% class="nolink" %)https:~/~/api.onecount.net/v2(% style="color:#212121" %)/resources(%%)/analytics?type=~{~{Subscription Type}}&start_date=~{~{Start Date}}
10156 +{{/panel}}
10157 +
10158 +=== (% class="core-title" style="color:#212121" %)Request Headers(%%) ===
10159 +
10160 +----
10161 +
10162 +(% class="Text__TextContainer-sc-1kqigik-0 cEvDCP iauueY item-key sc-fznXWL" style="color:#212121" %)Appkey                                                                                                 (% class="Text__TextContainer-sc-1kqigik-0 iYynAw" style="color:#212121" %)~{~{ONECOUNT API KEY}}
10163 +
10164 +==== Example ====
10165 +
10166 +----
10167 +
10168 +(% style="color:#6b6b6b" %)Request
10169 +
10170 +{{code language="php" title="GET users, resource id and request date based on subscription type and start date"}}
10171 + <?php
10172 +
10173 +$curl = curl_init();
10174 +
10175 +curl_setopt_array($curl, array(
10176 + CURLOPT_URL => ' https://api.onecount.net/v2/resources/analytics?type={{Subscription Type}}&start_date={{Start Date}}',
10177 + CURLOPT_RETURNTRANSFER => true,
10178 + CURLOPT_ENCODING => '',
10179 + CURLOPT_MAXREDIRS => 10,
10180 + CURLOPT_TIMEOUT => 0,
10181 + CURLOPT_FOLLOWLOCATION => true,
10182 + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
10183 + CURLOPT_CUSTOMREQUEST => 'GET',
10184 + CURLOPT_HTTPHEADER => array(
10185 + 'Appkey: {{ONECOUNT API KEY}}'
10186 + ),
10187 +));
10188 +
10189 +$response = curl_exec($curl);
10190 +
10191 +curl_close($curl);
10192 +echo $response;
10193 +{{/code}}
10194 +
10195 +
10196 +(% style="color:#6b6b6b" %)Response  200 OK
10197 +
10198 +{{code language="yml" title="GET users, resource id and request date based on subscription type and start date"}}
10199 + {
10200 + "result": {
10201 + "success": "1",
10202 + "error": {
10203 + "code": "",
10204 + "message": ""
10205 + }
10206 + },
10207 + "Resources": [
10208 + "Resources Users": [
10209 + {
10210 + "resource_uid": "11462",
10211 + "ocid": 74204991,
10212 + "request_date": 20250118
10213 + },
10214 + {
10215 + "resource_uid": "11462",
10216 + "ocid": 121746390,
10217 + "request_date": 20250118
10218 + },
10219 + {
10220 + "resource_uid": "11462",
10221 + "ocid": 45412583,
10222 + "request_date": 20250118
10223 + }
10224 + ]
10225 +}
10226 +{{/code}}
10227 +
10228 +
10146 10146  (% id="HCOMPONENT:SourceCodes" class="western" %)
10147 10147  === **COMPONENT: Source Codes** ===
10148 10148  
10149 -*
10232 +*
10150 10150  ** ===
10151 10151  
10152 10152  (% class="western" %)
... ... @@ -12868,7 +12868,16 @@
12868 12868  
12869 12869  (% class="western" %)
12870 12870  Parameters required to update the engagement needs to be sent as post data in JSON format.
12954 +
12955 +(% class="western" %)
12956 +NOTE: While updating a select and checkbox type question you need to pass complete set of Choices for that question including the one which are already existing. If not the choices will be overwritten from the choices from the body.
12871 12871  )))
12958 +|(% style="text-align:left; vertical-align:top" %)POST|(% style="text-align:left; vertical-align:top" %)/engagements/metric/<engagement id>|(% style="text-align:left; vertical-align:top" %)(((
12959 +Add options to specific metric in an engagement without passing all options and overriding existing options.
12960 +
12961 +Parameters required to update the engagement needs to be sent as post data in JSON format.
12962 +\\This API is used to add options only for select and checkbox metrics.
12963 +)))
12872 12872  |(% style="text-align:left; vertical-align:top" %)(% style="text-align: left;vertical-align: top;" %)
12873 12873  (((
12874 12874  (% class="western" %)
... ... @@ -13345,6 +13345,149 @@
13345 13345  {{/code}}
13346 13346  
13347 13347  
13440 +(% id="HPUTUpdateEngagement" style="margin-left: 0.0px;" class="sc-fznLPX cxTVKx" %)
13441 +== (% class="documentation-core-item-request-name jbmEtY sc-fzomuh" id="cke_bm_7146126S" style="color:#0053b8; display:none" %) (% class="documentation-core-item-request-name jbmEtY sc-fzomuh" style="color:#ad7a03" %)POST(% class="documentation-core-item-request-name jbmEtY sc-fzomuh" style="color:#0053b8" %) (% class="documentation-core-item-request-name jbmEtY sc-fzomuh" style="color:#212121" %)Add options to metric(%%) ==
13442 +
13443 +----
13444 +
13445 +{{panel bgColor="#D3D3D3" width="100%"}}
13446 + (% class="nolink" %)https:~/~/api.onecount.net/v2(%%)/engagements/metric/(% style="color:#212121" %)~{~{Engagement Id}}
13447 +{{/panel}}
13448 +
13449 +=== (% class="core-title" style="color:#212121" %)Request Headers(%%) ===
13450 +
13451 +----
13452 +
13453 +(% class="Text__TextContainer-sc-1kqigik-0 cEvDCP iauueY item-key sc-fznXWL" style="color:#212121" %)Appkey                                                                                                 (% class="Text__TextContainer-sc-1kqigik-0 iYynAw" style="color:#212121" %)~{~{ONECOUNT API KEY}}
13454 +
13455 +=== (% style="color:#212121" %)Body (% style="color:#6b6b6b" %)raw (json)(%%) ===
13456 +
13457 +----
13458 +
13459 +{{code language="yml" title="Body"}}
13460 +{"Metrics":[
13461 + {"Attendance Status":[{"text":"checks","value":"checks"},{"text":"c","value":"c"}]},
13462 + {"lagacy status":[{"text":"c","value":"c"}]}
13463 + ]}
13464 +{{/code}}
13465 +
13466 +==== Example ====
13467 +
13468 +----
13469 +
13470 +(% style="color:#6b6b6b" %)Request
13471 +
13472 +{{code language="php" title="(% class=~"documentation-core-item-request-name jbmEtY sc-fzomuh~" style=~"color:#212121~" %)Add options to metric"}}
13473 + <?php
13474 +
13475 +$curl = curl_init();
13476 +
13477 +curl_setopt_array($curl, array(
13478 + CURLOPT_URL => 'https://api.onecount.net/v2/engagements/metric/{{Engagement Id}}',
13479 + CURLOPT_RETURNTRANSFER => true,
13480 + CURLOPT_ENCODING => '',
13481 + CURLOPT_MAXREDIRS => 10,
13482 + CURLOPT_TIMEOUT => 0,
13483 + CURLOPT_FOLLOWLOCATION => true,
13484 + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
13485 + CURLOPT_CUSTOMREQUEST => 'PUT',
13486 + CURLOPT_POSTFIELDS =>'{"Metrics":[
13487 + {"Attendance Status":[{"text":"checks","value":"checks"},{"text":"c","value":"c"}]},
13488 + {"lagacy status":[{"text":"c","value":"c"}]}
13489 + ]}',
13490 + CURLOPT_HTTPHEADER => array(
13491 + 'Appkey: {{ONECOUNT API KEY}}',
13492 + 'Content-Type: application/json'
13493 + ),
13494 +));
13495 +
13496 +$response = curl_exec($curl);
13497 +
13498 +curl_close($curl);
13499 +echo $response;
13500 +
13501 +{{/code}}
13502 +
13503 +
13504 +(% style="color:#6b6b6b" %)Response  200 OK
13505 +
13506 +{{code language="yml" title="(% class=~"documentation-core-item-request-name jbmEtY sc-fzomuh~" style=~"color:#212121~" %)Add options to metric"}}
13507 +{
13508 + "result": {
13509 + "success": "1",
13510 + "error": {
13511 + "code": "",
13512 + "message": ""
13513 + }
13514 + },
13515 + "Engagements": [
13516 + {
13517 + "Id": "e0e816ec-77ba-4db1-bfc0-22d340337357",
13518 + "Name": "Test engagement 3",
13519 + "Metrics": [
13520 + {
13521 + "Name": "Attendance Status",
13522 + "Type": "select",
13523 + "Values": [
13524 + {
13525 + "text": "Attended",
13526 + "value": "attended"
13527 + },
13528 + {
13529 + "text": "Not Attended",
13530 + "value": "not_attended"
13531 + },
13532 + {
13533 + "text":"checks",
13534 + "value":"checks"
13535 + },
13536 + {
13537 + "text":"c",
13538 + "value":"c"
13539 + }
13540 + ]
13541 + },
13542 + {
13543 + "Name": "Price",
13544 + "Type": "text"
13545 + },
13546 + {
13547 + "Name": "Name",
13548 + "Type": "select",
13549 + "Values": [
13550 + {
13551 + "text": "Webinar 1",
13552 + "value": "Webinar_1"
13553 + },
13554 + {
13555 + "text": "Webinar 2",
13556 + "value": "Webinar_2"
13557 + }
13558 + ]
13559 + },
13560 + {
13561 + "Name": "Transaction Date",
13562 + "Type": "text"
13563 + },
13564 + {
13565 + "Name": "id",
13566 + "Type": "text"
13567 + },
13568 + {
13569 + "Name": "activity_time",
13570 + "Type": "text"
13571 + }
13572 + ]
13573 + }
13574 + ]
13575 +}
13576 +{{/code}}
13577 +
13578 +
13579 +
13580 +
13581 +
13582 +
13348 13348  (% id="HPOSTAddUsertoEngagement" style="margin-left: 0.0px;" class="sc-fznLPX cxTVKx" %)
13349 13349  == (% class="documentation-core-item-request-name jbmEtY sc-fzomuh" style="color:#ad7a03" %)POST(% class="documentation-core-item-request-name jbmEtY sc-fzomuh" style="color:#212121" %) Add User to Engagement(%%) ==
13350 13350  
... ... @@ -13487,7 +13487,7 @@
13487 13487  (% id="HCOMPONENT:Segments" class="western" %)
13488 13488  === **COMPONENT: Segments** ===
13489 13489  
13490 -*
13725 +*
13491 13491  ** ===
13492 13492  
13493 13493  (% class="western" %)
... ... @@ -13980,7 +13980,7 @@
13980 13980  (% id="HCOMPONENT:Leads" class="western" %)
13981 13981  === **COMPONENT: Leads** ===
13982 13982  
13983 -*
14218 +*
13984 13984  ** ===
13985 13985  
13986 13986  (% class="western" %)
... ... @@ -14253,7 +14253,6 @@
14253 14253  Alias for admin purpose.
14254 14254  )))
14255 14255  
14256 -
14257 14257  (% class="western" %)
14258 14258  **Type: Choices**
14259 14259  
... ... @@ -15159,3 +15159,137 @@
15159 15159  If the page url already exists and it doesn't match with the one that is being sent then it will throw conflict error with the title in our system.
15160 15160  )))
15161 15161  
15396 +**Example 1: How to use API  to get users who unsubscribed to resources in past 1 day and unsubscribe them to a package**
15397 +
15398 +**~1. Get all packages using below API call**
15399 +
15400 +[[https:~~/~~/api.onecount.net/v2/products?limit=10000>>url:https://api.onecount.net/v2/products?limit=10000]]
15401 +\\This will give all the packages with all the resources attached to that package below is sample response.
15402 +
15403 +
15404 +[
15405 +
15406 + {
15407 +
15408 + "ProductId": 2374,
15409 +
15410 + "Title": "OptL-0- ENTECH EVENT-VSL Virtual Seminars",
15411 +
15412 + "Description": "",
15413 +
15414 + "ResourceIDs": [
15415 +
15416 + 16366,
15417 +
15418 + 16374,
15419 +
15420 + 16638,
15421 +
15422 + 16646,
15423 +
15424 + 17030,
15425 +
15426 + 17038,
15427 +
15428 + 17046,
15429 +
15430 + 17054
15431 +
15432 + ],
15433 +
15434 + "PrimaryFormID": [
15435 +
15436 + "251fc466-0f68-483d-afa6-1b05cb3ae9b0"
15437 +
15438 + ],
15439 +
15440 + "Terms": {
15441 +
15442 + "Id": 2462,
15443 +
15444 + "Name": "Active",
15445 +
15446 + "Description": "",
15447 +
15448 + "Duration": 1,
15449 +
15450 + "DurationUnit": "D",
15451 +
15452 + "Price": "0",
15453 +
15454 + "ProductId": 2374
15455 +
15456 + }
15457 +
15458 + }
15459 +
15460 +]
15461 +
15462 +
15463 +FYI : ResourceIDs are product ids
15464 +
15465 +Productid is package id
15466 +\\If your desired resource is in the package then use the product id and term id to unsubscribe user from that package
15467 +
15468 +**2. Get all the users who unsubscribed to resources in past 1 day**
15469 +
15470 +use below API to get all user who unsubscribed to resources in past 1 day
15471 +
15472 +[[http:~~/~~/api.onecount.net/v2/resources/analytics?type=u&start_date=20250>>url:http://api.onecount.net/v2/resources/analytics?type=u&start_date=20250110]]209
15473 +
15474 +Below is the sample response :
15475 +
15476 +{
15477 +
15478 +"result": {
15479 +
15480 + "success": "1",
15481 +
15482 + "error": {
15483 +
15484 + "code": "",
15485 +
15486 + "message": ""
15487 +
15488 + }
15489 +
15490 + },
15491 +
15492 +"Resources Users": [
15493 +
15494 +{
15495 +
15496 +"resource_uid": "11462",
15497 +
15498 +"ocid": 74204991,
15499 +
15500 +"request_date": 20250118
15501 +
15502 +},
15503 +
15504 +{
15505 +
15506 +"resource_uid": "11462",
15507 +
15508 +"ocid": 121746390,
15509 +
15510 +"request_date": 20250118
15511 +
15512 +}
15513 +
15514 +]
15515 +
15516 +}
15517 +
15518 +FYI:
15519 +ocid = userid
15520 +
15521 +
15522 +**3. Use user, product id and term id  from the response above to unsubscribe user from the package**
15523 +\\Use this API and body to unsubscribe users
15524 +\\[[https:~~/~~/api.onecount.net/v2/transactions>>url:https://api.onecount.net/v2/transactions]]
15525 +\\**BODY:**
15526 +{"UserId": 126715990,"TermId":2462,"UserIP":"192.168.0.1" ,"SubscriptionType":"u" , "ProductId":2374 ,"ResourceId":0,"FormId": "","Source": 39,"ProductStatus": 2,"Amount":"0.00" ,"PaypalTransId":"" , "MediaFilePath":"" ,"Remarks": "USER UNSUBSCRIBED FROM API","BatchId":"1234" ,"Quantity": 1, "ExpireDate":"20260115" }
15527 +\\This will unsubscribe user from that package
15528 +
15529 +