LoginSignup
0
0

More than 1 year has passed since last update.

SalesforceのWeb-to-リードでサーバーにリクエストを通してから、Salesforce に登録する。

Posted at

Web-toリードとは

Salesforceにリードを登録するときに直接フォーム->Salesforceに登録できるものです。
フォームの作成もポチポチ設定すればできるので非常に便利ではあるものの、
フォームのバリデーションはフロントのみでバックエンドを通さないのでできなかったりするのでそのまま使うと少々不便だったりします。

どうやったか

フォームの作成で生成されたパラメータを元に
バックエンドでGuzzleでリクエストしただけです。
これについて調べると、curlでの英語の記事しかなかったので、サクッと記事にしました。

use GuzzleHttp\Client;
...
...
.
class SalesforceWebToLeadService
{
    public function post(array $params)
    {
        // $params は key-valueでパラメータを作成してください 例: first_name => 'HOGE' など
        // oidは必ず入れる
        $params['oid'] = "個別の識別子";

        $options = [
            'http_errors' => true,
            'verify'      => false,
            'form_params' => $params,
            'headers' => [
                'Host' => "webto.salesforce.com",
            ]
        ];

        try {
            $client = new Client();
            $client->post("https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8", $options);
        } catch (\Exception $e) {
            \Log::error($e->getMessage());
        }
    }
}

こうすれば、フォーム->バックエンド->salesforceへデータを流せて、バックエンドのバリデーションやレコードを作成したり、いろいろしたうえでsalesforceへレコードを作成できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0