@ovignatov

Как принять POST json запрос на php?

Всем привет! Возник вопрос, с которым мучаюсь уже несколько дней.
Имеется сервис, который отправляет на указанную страницу POST запрос в формате json, мне же нужно его поймать на своей странице и добавить элементы в базу.

В документации прописано:
Пример запроса:
POST /page.php HTTP/1.1
Host: host.host
Authorization: Bearer XXXXX
Content-Type: application/json
Accept: application/json
Cache-Control: no-cache
{
"date": "2017-04-25T01:29:20.4520214+00:00",
"stocks": [
    {
    "nnt": 111173,
    "qnt": 5,
    "man": "man",
    "prcRet": 117.99,
    "name": "name",
    "dtComing": "2017-08-09T00:00:00 + 07:00"
    }
 ]
}

Пример успешного ответа:
HTTP/1.1 202 Accepted
[]

Пытаюсь поймать через php
header('content-type: application/json');
$v = json_decode(file_get_contents('php://input'));
echo json_encode($v);

Но на странице получаю NULL, хотя сервис говорит, что все гуд. Подскажите пожалуйста, как поймать этот json?
  • Вопрос задан
  • 574 просмотра
Пригласить эксперта
Ответы на вопрос 3
profesor08
@profesor08
Парси php://input

// твои данные тут
$input = json_decode(file_get_contents("php://input"), true);


Если пусто, то по цепочке дальше: https://php.net/manual/ru/wrappers.php.php
Перебирай и найдешь все, что тебе прилетает.
Ответ написан
irishmann
@irishmann
Научись пользоваться дебаггером
Вот тут посмотрите, похожая ситуация
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы