Create Activities via Apps
Application can create activities with a special type of provider. Such activities will have a corresponding icon and will be displayed within a timeline. When such activity is clicked, it opens the app in slider with options specified in PLACEMENT_OPTIONS.
You can edit/delete activities of this subtype only within the app context that created it. It means that when updating such activity by the method crm.activity.update via the webhook - results in error: Access denied! Application context required
.
Parameters
Method | Description |
---|---|
PROVIDER_ID | Provider identifier. Must be set as 'REST_APP' for the special provider. |
PROVIDER_TYPE_ID | Activity type ID. Developer can specify arbitrary identifiers for the type when using the 'REST_APP' provider, depending on developer objectives. |
Example
<?php header('Content-Type: text/html; charset=UTF-8'); ?> <!DOCTYPE html> <html> < <meta charset="UTF-8"> <title> <style type="text/css"> </style> </head> <body style="display: none"> <script src="//api.bitrix24.com/api/v1/"></script> <?if (isset($_POST['PLACEMENT']) && !empty($_POST['PLACEMENT_OPTIONS'])): $opt = json_decode($_POST['PLACEMENT_OPTIONS'], true); ?> <p>Activity ID: <?=(int)$opt['activity_id']?></p> <button oncl ick="updateActivity(<?=(int)$opt['activity_id']?>);">Upd ate activity (se t new description + completed) <p><button oncl ick="deleteActivity(<?=(int)$opt['activity_id']?>);">delete activity</button> <?else:?> <button oncl ick="selectCRMEntity();">Select LEAD</button> <span id="selected-entity"></span> <p> <button oncl ick="addActivity();">Add activity</button> <?endif;?> <script type="text/javascript"> BX24.init(function() { document.body.style.display = ''; }); var selectedEntityId = null; function addActivity() { if (!selectedEntityId) { alert('Lead not selected'); return; } BX24.callMethod( 'crm.activity.add', { fields: { "OWNER_TYPE_ID": 1, "OWNER_ID": selectedEntityId, "PROVIDER_ID": 'REST_APP', "PROVIDER_TYPE_ID": 'LINK', "SUBJECT": "New activity", "COMPLETED": "N", "RESPONSIBLE_ID": 1, "DESCRIPTION": "New activity description" } }, function(result) { if(result.error()) alert("Error: " + result.error()); else { alert("Success: " + result.data()); } } ); } function updateActivity(id) { BX24.callMethod( 'crm.activity.update', { id: id, fields: { COMPLETED: 'Y', SUBJECT: "Activity complete!", DESCRIPTION: "New activity description (completed)" } }, function(result) { if(result.error()) alert("Error: " + result.error()); else { alert("Success: " + result.data()); } } ); } function deleteActivity(id) { BX24.callMethod( 'crm.activity.delete', { id: id }, function(result) { if(result.error()) alert("Error: " + result.error()); else { alert("Success: " + result.data()); } } ); } function selectCRMEntity() { document.getElementById('selected-entity').textContent = ''; BX24.selectCRM({ entityType: ['lead'] }, function(selected) { if (selected['lead'] && selected['lead'][0]) { document.getElementById('selected-entity').textContent = selected['lead'][0]['title']; var id = selected['lead'][0]['id']; selectedEntityId = id.substring(2); console.log(selectedEntityId); } }) } </script> </body> </html>
© «Bitrix24», 2001-2024