API Проверка контрагента

Все вопросы/проблемы по установке и использовании.
Ответить
alex.rodr
Сообщения: 34
Зарегистрирован: 01 апр 2022, 10:32
Имя: Александр Родригес
Откуда: Россия, Санкт-Петербург

API Проверка контрагента

Сообщение alex.rodr »

Всем привет.
Пытаюсь связать форму CRM с API DaData.

есть сущность Поставщики_75
[835] Поле для ввода: Наименование организации
[840] Поле для ввода: Адрес
[836] Числовое поле: ИНН
[846] Числовое поле: ОГРН

Цель:
1. При заполнении [835] - использовать справочник DaData для поиска наименований организаций.
2. При выборе организации - автоматически заполнять [840], [836], [846]

Для этого, на странице с формы нужно добавить:

<script src="https://cdnjs.cloudflare.com/ajax/libs/ ... "></script>
<link href="https://cdn.jsdelivr.net/npm/suggestion ... ns.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/suggestion ... "></script>

<script>
$("[835]").suggestions({
token: "API-key",
type: "NAME",
/* Вызывается, когда пользователь выбирает одну из подсказок */
onSelect: function(suggestion) {
console.log(suggestion);
}
});
</script>

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

!Если создать обычную HTML страничку - все работает!
Но как заставить работать через форму в CRM - не пойму...

В теории есть 2 решения:
1. Это использовать тип поля - например AJAX. Но как это правильно сделать - непонятно.
Ошибка "<" появляется
2. Это лезть в код страницы _75 и добавлять данные выше...
Но вот где искать эту страницу - тоже непонятно )))
https://domain.ru/index.php?module=enti ... ties_id=75
По идее страница лежит - не понятно)


Помогите, пожалуйста, с решением.
Я думаю много кому такое понадобится....
Lexxor2011
Спонсор
Спонсор
Сообщения: 71
Зарегистрирован: 01 фев 2023, 18:12
Имя: Алексей Грибков
Откуда: Россия, г. Южно-Сахалинск
Организация: ООО "Интер Энерджи"

Re: API Проверка контрагента

Сообщение Lexxor2011 »

Если у Вас установлено Дополнение, то ничего не нужно мудрить, в "Модулях"-> "Умный ввод" настраиваете для DaData и все. Привязываете проверку к полям сущности и указываете потом какие данные в какое поле вставить, например:
2023-06-14_00-35-48.png
В документации все рассказано, как настроить: https://docs.rukovoditel.net.ru/index.php?p=60
alex.rodr
Сообщения: 34
Зарегистрирован: 01 апр 2022, 10:32
Имя: Александр Родригес
Откуда: Россия, Санкт-Петербург

Re: API Проверка контрагента

Сообщение alex.rodr »

Ух ты)))
Дай бог тебе здоровья добрый человек!!!
alex.rodr
Сообщения: 34
Зарегистрирован: 01 апр 2022, 10:32
Имя: Александр Родригес
Откуда: Россия, Санкт-Петербург

Re: API Проверка контрагента

Сообщение alex.rodr »

В идеале - это иметь возможность самому создавать такие плагины для разных ИС

Т.е. как правило - большинство методов API схожи.
- Есть базовая ссылка
- Есть Headers
- Есть API-key
- Есть авторизация
- Есть группа переменных
- Есть переменная

Мб подскажет кто как реализовать?


Например "ПЭК" - Транспортная компания.
Задача - формирование заказа на транспортировку груза из CRM.

1. Базовая ссылка "https://kabinet.pecom.ru/api/v1/"
2. Headers:
- Content-Type: application/json
- charset: utf-8
3. Basic Auth:
- user: xxx
- PWD: API-key
4. Для оформления заказа работаем с группой /cargopickup/submit
5. Ну собственно и парсим переменные в нужные нам поля в CRM
Аватара пользователя
SalahievFR
Сообщения: 387
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: API Проверка контрагента

Сообщение SalahievFR »

Возможно Вам будет полезен мой код.
Аякс Запрос:

Код: Выделить всё

$vin = [262]; // переменная вин кода
$countvin = mb_strlen($vin);

if ($countvin == 12) {
$zap=file_get_contents("https://script.google.com/macros/s/AKfy ... exec".$vin);
$result = json_decode($zap, true);
$marka = $result['users']['Make'];
$markaModel = $result['users']['Model'];

echo '<script>
$("#fields_266").val(\'' . addslashes($marka) .'\');
$("#fields_302").val(\'' . addslashes($markaModel) .'\');
</script>';


echo "<b>Вин: </b>".$vin."<br>";
echo "<b>Кол-во символов в ВИН: </b>".$countvin."<br>";
echo "<b>Ответ из АПИ: </b>".$marka."<br>";
echo "<b>Ответ из АПИ: </b>".$markaModel."<br>";
}
alex.rodr
Сообщения: 34
Зарегистрирован: 01 апр 2022, 10:32
Имя: Александр Родригес
Откуда: Россия, Санкт-Петербург

Re: API Проверка контрагента

Сообщение alex.rodr »

Угу.
Я видел твой тикет.

Проблема в том, что у тебя в урле ключ задается
А у меня этот ключ в аторизации (в принципе в урле можно задать авторизацию. Видел где-то такое)

Но вот 2 хэда хз как в запрос вписать)

1. Базовая ссылка "https://kabinet.pecom.ru/api/v1/"
2. Раздел оформления заказа - к ссылке добавляется /cargopickup/submit
3. Headers:
- Content-Type: application/json
- charset: utf-8
4. Basic Auth:
- user: xxx
- PWD: API-key




Через postman - все шикарно работает!
Ответить