Запрос Php curl — отправка ответа формы Hubspot 204. Нет данных, отраженных в Hubspot

#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 before curl_exec и другие функции, поскольку они подавляют ошибку, чтобы вы не увидели какой-либо релевантной ошибки, которая могла бы помочь вам понять проблему.

2. @krylov123, я удалил @ sign перед curl_exec и добавил точку останова, чтобы просмотреть ответ от Hubspot. Возвращаемый ответ — «204», и ошибка не отображается, что помогает мне понять, в чем проблема. Но электронное письмо, которое я добавил в Hubspot для создания контакта, не отразилось в Hubspot. Там не было создано никакого контакта. Надеюсь, это имеет больше смысла, дайте мне знать, если вам понадобится дополнительная информация по этому поводу.

3. Итак, вы получаете 204 ответа в обоих случаях — успешный и неудачный? Если это так, то вы не можете определить ошибку на своей стороне, и вам следует обратиться в службу поддержки hubspot с этими результатами.

4. Спасибо, @krylov123, я постараюсь это сделать.