Webhook - Заказы

Обновлено Dec 17, 2025

Обзор

Все события отправляются в формате JSON с единой структурой:

{
  "event": "order_created",
  "userId": "550e8400-e29b-41d4-a716-446655440001",
  "timestamp": "2024-01-01T10:00:00Z",
  "data": {
    *// Данные события (зависят от типа события)*
  }
} 

Подробную информацию о настройке и способах использования смотрите в статье "Вебхуки"

Создан новый заказ

event: order_created
data:

{
  "creationTime": "2024-12-17T10:00:00Z",
  "closedAt": null,
  "dueDate": "2024-12-24T10:00:00Z",
  "num": "А40",
  "title": "Apple iPad A1454",
  "sn": "SN123456",
  "malfunction": "Белый экран",
  "condition": "Отходит экран от корпуса",
  "status": "Новый",
  "statusId": "3a118871-f8e8-ea71-c068-51dae78ad941",
  "urgent": false,
  "isWarranty": false,
  "customerId": "550e8400-e29b-41d4-a716-446655440011",
  "customerName": "Иванов Иван Иванович",
  "managerName": "Петрова Анна Сергеевна",
  "engineerFullName": "Сидоров Алексей Михайлович",
  "total": 15000.00,
  "location": "3a118871-fa11-eb35-fd10-91905199afba",
  "orderTypeId": 1,
  "orderTypeTitle": "Платный",
  "previousOrderId": null,
  "previousOrderNum": null
}

TypeScript интерфейс:

interface OrderCreatedData {
  */** Время создания в формате ISO 8601 */*
  creationTime: string;
  */** Время закрытия заказа */*
  closedAt: string | null;
  */** Срок выполнения в формате ISO 8601 */*
  dueDate: string;
  */** Номер заказа */*
  num: string;
  */** Название заказа */*
  title: string;
  */** Серийный номер устройства */*
  sn: string;
  */** Описание неисправности */*
  malfunction: string;
  */** Состояние устройства */*
  condition: string;
  */** Статус заказа */*
  status: string;
  */** Идентификатор статуса */*
  statusId: string;
  */** Признак срочности */*
  urgent: boolean;
  */** Признак гарантийного ремонта */*
  isWarranty: boolean;
  */** Идентификатор клиента */*
  customerId: string;
  */** Имя клиента */*
  customerName: string;
  */** Имя менеджера */*
  managerName: string;
  */** Полное имя инженера */*
  engineerFullName: string;
  */** Общая сумма */*
  total: number;
  */** Идентификатор локации */*
  location: string;
  */** Идентификатор типа заказа */*
  orderTypeId: number;
  */** Название типа заказа */*
  orderTypeTitle: string;
  */** Идентификатор предыдущего заказа */*
  previousOrderId: string | null;
  */** Номер предыдущего заказа */*
  previousOrderNum: string | null;
}

Изменен статус

event: order_status_changed
data:

{
  "orderId": "550e8400-e29b-41d4-a716-446655440000",
  "userId": "550e8400-e29b-41d4-a716-446655440001",
  "creationTime": "2024-12-17T10:00:00Z",
  "status": "В работе",
  "statusId": "550e8400-e29b-41d4-a716-446655440010"
}

TypeScript интерфейс:

interface OrderStatusChangedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор пользователя, изменившего статус */*
  userId: string;
  */** Время изменения статуса */*
  creationTime: string;
  */** Новый статус заказа */*
  status: string;
  */** Идентификатор статуса */*
  statusId: string;
}

Заказ удален

event: order_deleted
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000"
}

TypeScript интерфейс:

interface OrderDeletedData {
  */** Идентификатор удаленного заказа */*
  orderId: string;
}

Добавлен комментарий

event: order_comment_added
data:

{
  "orderId": "550e8400-e29b-41d4-a716-446655440000",
  "commentId": 1001,
  "text": "Клиент просит ускорить выполнение заказа",
  "isPrivate": false
}

TypeScript интерфейс:

interface OrderCommentAddedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор комментария */*
  commentId: number;
  */** Текст комментария */*
  text: string;
  */** Признак приватности комментария */*
  isPrivate: boolean;
}

