Я пытаюсь отправить форму на удаленную форму, используя ajax с помощью curl post api call. Я потерпел неудачу при установке CURLOPT_POSTFIELDS. Может ли кто-нибудь помочь мне преобразовать мою команду curl в php
, вот мой код команды cURL
$curl https://a.klaviyo.com/api/v1/list/XXXXXXX/members \
-X POST \
-d api_key=XXXXXXX_XXXXX\
-d email=george.washington@example.com \
-d properties='{ "$first_name" : "George"}' \
-d confirm_optin=true
, что я делал до сих пор
function klaviyo_subscribe_api_example(){
$pub_api_key = 'XXXXXXX';
$list_id = (isset($_POST["g"])) ? $_POST["g"] : 'XXXXXX';
$name = (isset($_POST['name'])) ? $_POST['name'] : '';
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://a.klaviyo.com/api/v1/list/XXXXXXX/members');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "api_key=API_KEY&email=george.washington@example.com&properties='{&confirm_optin=true");
$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
}