Настроить выгрузку Webhooks API Unisender через PHP

Бюджет: по договоренности
Нужно создать рассылку в сервисе Unisender и реализовать получение статусов email рассылок с помощью Webhooks API Unisender через PHP.

Необходимо получать статусы рассылки в формате JSON 

Например,
{
"auth":"6931402abc4b2a76b9719d911017c592",
"num":"12",
"events_by_user": [
{
"login":"user_zz",
"events":[
{
"event_name":"email_status",
"event_time":"2015-04-24 15:18:34",
"event_data": {
"email":"user@example.com",
"campaign_id":"124345",
"campaign_comment":"",
"user_campaign_id":"346134",
"status":"ok_read",
"status_group":"success_group"
}
}

Далее (это просто для логики, что бы Вы понимали) данные "email" и "status" будут сопоставляться с MySQL. 


Можно доработать или переписать код примера высланный службой поддержки.

hook.php
class hook {
public function handle($receiver_path)
{
$filename = basename($receiver_path, '.php');

$api_key =  "'';// ваш api_key

$postData = file_get_contents('php://input');
if (strlen($postData) > 0) {
$decodedData = json_decode($postData, true);
if ($decodedData == '') {
$decodedData = json_decode(gzdecode($postData), true);
}
$hash = $decodedData['auth'];
$decodedData['auth'] = $api_key;
file_put_contents('/tmp/__' . $filename . '__' 
. time() . '.log', var_export($decodedData, true) 
. "nn Hash received: {$hash}n Hash verifying: " 
. md5(json_encode($decodedData)));
} else {
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
file_put_contents('/tmp/GET__' . $filename . '__' 
. time() . '.log', $actual_link, FILE_APPEND);
echo 'Yep! It works! Filename: ' . $filename;
}
}
}


mail.php
<?php
require_once ("hook.php");
$h = new hook;
$h->handle("_FILE_");
?>

Информация по работе с Webhooks – support.unisender.com/ind...

После того как создадите рассылку и сделаете получение Webhooks, покажите результат. Получите аванс. Далее при интеграции на наш сайт полную оплату.


Опубликован 20.01.2016 в 12:41

Выберите способ верификации:

Обновите страницу после прохождения верификации.