Документация для разработчиков
Темная тема

onCrmContactUpdate

Scope: crm Права на выполнение: для всех

Событие, вызываемое при обновлении контакта.

Параметры события:

Параметр Описание
FIELDS Массив содержит поле ID со значением идентификатора обновленного контакта.

Пример

  1. Контроллер, принимающий запрос:
    @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);
    }
  2. Метод получения контакта по 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;
    }
  3. Десериализация ответа Битрикс:
    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;
    }
  4. Объект 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