Gravity Forms Web API Update запись

Я пытаюсь использовать Gravity Forms Web API для обновления записи, это код php, который у меня есть на данный момент.

<?php
$api_key = '';
$private_key = '';
$method  = 'PUT';
$endpoint = 'https://www.website.co.uk/gravityformsapi/';
//$route = 'entries';
$route = 'entries/61';
$expires = strtotime('+60 mins');
$string_to_sign = sprintf('%s:%s:%s:%s', $api_key, $method, $route, $expires);
$sig = calculate_signature($string_to_sign, $private_key);

$api_call = $endpoint.$route.'?api_key='.$api_key.'&signature='.$sig.'&expires='.$expires;

//array of entries (each entry is an array with key=field id)
$entries = array(
array("status"=>"active","1.3"=>$_POST['first_name'],)
);

$ch = curl_init($api_call);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($entries));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);

$result = curl_exec($ch);

function calculate_signature($string, $private_key) {
    $hash = hash_hmac("sha1", $string, $private_key, true);
    $sig = rawurlencode(base64_encode($hash));
    return $sig;
};
?>

Ответ, который я получаю, заключается в том, что сообщение успешно обновлено, но вместо обновления сообщения, кажется, удалить сообщение. Кто — нибудь видит что-то не так с моим кодом? Если я обновлю страницу записи, которую я редактировал на WordPress, я получу эту ошибку.

Fatal error: Cannot use object of type WP_Error as array in /data02/c6536622/public_html/wp-content/plugins/gravityforms/entry_detail.php on line 57

Есть ли в любом случае, чтобы получить журнал, чтобы узнать, что происходит не так, используя гравитационные формы или WordPress?

1 ответ

  1. При обновлении одной записи просто отправьте одну запись вместо коллекции. Кроме того, отправьте всю запись, или вы в конечном итоге удалите все значения для отсутствующих полей.