Проверка уникальности текста через text.ru
Как реализовать интеграцию с Text.ru для проверки уникальности текста
1. Получаем ключ (userkey) на сайте text.ru. Тарифы на пакеты text.ru - https://text.ru/pack
2. Создаем исходящий метод API (json, post). Процедура Request:
CREATE PROCEDURE [dbo].[api_textru_request]
@parameters ExtendedDictionaryParameter READONLY, -- входящие параметры для внутренней обработки (используйте Key, Value2)
@username nvarchar(32) -- текущий пользователь.
AS
BEGIN
declare @userkey nvarchar(128) = '_________________________'
declare @callback nvarchar(256) = 'https://demo.web-automation.ru/api/action/textru'
declare @text nvarchar(max) = (select top 1 Value2 from @parameters where [key]='text')
-- SELECT 1 Msg, Result, Url (адрес, куда будет идти запрос)
select '' Msg, 1 Result, 'http://api.text.ru/post' Url
-- SELECT 2 PARAMETERS - параметры, которые будут передаваться во внешний источник
select 'text' name, @text value, 'form' [type]
union
select 'userkey' name, @userkey value, 'form' [type]
union
select 'callback' name, @callback value, 'form' [type]
END
Данный метод API только создает задание на проверку уникальности. В callback указан адрес (наш другой метод API), куда будет отправлен ответ от text.ru
3. Создаем форму с полем text, в процедуре SaveItem вызываем внешнее действие для вызова API.
Примечания:
- делаем RefreshContainer чтобы инициализировать другую форму для проверок результата (watch_textru2). По сути мы здесь загружаем вторую форму в окно результата первой формы
- сам вызов метода API для создания запроса идет в SELECT 2
4. Создаем JS коллбек, чтобы из результата метода API вставить uid задания в новую форму:
$(function () {
as.formcallbacks["watch_textru_saveItem"] = function (data, e) {
var items = JSON.parse(data.additionalData)[0].items;
console.log("Getting uid ----------------", items)
for (var i = 0; i < items.length; i++) {
var el = items[i];
if (el.key == "response") {
var text_uid = JSON.parse(el.value2).text_uid;
setTimeout(function () {
$('.as-form-item[data-code=uid] input').val(text_uid);
}, 2000);
}
}
}
});
5. Создаем входящий метод API, который вызывается на стороне text.ru для передачи результата. Результат складываем в отдельную таблицу БД с идентификатором по UID
CREATE PROCEDURE [dbo].[api_textru_textru]
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(256)
as
begin
declare @uid nvarchar(max) = (select top 1 Value2 from @parameters where [Key] = 'uid')
declare @text_unique nvarchar(max) = (select top 1 Value2 from @parameters where [Key] = 'text_unique')
declare @json_result nvarchar(max) = (select top 1 Value2 from @parameters where [Key] = 'json_result')
declare @spell_check nvarchar(max) = (select top 1 Value2 from @parameters where [Key] = 'spell_check')
declare @id int = (select top 1 id from textru_responses where uid = @uid)
if(@id is null) begin
insert into textru_responses(uid, text_unique, json_result, spell_check) values(@uid, @text_unique, @json_result, @spell_check)
end
update textru_responses
set text_unique = @text_unique, json_result = @json_result, spell_check = @spell_check
where id = @id
-- SELECT 1 - вывод метаданных о результате операции метода API
select '' Msg, 1 Result, 0 errorCode
-- SELECT 2 - вывод самих данных в API (в случае проблем проверьте что этот запрос приходит непустой)
select 'ok' text1
--select * from ord_orders
end
6. Создаем вторую форму с полем uid, которое автоматически будет заполнено в JS коллбеке. SaveItem данной формы:
В процедуре проверяем есть ли данные по данному uid. Если есть - парсим JSON и выдаем результат.
Последние обновления
Интеграции 24.11.2025
Разное 24.11.2025
Форма 15.11.2025
Визуализация 02.11.2025
Таблица 08.10.2025
Форма 26.09.2025
Таблица 23.09.2025
Разное 23.08.2025
Таблица 21.08.2025
Форма 20.08.2025
Таблица 18.08.2025
Таблица 21.06.2025
Форма 07.06.2025
Форма 29.03.2025
Форма 17.02.2025
Файлы и документы 10.01.2025
Форма 01.11.2024
Форма 23.10.2024
SQL-инструмент для создания личных кабинетов на сайте
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства