Задать вопрос
mikkhalev
@mikkhalev

Почему не работает POST запрос?

Пытаюсь отправить массив по api. Написал код в functions.php, для теста запрос выполняется при загрузке страницы.
$url = 'https://domain.ru/api';
        $args = [
            'body' => [
                "CityId" => null,
                "SchoolId" => 16348,
                "Name" => 'Алексей Тест',
                "ChildName" => null,
                "Phone" => '+79633260000',
                "Type" => 2,
                "Email" => null,
                "SchoolType" => null,
                "UtmSource" => null,
                "UtmCampaign" => null,
                "UtmContent" => null,
                "UtmMedium" => null,
                "UtmTerm" => null,
                "PromoCode" => null,
                "Comment" => null,
            ],
            "sslverify" => false,
        ];

        wp_remote_post( $url, $args );

Тестировал получение данных через сервис webhook.site, туда все успешно приходит. А когда вставляю ключ системы, которая должна поймать json, система ничего не видит. Я думал может как-то связано с протоколом https, но вроде как нет. Подскажите в чем может быть проблема?
  • Вопрос задан
  • 116 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
nipopadyuk
@nipopadyuk
Может мой код тебе поможет. Я в СРМ систему Интрумнет так сделал отправку, она сработала

add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' );
function your_wpcf7_mail_sent_function( $contact_form ) {
	
	
	$title = $contact_form->title;
	$posted_data = $contact_form->posted_data;
	if ('Заявка на ипотеку' == $title ) { //Вместо "Контактная форма 1" необходимо указать название Вашей контактной формы
		$submission = WPCF7_Submission::get_instance();
		$posted_data = $submission->get_posted_data();
       //далее мы перехватывает введенные данные в Contact Form 7
			$f7Name = $_POST['your-name'];
			$f7Email = $_POST['your-email'];
			$f7tel = $_POST['your-tel'];
			$site_url = $_POST['url-adress'];
			$kvvprice = $_POST['kvvprice'];
			$perv_vznos = $_POST['perv_vznos'];



			$ch = curl_init();
			curl_setopt_array($ch , array(
				CURLOPT_URL            => 'http://___.intrumnet.com/onlineforms' ,
				CURLOPT_POST           => true ,
				CURLOPT_RETURNTRANSFER => true ,
				CURLOPT_CUSTOMREQUEST  => "POST" ,
				CURLOPT_POSTFIELDS     => http_build_query(array(
					"action"   => "fillform" ,
					"formtype" => 7 ,
					"data"     => array(
						"def_customer" => array(
							"name" => $_POST['your-name'] ,
							"email" => $_POST['your-email'] ,
							"phone" => $_POST['your-tel']
						) ,
						"ext_request" => array(
							"722" => array(
								"type"  => "text" ,
								"value" => $site_url /* Ссылка на страницу объекта */
							) ,
							"723" => array(
								"type"  => "decimal" ,
								"value" => $perv_vznos /* Первоначальный взнос */
							) ,
							"724" => array(
								"type"  => "decimal" ,
								"value" => $kvvprice /* Сумма кредита */
							)
						)
					) ,
					"ihistory" => $_POST[ 'intrum_stat_history' ] /* Используется для получения данных статистики посетителя сайта, отправившего онлайн-форму, например: источник входа, история просмота страниц и т. д. Вставьте в HTML-форму код, размещённый в пункте "Пример формы в HTML" ниже */
				))
			));
			$responseData = json_decode(curl_exec($ch)); // ответ от сервера



			
			
			curl_close($ch);
			//echo rawurldecode('%D0%9D%D0%B0%D1%88%D0%B8%20%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D1%81%D1%82%D1%8B%20%D1%81%20%D0%92%D0%B0%D0%BC%D0%B8%20%D1%81%D0%B2%D1%8F%D0%B6%D1%83%D1%82%D1%81%D1%8F%20%D0%B2%20%D0%B1%D0%BB%D0%B8%D0%B6%D0%B0%D0%B9%D1%88%D0%B5%D0%B5%20%D0%B2%D1%80%D0%B5%D0%BC%D1%8F.');


		}
	 
	}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы