2016-03-11 3 views
0

Я только что интегрировал маркетинговый инструмент Klaviyo с нашей установкой Wordpress/WooCommerce, и я пытаюсь подтолкнуть метаданные пользователя через API cURL, но не удалось!Wordpress Данные пользователя, отправленные через cURL

Вы можете узнать, как работает API здесь: https://www.klaviyo.com/docs/http-api#people

Я надеюсь добавить действие так, если профиль пользователя сохраняет, перехватывает в моей функции отправки мета-данные до Klaviyo.

Может ли кто-нибудь увидеть, что я сделал неправильно, пожалуйста, код ниже?

Большое спасибо.

Линц

<?php 

// Hook into the action which saves the User Meta Data (written by LD) 

add_action('personal_options_update', 'klaviyo_send'); 
add_action('edit_user_profile_update', 'klaviyo_send'); 

function klaviyo_send() { 

// Get cURL resource 
$curl = curl_init(); 

// Set some options 
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1, 
CURLOPT_URL => 'https://a.klaviyo.com/api/identify?data=eyJ0b2tlbiI6ICJoYXFYaXEiLCAicHJvcGVydGllcyI6IHsiJGVtYWlsIjogInRob21hcy5qZWZmZXJzb25AZXhhbXBsZS5jb20iLCAiJGxhc3RfbmFtZSI6ICJKZWZmZXJzb24iLCAiUGxhbiI6ICJUcmlhbCIsICJTaWduIFVwIERhdGUiOiAiMjAxMy0wMS0yNyAxMjoxNzowNiIsICIkZmlyc3RfbmFtZSI6ICJUaG9tYXMifX0=', 
CURLOPT_POST => 1, 
CURLOPT_POSTFIELDS => array(
    'token' => 'haqXiq', //This is the public 'key' in Klaviyo 
    '$email' => $user_id->email, //This translates the wordpress field into the Klaviyo field 
    'twitter' => $user_id->twitter, 
) 
)); 
// Send the request & save response to $resp 
$resp = curl_exec($curl); 
// Close request to clear up some resources 
curl_close($curl); 

} 

?> 

ответ

0

Попробуйте отправить данные по этому пути .. изменить отправленные данные по адр дружественные пути, как ?key=value&key=value&key=value

//extract data from the post 
    //set POST variables 
    $url = 'https://a.klaviyo.com/api/identify?data=eyJ0b2tlbiI6ICJoYXFYaXEiLCAicHJvcGVydGllcyI6IHsiJGVtYWlsIjogInRob21hcy5qZWZmZXJzb25AZXhhbXBsZS5jb20iLCAiJGxhc3RfbmFtZSI6ICJKZWZmZXJzb24iLCAiUGxhbiI6ICJUcmlhbCIsICJTaWduIFVwIERhdGUiOiAiMjAxMy0wMS0yNyAxMjoxNzowNiIsICIkZmlyc3RfbmFtZSI6ICJUaG9tYXMifX0='; 
    $fields = array(
     'token' => 'haqXiq', //This is the public 'key' in Klaviyo 
     '$email' => $user_id->email, //This translates the wordpress field into the Klaviyo field 
     'twitter' => $user_id->twitter, 
    ); 

    //url-ify the data for the POST 
    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } 
    rtrim($fields_string, '&'); 

    //open connection 
    $ch = curl_init(); 

    //set the url, number of POST vars, POST data 
    curl_setopt($ch,CURLOPT_URL, $url); 
    curl_setopt($ch,CURLOPT_POST, count($fields)); 
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); 

    //execute post 
    $result = curl_exec($ch); 

    //close connection 
    curl_close($ch); 
+0

Спасибо Пракаш! Я дам ему завтра (супер поздно здесь, в Лондоне!), И дайте знать, как я лажу! –

Смежные вопросы