Попробуйте сохранить ответ webhook в моей базе данных - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь сохранить ответ webhook в моей таблице базы данных, но он хранится в объекте массива, а не в значении.

<?php
const WEBHOOK_SECRET = 'Secre_key';
function verifySignature ($body, $signature) {
    $digest = hash_hmac('sha1', $rawPost, WEBHOOK_SECRET);
    return $signature !== $digest ;
}
if (!verifySignature(file_get_contents('php://input'), $_SERVER['HTTP_X_TAWK_SIGNATURE'])) {
    // verification failed
} else {
// verification success
$servername = "localhost";
$username = "name";
$password = "password";
$db = "twakdata";

// Create connection
$conn = new mysqli($servername, $username, $password, $db);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$json_string = file_get_contents('php://input');
$stringLen = strlen($json_string);
$array_data = json_decode($json_string, true);
    $sql = 'INSERT INTO twak (message,len) VALUES ("'.$array_data.'","'.strlen($json_string).'")';
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

}
?>

И вывод:

id | Сообщение | Len 1 | Массив | 0 2 | Массив | 0 2 | Массив | 0

но я хочу получить значение массива вместо объекта массива в столбце сообщения. Может кто-нибудь, пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 07 марта 2020
$array_data['message']['text']

содержит: Имя: неизвестно Телефон: 88776654322 E-mail: y@gmail.com Вопрос: Привет Вопрос

эти атрибуты, как я могу получить номер телефона с этого ??

0 голосов
/ 04 марта 2020

Глядя на документацию tawk webhook , вам нужно изменить $array_data в строке ниже

$sql = 'INSERT INTO twak (message,len) VALUES ("'.$array_data.'","'.strlen($json_string).'")';

на

$array_data['message']['text']

При этом используется text свойство объекта message в данных webhook для получения текста сообщения.

...