スポンサーリンク

cURLでSalesforceのWeb-to-Lead(リード)のPOSTが失敗になった時の対処

SalesforceのWeb-to-Lead(リード)を利用する時、Salesforce内で生成できるHTMLのフォームを利用するのが最も手軽なのですが、私の場合はWordPressのContact Form 7でのメール送信時に、メール送信イベントの処理にフックする形でサーバーサイドからcURLでPOSTしたいと考えました。

調べると、丁度良い文献を発見

Wordpress + Contact Form 7 で Salesforce の Web-to-リード を送信する - Qiita
Salesforce の Web-to-リードを使用すると、問い合わせフォームから見込み顧客の情報を直接Salesforceに取り込むことができます。 しかし、Salesforceで生成されたHTMLをそのまま使用すると、入力内容の...

しかし、curl_exec関数の戻り値はfalseであり、Salesforce側でもPOSTされたリードのデータは有りませんでした。

cURLのエラー情報の取得を試みてみるも、それ自体もfalseとしか得られず、試行錯誤した結果、原因解消としては下記のSSL検証を無効にする記述が必要ということが分かりました。

$ch = curl_init();
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );

“CURLOPT_SSL_VERIFYHOST も合わせて設定せよ”という文献もありましたが、これについては特に記述しなくても問題なかったです。(そもそも検証有効時にしか影響無さそう)

タイトルとURLをコピーしました