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

onCrmContactUpdate

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

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

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


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Эдуард Набиев
Сообщение непромодерировано, возможны ошибки и неточности.
Пример на Java с использованием исходящих веб-хуков:

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<String, String> 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<String> 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-2020, «1С-Битрикс», 2020
Наверх