Перейти к основному содержимому

Начать или открыть визит

Начать или открыть визит для просмотра можно без предварительной синхронизации. В этом случае, потребуется подключение к интернету в торговой точке. Информация по магазину подгрузится в начале визита.

Параметры запроса


DeepLinkConst.Parameters.TOKEN (String) : Обязательный. Идентификатор вызывающего приложения.


DeepLinkConst.Parameters.AGENT_ID (String) : Обязательный. Идентификатор агента. Если агент не найден, будет создан новый.


DeepLinkConst.Parameters.VISIT_ID (String) : Обязательный. Идентификатор визита.

  • Если визит с таким ID найден — он будет открыт.
  • Если не найден — будет создан новый визит с этим ID.

DeepLinkConst.Parameters.CUSTOMER_ID (String) : Обязательный. Идентификатор магазина. По нему выполняется поиск магазина.

  • Если магазин не найден — вернется ошибка, визит начать нельзя.
  • Если найден — в визит будут добавлены все задачи магазина.

DeepLinkConst.Parameters.TASK_FILTER (String) : Опционально. Регулярное выражение для фильтрации задач по названию. Если указан, в визите будут отображаться только задачи, удовлетворяющие фильтру.


DeepLinkConst.Parameters.READONLY (Boolean) : Опционально. Открыть визит в режиме "только на просмотр". По умолчанию false.


DeepLinkConst.Parameters.DEBUG (Boolean) : Опционально. Флаг для включения отладочного режима. Если true, в случае ошибки IC Camera 3 не закроется автоматически, а покажет экран с описанием ошибки. По умолчанию false.


Пример запроса

val launchIntent = Intent(DeepLinkConst.IC_CAMERA_LAUNCH_ACTION).apply {
putExtra(DeepLinkConst.Parameters.TOKEN, "YOUR_TOKEN")
putExtra(DeepLinkConst.Parameters.AGENT_ID, "YOUR_AGENT_ID")
putExtra(DeepLinkConst.Parameters.VISIT_ID, "YOUR_VISIT_ID")
putExtra(DeepLinkConst.Parameters.CUSTOMER_ID, "YOUR_CUSTOMER_ID")

// Опциональные параметры
putExtra(DeepLinkConst.Parameters.TASK_FILTER, "regex")
putExtra(DeepLinkConst.Parameters.DEBUG, true)
}

// Запуск через ранее созданный лаунчер
icCameraLauncher.launch(launchIntent)

Обработка ответа

Результат придет в callback вашего лаунчера.

private val icCameraLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val data = result.data ?: return@registerForActivityResult

val resultCode = data.getIntExtra(DeepLinkConst.Parameters.RESULT_CODE, 0)
val resultInfo = data.getStringExtra(DeepLinkConst.Parameters.RESULT_INFO)
val totalImages = data.getLongExtra(DeepLinkConst.Parameters.TOTAL_IMAGES, 0)

when (resultCode) {
DeepLinkConst.ResultCode.VISIT_VALID -> {
// Успешный визит (завершен кнопкой закрытия)
}
DeepLinkConst.ResultCode.VISIT_ERR -> {
// Ошибка визита
}
}

// Дополнительные параметры ответа (возвращаются как были переданы)
val agentId = data.getStringExtra(DeepLinkConst.Parameters.AGENT_ID)
val visitId = data.getStringExtra(DeepLinkConst.Parameters.VISIT_ID)
val customerId = data.getStringExtra(DeepLinkConst.Parameters.CUSTOMER_ID)

} else {
// Результат не получен
}
}

Параметры ответа


DeepLinkConst.Parameters.RESULT_CODE(Int):Код результата операции:

  • VISIT_VALID (1) - успешный визит (новый или открытый). Закрыт корректно.
  • VISIT_ERR (int: 2) - ошибка визита.

DeepLinkConst.Parameters.RESULT_INFO (String):

Описание ошибки или дополнительная информация.


DeepLinkConst.Parameters.TOTAL_IMAGES (Long): Количество изображений, сделанных в визите.


DeepLinkConst.Parameters.AGENT_ID (String): Идентификатор агента (возвращается значение входного параметра).


DeepLinkConst.Parameters.VISIT_ID (String): Идентификатор визита (возвращается значение входного параметра).


DeepLinkConst.Parameters.CUSTOMER_ID(String): Идентификатор магазина (возвращается значение входного параметра).


Если у вас возникли вопросы или проблемы, обратитесь в техподдержку.