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

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