Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 1
Регистрация: 12.06.2015
Сообщений: 39
1

Как выполнить url запрос Bitrix?

21.05.2020, 13:12. Просмотров 50. Ответов 1

Всем привет!
Подскажите, как выполнить URL запрос после регистрации пользователя в 1С-Битрикс?
Пытался так:
PHP
1
2
3
4
5
6
7
8
9
AddEventHandler("main", "OnAfterUserRegister", Array("Unisender", "OnAfterUserRegisterHandler"));
class Unisender
{
    function OnAfterUserRegisterHandler(&$arFields)
    {
            $unisender = file_get_contents('https://api.unisender.com/ru/api/subscribe?format=json&api_key=6o5qtwwi5tgtgr4jw97xc8ypocjbq8fz3u3e48ra&list_ids=20662459,14498425&fields[email]='.$arFields["EMAIL"].'&fields[Name]='.$arFields["NAME"].'');
            return $unisender;
   }
}
Но URL не выполняется.
Внутри функции пытался выполнить через cURL
PHP
1
2
3
4
5
6
$ch = curl_init('https://api.unisender.com/ru/api/subscribe?format=json&api_key=6o5qtwwi5tgtgr4jw97xc8ypocjbq8fz3u3e48ra&list_ids=20662459,14498425&fields[email]='.$arFields["EMAIL"].'&fields[Name]='.$arFields["NAME"].'');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, 0);
 
        $data = curl_exec($ch);
        curl_close($ch);
Моих знаний не хватает, чтобы разобраться в чем проблема. После выполнения URL должен создаваться подписчик в Unisender.

Вот так работает
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
$arFields["EMAIL"] = 'cmsjdk4tdwzj@mail.ru';
$arFields["NAME"] = 'test1';
 
$info = file_get_contents('https://api.unisender.com/ru/api/subscribe?format=json&api_key=6o5qtwwi5tgtgr4jw97xc8ypocjbq8fz3u3e48ra&list_ids=20662459,14498425&fields[email]='.$arFields["EMAIL"].'&fields[Name]='.$arFields["NAME"].'');
//$info = json_decode($info, true);
print_r($info);

Но так работает просто при загрузке страницы, а должно после регистрации пользователя. Читал в доках про стандартный метод выполнения URL, но как его реализовать не понял.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2020, 13:12
Ответы с готовыми решениями:

Как выполнить запрос на получения url для загрузки картинки
как выполнить запрос на получения url для загрузки картинки в одноклассниках?? можете привести...

Как выполнить modrewrite такого url?
Есть вот такой урл кодеры: ...

Как спуститься на url уровнем ниже, или перейти из url одного приложения в url другого?
Допустим есть приложение cat и приложение dog. В корневом urls.py прописанно: from django.contrib...

Как разместить bitrix::news компонент в шаблоне компонента news::detail другого bitrix::news?
Доброго времени суток, не так давно окунулся в мир битрикс разработки и передо мной встал следующий...

1
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 239
Вчера, 06:53 2
Лично мне кажется, вариант с CURL оптимальный. пробуй с ним.
И попробуй событие другое поюзать: OnAfterUserAdd
Возможно у тебя регистрация не стандартная.
И лично я бы поделил задачу на 2 части, 1 - проверка самого скрипта подписки через курл, 2 - проверка отработки события в обработчике.

попробуй по событию просто куда-нибудь записать что-нибудь...да хоть файл txt создай и запиши в него что угодно.
Если все хорошо, тогда уже суй туда скрипт подписки. А пока даже не понятно, где ошибка)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Вчера, 06:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как сделать запрос на URL без нажатия кнопки?
Добрый день. Подскажите, пожалуйста, как можно реализовать запрос GET/POST без нажатия какой либо...

Как передать переменную в середину URL ссылки get запрос
Пример то что я пытаюсь сделать payload = SiteGuid ping_site =...

как правильно выполнить запрос?
$result = mysql_query("SELECT * FROM messages WHERE `num`=".$stat." ORDER BY id DESC LIMIT...

Как выполнить запрос на авторизацию в ВК
Как выполнить запрос на авторизацию в ВК?

Как выполнить HTTPS GET запрос
HttpWebRequest requestq = (HttpWebRequest)WebRequest.Create("https://market.dota2.net/sell/"); ...

Как выполнить данный запрос
Как выполнить данный запрос. Получить номера проектов, обеспечиваемых по крайней мере всеми...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.