В приложении под названием Zapier я отправляю некоторые данные через POST в созданный мною PHP WebHook.
Я проверил соединение с WebHook, и оно хорошее.
В моем WebHook я использую приведенное ниже соединение для получения данных, передаваемых из Zap:
Код: Выделить всё
$payload = json_decode(file_get_contents("php://input"), true);
echo "payload: ";
print_r($payload);
Код: Выделить всё
payload:
Array (
[campaign] =>
[
{'id': 1234, 'campaign_name': 'my campaign name',
'campaign_type': 'Single Content',
'action_type': 'Email', 'topic': 'no topic',
'country_target': 'US', 'created_at': 1702301345043,
'modified_by': 'myemail@yahoo.com',
'isactive': True, 'ispublish': True,
'user_id': 123, 'modified_at': 1719412676636
}
]
)
Код: Выделить всё
$id = isset($payload['id']) ? $payload['id'] : '';
$email = isset($payload['modified_by']) ? $payload['modified_by'] : '';
$campaignName = isset($payload['campaign_name']) ? $payload['campaign_name'] : '';
Код: Выделить всё
echo "id: " . $id;
echo "email: " . $email;
echo "campaign name: " . $campaignName;
Как правильно извлечь значения из массива и установить переменную?
РЕДАКТИРОВАТЬ
В Zap я убедился, что тип полезной нагрузки установлен на JSON, а затем использовал приведенное ниже в своем WebHook: р>
Код: Выделить всё
$payload = file_get_contents("php://input");
Код: Выделить всё
var_dump($payload);
Код: Выделить всё
string(377) "{"campaign": "[{'id': 1234, 'campaign_name': 'my campaign name',
'campaign_type': 'Single Content', 'action_type': 'Email', 'topic': 'no topic',
'country_target': 'US', 'created_at': 1702301345043, 'modified_by': 'myemail@yahoo.com',
'isactive': True, 'ispublish': True, 'user_id': 123, 'modified_at': 1719412676636}]"}"
Обновил свой PHP-код следующим образом:
Код: Выделить всё
$payload = json_decode(file_get_contents("php://input"), true);
$fixedPayload = str_replace("'", '"', $payload);
$jsonData = json_decode($fixedPayload, true);
if (json_last_error() === JSON_ERROR_NONE) {
echo "made it here";
} else {
error_log('Invalid JSON payload: ' . json_last_error_msg());
}
Код: Выделить всё
made it here
{"campaign":"[{\"id\": 1234, \"campaign_name\": \"my campaign name\",
\"campaign_type\": \"Single Content\",
\"action_type\": \"Email\", \"topic\": \"No Topic\",
\"country_target\": \"US\", \"created_at\": 1702301345043,
\"modified_by\": \"myemail@yahoo.com\", \"isactive\": True,
\"ispublish\": True, \"user_id\": 123, \"modified_at\": 1719412676636}]"}
Теперь я просто пытаюсь понять, как чтобы установить каждое значение в свою собственную переменную. Я думаю, это недостающая часть.
Подробнее здесь: https://stackoverflow.com/questions/793 ... from-array
Мобильная версия