Basic
Salesforce предлагает решения Web-to-Lead и Web-to-Case. Они довольно просты в использовании (вам не нужно сначала заходить в SF), вы нажимаете SF, чтобы создать форму HTTP POST. И затем, глядя на это, вы можете легко понять, как сделать запрос POST.
Они также довольно примитивны, они работают, передавая ваш уникальный идентификатор SF-организации в общий URL-адрес, который будет отправлять запрос - так что это то, что вы определенно хотите скрыть на стороне сервера, возможно, защитить с помощью CAPTCHA ... Момент кто-то узнает ваш SF-идентификатор организации и может спамить вас тысячами фальшивых клиентов. Прочитайте справку, связанную с Web-to-Lead, ограничениями и решите, правильно ли это звучит.
![enter image description here](https://i.stack.imgur.com/WAh0D.png)
SF создаст из него HTML-форму
<form action="https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
<input type=hidden name="oid" value="00D7000000{hidden}">
<input type=hidden name="retURL" value="https://stackoverflow.com">
<label for="first_name">First Name</label><input id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br>
<label for="last_name">Last Name</label><input id="last_name" maxlength="80" name="last_name" size="20" type="text" /><br>
...
Так что теперь у вас есть URL и параметры для вашего POST. Наденьте на него заголовок Content-Type:application/x-www-form-urlencoded
, и все готово. Возможно, сохраните идентификатор организации в какой-то конфигурации, чтобы вы могли легко переключаться между экземплярами test и prod SF.
Advanced
Если вам нужно что-то более изощренное (загрузить не только Lead, но и другие таблицы, возможно, вложения, возможно, проверить, существует ли то же электронное письмо и нужно ли его сначала обновить ...) - вам потребуется правильный доступ к API, SOAP или REST. Это означало бы два вызова POST, один для получения идентификатора сеанса, один для фактического сохранения. Вы можете сделать это вручную или использовать одну из SF PHP-библиотек, например https://developer.salesforce.com/index.php?title=Getting_Started_with_the_Force.com_Toolkit_for_PHP&oldid=51397. Если вы вручную - пример сообщения для входа здесь https://stackoverflow.com/a/56034159/313628 или перейдите к документации REST API.
И как только вы войдете (вы также можете использовать https://workbench.developerforce.com/login.php -> REST explorer или https://developer.salesforce.com/docs/api-explorer/sobject/Lead)
![enter image description here](https://i.stack.imgur.com/tbrWY.png)