Changes for page ONEcount API Documentation
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
on 2024/02/27 18:43
Change comment:
There is no comment for this version
To version 14.1
edited by Rayaan Ahmed
on 2025/02/09 22:08
on 2025/02/09 22:08
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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,7 +10142,97 @@ 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 specific Resource Request"}} 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 specific Resource Response"}} 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 ... ... @@ -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 ... ... @@ -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,83 @@ 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 unsubscribe user from package if you don't have a package ID or term ID** 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. Use product id and term id from the response above to unsubscribe user from the package** 15469 +\\Use this API and body to unsubscribe users 15470 +\\[[https:~~/~~/api.onecount.net/v2/transactions>>url:https://api.onecount.net/v2/transactions]] 15471 +\\**BODY:** 15472 +{"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" } 15473 +\\\\This will unsubscribe user from that package 15474 + 15475 +