Я использую Laravel 5.1 и Guzzlehttp 6.1 для отправки запроса на clevertap.
$client = new \GuzzleHttp\Client(['headers' => ['X-CleverTap-Account-Id' => '**********','X-CleverTap-Passcode'=>'*************8']]);$result = $client->request('POST','https://api.clevertap.com/1/upload',["d"=>[
"identity"=>"1189549",
"ts"=>1419421212,
"type"=>"profile",
"profileData"=>[
"Name"=>"Jack Montana",
"Email"=>"jack@gmail.com",
"Phone"=>"+14155551234",
"Gender"=>"M",
"Employed"=>"Y",
"Education"=>"Graduate",
"Married"=>"Y",
"Age"=>28,
"Customer Type"=>"Platinum",
]]]);
Я получаю следующую ошибку.
Ошибка клиента:
POST https://api.clevertap.com/1/upload
привело к
400 Bad Request
ответ: {«status»: «fail», «error»: «Payload
является обязательным»}
Так же, как вы отправили идентификатор / токен в заголовке, обязательно отправьте полезную нагрузку внутри тела HTTP-запроса.
Что-то вроде этого:
$r = $client->request('POST', 'http://httpbin.org/post', [ 'body' =>'raw data' ]);
Это должно вернуть 200 ОК и сделать необходимые обновления.
Других решений пока нет …