Установил себе Postman. В теле запроса такое
{
"apiKey": "[ВАШ КЛЮЧ]",
"modelName": "TrackingDocument",
"calledMethod": "getStatusDocuments",
"methodProperties": {
"Documents": [
{
"DocumentNumber": "20400120240053"
}
]
}
}
В ссылке такое
http://testapi.novaposhta.ua/v2.0/en/documentsTracking/json/
Получаю ответ
{
"success": true,
"data": [
{
"Number": "20400120240053",
"Redelivery": 0,
. так далеее....
Копирую ctrl+c ctrl+v ответ в файлик в формате json ( response.json) И обрабатываю его так
<?php
$jsondata = file_get_contents("response.json");
$json = json_decode($jsondata,true);
//$output = $json['data'];
foreach ($json['data'] as $data) {
$output .= "Номер декларації: ".$data['Number']."<br/>";
$output .= "Місто відправки: ".$data['CitySender']."<br/>";
$output .= "Склад відправки: ".$data['WarehouseSender']."<br/>";
$output .= "Місто отримання: ".$data['CityRecipient']."<br/>";
$output .= "Склад отримання: ".$data['WarehouseRecipient']."<br/>";
}
echo $output;
?>
На фронтенде получаю. Номер декларації: 20400120240053 Місто відправки: Дніпро Склад відправки: Відділення №6: вул. Ударників, 27 Місто отримання: Ковель Склад отримання: Відділення №1: вул. Володимирська, 135
Как мне послать этот запрос. Я так понимаю из input я буду брать номер декларации как его вставлять динамически в запрос. И как потом ответ помещать в файл? Если кто может напишите пример.... Буду очень признателен.
POST-запрос, с json-данными в качестве параметра запроса можно отправить с использованием ф-ции file_get_contents():
<?php
$payload = <<< EOT
{
"apiKey": "[ВАШ КЛЮЧ]",
"modelName": "TrackingDocument",
"calledMethod": "getStatusDocuments",
"methodProperties": {
"Documents": [
{
"DocumentNumber": "20400120240053"
}
]
}
}
EOT;
$opts = [
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $payload
]
];
$context = stream_context_create($opts);
$jsondata = file_get_contents(
"http://testapi.novaposhta.ua/v2.0/en/documentsTracking/json/",
false,
$context
); // <--- результат!
...
Полученный результат - данные в json-формате.
Можно, вместо ф-ции file_get_contents() использовать библиотеку cURL:
<?php
$payload = <<< EOT
{
"apiKey": "[ВАШ КЛЮЧ]",
"modelName": "TrackingDocument",
"calledMethod": "getStatusDocuments",
"methodProperties": {
"Documents": [
{
"DocumentNumber": "20400120240053"
}
]
}
}
EOT;
$ch = curl_init("http://testapi.novaposhta.ua/v2.0/en/documentsTracking/json/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded')
]);
$jsondata = curl_exec($ch); // <--- результат!
curl_close($ch);
Полученный результат - данные в json-формате.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Делаю сайт на Yii2Использую разные виджеты, например, GridView
При попытке выгрузить PDF в браузер с помощью $dompdf->stream('schet-16pdf'); Выгружается невалидный PDF
Есть два custom_post_type => country и turs Хочу получить по итогу для turs url вида /country/russia/turs/moscow В итоге, получаю при помощи:
Ребята, нервы дико сдаютУстанавливаю на сервер ubuntu 18 PHPWord