#php #curl #hubspot #concrete5-8.x
#php #curl #hubspot #concrete5-8.x
Вопрос:
Я попытался отправить запрос curl в HUBSPOT, используя следующую конечную точку «https://forms.hubspot.com/uploads/form/v2 /{portalId}/{formGuid}». {portalId} и {formGuid} были правильно заменены.
Когда запрос отправляется, код состояния 204 возвращается в качестве ответа, но данные не добавляются.
Кодовая база на сервере и на моем локальном хосте точно такая же. Он отлично работает на моем локальном хосте, но не работает на сервере.
Пожалуйста, кто-нибудь может помочь определить проблему как неспособную выяснить возможные причины этого? Есть много вопросов, касающихся того же.
Заранее спасибо.
Функция для вызова api.
public static function api($post_values)
{
self::getKeyValues();
//replace the values in this URL with your portal ID and your form GUID
$endpoint = 'https://forms.hubspot.com/uploads/form/v2/{portalId}/{formGuid}';
$endpoint = str_replace("{portalId}", self::$portalID, $endpoint);
$endpoint = str_replace("{formGuid}", self::$formID, $endpoint);
$ch = @curl_init();
@curl_setopt($ch, CURLOPT_POST, true);
@curl_setopt($ch, CURLOPT_POSTFIELDS, $post_values);
@curl_setopt($ch, CURLOPT_URL, $endpoint);
@curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = @curl_exec($ch); //Log the response from HubSpot as needed.
$status_code = @curl_getinfo($ch, CURLINFO_HTTP_CODE); //Log the response status code
@curl_close($ch);
return $status_code; //if 204 status code is printed that means for has been submitted successfully.
}
Комментарии:
1. Что вы имеете в виду под
not working on the server
этим ? Это ошибка отображения, или время ожидания истекло, или что-то еще? Я рекомендую вам заменить@
sign beforecurl_exec
и другие функции, поскольку они подавляют ошибку, чтобы вы не увидели какой-либо релевантной ошибки, которая могла бы помочь вам понять проблему.2. @krylov123, я удалил @ sign перед curl_exec и добавил точку останова, чтобы просмотреть ответ от Hubspot. Возвращаемый ответ — «204», и ошибка не отображается, что помогает мне понять, в чем проблема. Но электронное письмо, которое я добавил в Hubspot для создания контакта, не отразилось в Hubspot. Там не было создано никакого контакта. Надеюсь, это имеет больше смысла, дайте мне знать, если вам понадобится дополнительная информация по этому поводу.
3. Итак, вы получаете 204 ответа в обоих случаях — успешный и неудачный? Если это так, то вы не можете определить ошибку на своей стороне, и вам следует обратиться в службу поддержки hubspot с этими результатами.
4. Спасибо, @krylov123, я постараюсь это сделать.