Добавлен материал

event: order_material_added
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "MaterialId": 9116,
  "Name": "Ламинат Дуб Темный 33 класс",
  "Quantity": 1,
  "Price": 850.00,
  "Total": 850.00,
  "PurchasePrice": 650.00,
  "RelatedWorkId": 2001,
  "WarrantyUnit": 0,
  "WarrantyValue": 7
}

TypeScript интерфейс:

interface OrderMaterialAddedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор материала */*
  materialId: number;
  */** Название материала */*
  name: string;
  */** Количество */*
  quantity: number;
  */** Цена продажи */*
  price: number;
  */** Общая сумма (Quantity × Price) */*
  total: number;
  */** Закупочная цена */*
  purchasePrice: number;
  */** Идентификатор связанной работы */*
  relatedWorkId: number;
  */** Единица измерения гарантии */*
  warrantyUnit: number;
  */** Значение гарантии */*
  warrantyValue: number;
}

Обновлена информация о материале

event: order_material_updated
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "MaterialId": 9116,
  "Name": "Ламинат Дуб Темный 33 класс",
  "Quantity": 30,
  "Price": 850.00,
  "Total": 25500.00,
  "PurchasePrice": 650.00,
  "RelatedWorkId": 2001,
  "WarrantyUnit": 0,
  "WarrantyValue": 7
}

TypeScript интерфейс:

interface OrderMaterialUpdatedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор материала */*
  materialId: number;
  */** Название материала */*
  name: string;
  */** Количество */*
  quantity: number;
  */** Цена продажи */*
  price: number;
  */** Общая сумма (Quantity × Price) */*
  total: number;
  */** Закупочная цена */*
  purchasePrice: number;
  */** Идентификатор связанной работы */*
  relatedWorkId: number;
  */** Единица измерения гарантии */*
  warrantyUnit: number;
  */** Значение гарантии */*
  warrantyValue: number;
}

Материал удален

event: order_material_deleted
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "MaterialId": 9116,
  "Name": "Ламинат Дуб Темный 33 класс"
}

TypeScript интерфейс:

interface OrderMaterialDeletedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор материала */*
  materialId: number;
  */** Название материала */*
  name: string;
}

Добавлена работа

event: order_work_added
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "WorkId": 2001,
  "Name": "Укладка ламината",
  "Quantity": 25,
  "Price": 150.00,
  "Total": 3750.00,
  "CostPrice": 100.00,
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "UserName": "Алексей Сидоров",
  "PriceWorkId": 101,
  "WarrantyUnit": 0,
  "WarrantyValue": 7
}

TypeScript интерфейс:

interface OrderWorkAddedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор работы */*
  workId: number;
  */** Название работы */*
  name: string;
  */** Количество */*
  quantity: number;
  */** Цена продажи */*
  price: number;
  */** Общая сумма (Quantity × Price) */*
  total: number;
  */** Себестоимость */*
  costPrice: number;
  */** Идентификатор исполнителя */*
  userId: string;
  */** Имя исполнителя */*
  userName: string;
  */** Идентификатор прайс-листа работ */*
  priceWorkId: number;
  */** Единица измерения гарантии */*
  warrantyUnit: number;
  */** Значение гарантии */*
  warrantyValue: number;
}

Обновлена информация о работе

event: order_work_updated
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "WorkId": 2001,
  "Name": "Укладка ламината",
  "Quantity": 30,
  "Price": 150.00,
  "Total": 4500.00,
  "CostPrice": 100.00,
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "UserName": "Алексей Сидоров",
  "PriceWorkId": 101,
  "WarrantyUnit": 0,
  "WarrantyValue": 7
}

TypeScript интерфейс:

