Бывает случай, когда кому-то надо направить ссылку с информацией. Лично я использую для генерации пароля и отправку его на почту получателя, когда он не может зайти в 1С, т.к. забыл пароль, а говорить вслух - неудобно. Для этого и пригодился интересный сайт onetimesecret, в котором можно формировать одноразовые ссылки.
Как пользоваться?
Сразу стоит определиться, если Вам надо отправлять на почту письмо со ссылкой на секрет, то регистрация будет нужна (она простая). Если достаточно получить только ссылку, регистрация не нужна.
Для работы использовался КоннекторHTTP
Пример кода без регистрации:
URL= "https://onetimesecret.com/api/v1/share";
Данные = Новый Структура;
Данные = Новый Структура;
Данные.Вставить("secret", "Это мой секрет");
Данные.Вставить("passphrase", "Пароль для секрета");
Данные.Вставить("ttl", 7200); //Время жизни секрета
Ответ = КоннекторHTTP.Post(URL,Данные,Неопределено);
Если Ответ.КодСостояния = 200 Тогда
//все ок
Ответ = КоннекторHTTP.КакJson(Ответ);
URL_new ="https://onetimesecret.com/secret/"+Ответ["secret_key"];
Сообщить(URL_new);
Иначе
Ошибка = КоннекторHTTP.КакJson(Ответ)["message"];
сообщить("Ошибка "+Ответ.КодСостояния+"
|Результат: "+Ошибка);
Возврат;
КонецЕсли;
Пример кода с регистрацией и отправка секрета на почту:
URL= "https://onetimesecret.com/api/v1/share";
Данные = Новый Структура;
Аутентификация = Новый Структура;
Аутентификация.Вставить("Пользователь", "___почта___");
Аутентификация.Вставить("Пароль", "___api_ключ___");
Данные = Новый Структура;
Данные.Вставить("secret", "Это мой секрет");
Данные.Вставить("passphrase", "Пароль для секрета");
Данные.Вставить("ttl", 7200); //Время жизни секрета
Данные.Вставить("recipient", "___почта_кому_отправить_секрет___);
Ответ = КоннекторHTTP.Post(URL,Данные,Новый Структура("Аутентификация",Аутентификация));
Если Ответ.КодСостояния = 200 Тогда
//все ок
Ответ = КоннекторHTTP.КакJson(Ответ);
URL_new ="https://onetimesecret.com/secret/"+Ответ["secret_key"];
Сообщить(URL_new);
Иначе
Ошибка = КоннекторHTTP.КакJson(Ответ)["message"];
сообщить("Ошибка "+Ответ.КодСостояния+"
|Результат: "+Ошибка);
Возврат;
КонецЕсли;
Пример письма будет таким:
После перехода по ссылке надо ввести пароль (параметр - passphrase):
и посмотреть сообщение:
Повторное обращение по ссылке будет уже таким: