Открыть последний визит
Команда IC_OPEN_LAST_VISIT открывает последний визит, начатый в указанном магазине. Если подходящий визит найден, он будет открыт в режиме просмотра.
Параметры запроса
DeepLinkConst.Parameters.TOKEN (String)
: Обязательный. Идентификатор вызывающего приложения.
DeepLinkConst.Parameters.AGENT_ID (String)
: Обязательный. Идентификатор агента. Если агент не найден, будет создан новый.
DeepLinkConst.Parameters.IC_COMMAND (String)
: Обязательный. Управляющая команда. Используйте DeepLinkConst.Commands.IC_OPEN_LAST_VISIT.
DeepLinkConst.Parameters.CUSTOMER_ID (String)
: Обязательный. Идентификатор магазина. По нему выполняется поиск последнего визита.
- Если магазин не найден — вернется ошибка.
- Если найден — приложение попытается найти последний визит в этом магазине.
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.IC_COMMAND, DeepLinkConst.Commands.IC_OPEN_LAST_VISIT)
putExtra(DeepLinkConst.Parameters.CUSTOMER_ID, "YOUR_CUSTOMER_ID")
// Опционально
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(int: 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): Идентификатор магазина (возвращается значение входного параметра).
Если у вас возникли вопросы или проблемы, обратитесь в техподдержку.