interface OrderWorkUpdatedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор работы */*
  workId: number;
  */** Название работы */*
  name: string;
  */** Количество */*
  quantity: number;
  */** Цена продажи */*
  price: number;
  */** Общая сумма (Quantity × Price) */*
  total: number;
  */** Себестоимость */*
  costPrice: number;
  */** Идентификатор исполнителя */*
  userId: string;
  */** Имя исполнителя */*
  userName: string;
  */** Идентификатор прайс-листа работ */*
  priceWorkId: number;
  */** Единица измерения гарантии */*
  warrantyUnit: number;
  */** Значение гарантии */*
  warrantyValue: number;
}

Работа удалена

event: order_work_deleted
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "WorkId": 2001,
  "Name": "Укладка ламината"
}

TypeScript интерфейс:

interface OrderWorkDeletedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор работы */*
  workId: number;
  */** Название работы */*
  name: string;
}

Назначен инженер

event: order_engineer_assigned
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "EngineerId": "550e8400-e29b-41d4-a716-446655440012",
  "EngineerName": "Сидоров Алексей Михайлович",
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "CreationTime": "2024-12-17T10:00:00Z"
}

TypeScript интерфейс:

interface OrderEngineerAssignedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор инженера */*
  engineerId: string;
  */** Имя инженера */*
  engineerName: string;
  */** Идентификатор пользователя, выполнившего назначение */*
  userId: string;
  */** Время назначения */*
  creationTime: string;
}

Назначен менеджер

event: order_manager_assigned
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "ManagerId": "550e8400-e29b-41d4-a716-446655440013",
  "ManagerName": "Петрова Анна Сергеевна",
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "CreationTime": "2024-12-17T10:00:00Z"
}

TypeScript интерфейс:

interface OrderManagerAssignedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор менеджера */*
  managerId: string;
  */** Имя менеджера */*
  managerName: string;
  */** Идентификатор пользователя, выполнившего назначение */*
  userId: string;
  */** Время назначения */*
  creationTime: string;
}

Обновлена локация

event: order_location_updated
data:

{
  "OrderIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "LocationId": "550e8400-e29b-41d4-a716-446655440014",
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "CreationTime": "2024-12-17T10:00:00Z"
}

TypeScript интерфейс:

interface OrderLocationUpdatedData {
  */** Массив идентификаторов заказов */*
  orderIds: string[];
  */** Идентификатор локации */*
  locationId: string;
  */** Идентификатор пользователя, выполнившего обновление */*
  userId: string;
  */** Время обновления */*
  creationTime: string;
}

Создан платеж

event: order_payment_created
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "PaymentId": "550e8400-e29b-41d4-a716-446655440015",
  "Amount": 5000.00,
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "CreationTime": "2024-12-17T10:00:00Z"
}

TypeScript интерфейс:

interface OrderPaymentCreatedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор платежа */*
  paymentId: string;
  */** Сумма платежа */*
  amount: number;
  */** Идентификатор пользователя, создавшего платеж */*
  userId: string;
  */** Время создания платежа */*
  creationTime: string;
}

Платеж удален

event: order_payment_deleted
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "PaymentId": "550e8400-e29b-41d4-a716-446655440016",
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "CreationTime": "2024-12-17T10:00:00Z"
}

TypeScript интерфейс:

interface OrderPaymentDeletedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Идентификатор платежа */*
  paymentId: string;
  */** Идентификатор пользователя, удалившего платеж */*
  userId: string;
  */** Время удаления платежа */*
  creationTime: string;
}

Обновлен срок выполнения

event: order_due_date_updated
data:

{
  "OrderId": "550e8400-e29b-41d4-a716-446655440000",
  "DueDate": "2024-12-31T10:00:00Z",
  "UserId": "550e8400-e29b-41d4-a716-446655440001",
  "CreationTime": "2024-12-17T10:00:00Z"
}

TypeScript интерфейс:

interface OrderDueDateUpdatedData {
  */** Идентификатор заказа */*
  orderId: string;
  */** Новый срок выполнения в формате ISO 8601 */*
  dueDate: string;
  */** Идентификатор пользователя, обновившего срок */*
  userId: string;
  */** Время обновления срока */*
  creationTime: string