Сценарии Event Receiver
Типичная цепочка после создания или изменения элемента списка.
1. Получить значения полей только что созданного элемента
Заголовок раздела «1. Получить значения полей только что созданного элемента»Событие listItem.created. В details уже есть listId и item (часто с field_values). Надёжнее перечитать элемент через API:
public async Task<object?> HandleAsync(EventContext context, IReceiverApi api, CancellationToken ct){ var listId = context.Details.GetProperty("listId").GetString()!; var itemId = context.Details.GetProperty("item").GetProperty("id").GetString()!;
var item = await api.Lists.GetItemAsync(listId, itemId, ct); var fields = await api.Lists.GetFieldsAsync(listId, ct); var titleField = fields.First(f => f.InternalName == "title"); var title = /* прочитать field_values[titleField.Id] */;
api.Log.Info("Created item", itemId, title); return new { ok = true, title };}Форматы значений: гайд по полям, API.
2. Переназначить права на элемент
Заголовок раздела «2. Переназначить права на элемент»await api.Permissions.SetAsync(new{ resourceType = "list_item", resourceId = itemId, listId, principalType = "user", principalId = ownerUserId, permissionLevel = "edit",}, ct);См. API: Права и права на список. Точные методы SDK — в SDK Event Receiver.
3. Отправить уведомление со значениями полей
Заголовок раздела «3. Отправить уведомление со значениями полей»Нужны настроенный SMTP и включённая служба notifications (см. Уведомления).
Вариант A — встроенный job почты (подписчик в админке или API): serviceKey: "notifications", jobType: "notifications.sendEventEmail", в config — to/recipients, шаблоны subject/text/html. Пример и плейсхолдеры: API: Почта.
Вариант B — REST из кода пакета или HTTP к внешней системе:
POST /api/v1/mail/sendAuthorization: Bearer …Content-Type: application/json
{ "to": "manager@company.local", "subject": "Новая заявка: …", "text": "Создан элемент … со статусом …", "async": true}Справочник: API: Почта.
Связанные материалы
Заголовок раздела «Связанные материалы»- Runtime — привязка к списку, payload, отладка
- Сборка пакета
- Работа со списками