onCrmContactUpdate
Scope: crm Права на выполнение: для всех
Событие, вызываемое при обновлении контакта.
Параметры события:
Параметр | Описание |
---|---|
FIELDS | Массив содержит поле ID со значением идентификатора обновленного контакта. |
Пример
- Контроллер, принимающий запрос:
@PostMapping("/onCrmContactUpdate") public ResponseEntity onCrmContactUpdate(@RequestParam("data[FIELDS][ID]") Long contactId) { // получаем контакт из Битрикс BitrixContactDto bitrixContactDto = deserializationBitrixUtil.deserializeContactForMethodGet(bitrixService.getContactById(contactId)); // do something return new ResponseEntity(HttpStatus.OK); }
- Метод получения контакта по id из Битрикс:
public String getContactById(Long id) { MultiValueMap
paramsMap = new LinkedMultiValueMap<>(); paramsMap.add("id", id.toString()); String response = null; try { response = callApiGet("crm.contact.get", paramsMap); } catch (IOException | InterruptedException e) { e.printStackTrace(); } return response; } - Десериализация ответа Битрикс:
public BitrixContactDto deserializeContactForMethodGet(String contactJsonString) { BitrixContactDto contact = null; if (contactJsonString != null) { JsonNode jsonNode = null; try { jsonNode = (JsonNode) objectMapper.readTree(contactJsonString).get("result"); } catch (IOException e) { e.printStackTrace(); } contact = deserializeBitrixContactDto(jsonNode); } return contact; }
- Объект BitrixContactDto:
public class BitrixContactDto { private Long id; private String name; private String lastName; private String typeId; private String comments; private Set
email; public BitrixContactDto() {} public BitrixContactDto(Long id, String name, String lastName, String typeId, String comments) { this.id = id; this.name = name; this.lastName = lastName; this.typeId = typeId; this.comments = comments; } }
© «Битрикс», 2001-2024, «1С-Битрикс», 2024