Прежде всего, пожалуйста, не публикуйте конфиденциальные данные, такие как идентификатор пациента, идентификатор сайта или URL вашего приложения.
Относительно вашей проблемы ... В вашей команде curl вы используете имя параметра vistreason
но в своем запросе на Guzzle вы используете visitreason
.
Я проверил это на Postman, и он вернул ошибку 500 Server, поскольку поле vistreason
не может быть пустым.
Кроме того, я проверил с помощью Guzzle (6.x):
$client = new Client(['verify' => false]); // I deactivated ssl verification
$body = [
'externalpatientid' => '<id from curl request>',
'externalsiteid' => '<id from curl request>',
'poscode' => 20,
'dos' => '2020-02-28T00:10:52.416Z',
'vistreason' => 'chest hurting bad'
];
$response = $client->request(
'POST',
'<your-server-api-url>',
[
'headers' => [
'content-type' => 'application/json',
'accept' => 'application/ld+json'
],
'body' => json_encode($body),
]
);
var_dump(json_decode($response->getBody()->getContents()));
// Output seems to be a valid response with some data from the request.
Возможно, что-то не так с вашим сертификатом для проверки.
Примечание: Я также очень рекомендую реализовать аутентификацию в виде токена для взаимодействия с вашим API!