Я считаю, что StewS2 хорошо ответил на этот вопрос, но я предоставлю немного больше подробностей, если вы ищете его. Во-первых, вам нужно прочитать о Понимании синтаксиса URL с APEX: https://docs.oracle.com/en/database/oracle/application-express/19.2/htmdb/understanding-url-syntax.html#GUID-F9B81EAF-D33F-401D-8349-3952DEDA5460
Позиции в URL:
- App
- Page
- Сеанс
- Запрос
- Отладка
- ClearCache
- itemNames
- itemValues
- PrinterFriendly
В вашем электронном письме вы, вероятно, добавите две ссылки: одну для "одобрить" и другую для "отклонить". Предположим, что целевое приложение - 101, а целевая страница - 50. Предположим также, что на странице 50 есть элементы с именами P50_ID и P50_STATUS.
Ссылка для «утверждения» будет выглядеть следующим образом: https://server.com/ords/f?p=101:50:::::P50_ID,P50_STATUS:123456,APPROVE
А ссылка для «отказа» будет выглядеть следующим образом: https://server.com/ords/f?p=101:50:::::P50_ID,P50_STATUS:123456,DENY
Обратите внимание, чтоединственное отличие состоит в том, что значение передается в P50_STATUS в позиции 8 URL.
Поскольку URL не имеют идентификатора сеанса (позиция 3), будет создан новый сеанс, и пользователь будет предварительно аутентифицированна странице 50. На странице 50 вы можете добавить процессы при загрузке, которые смотрят на значения P50_ID и P50_STATUS и делают все, что нужно оттуда.
Обязательно обрабатывайте крайние случаи, например, еслипользователь позже отрицает то, что было одобрено, или наоборот.
Кроме того, примите во внимание безопасность, чтобы гарантировать, что, если электронное письмо будет случайно перенаправлено, новый получатель не сможет ничего с ним сделать. Начните со схем аутентификации и авторизации, но при необходимости вы можете получить более детальную информацию о процессе загрузки.