Как разместить JSON POST API в файле PHP

{
"id": "4a59a50e-904a-674d-2553-8954ec4a841d",
"name": "JSON API",
"description": "",
"order": [
    "155ae062-f839-ef5a-6c40-61e821202984"
],
"folders": [],
"folders_order": [],
"timestamp": 1522932542555,
"owner": 0,
"public": false,
"requests": [
    {
        "id": "155ae062-f839-ef5a-6c40-61e821202984",
        "headers": "Authorization: Basic OTE5MTAwMTkxY2OjEyMzQ1Ng==\n",
        "headerData": [
            {
                "key": "Authorization",
                "value": "Basic OTE5MTAwMTkxNjY2OyMzQ1Ng= = ",
                "description": "",
                "enabled": true
            }
        ],
        "url": "https://apiurl.in/bez/api/v1/documents/upload?disableSms=false",
        "queryParams": [
            {
                "key": "disableSms",
                "value": "false",
                "equals": true,
                "description": "",
                "enabled": true
            }
        ],
        "preRequestScript": null,
        "pathVariables": {},
        "pathVariableData": [],
        "method": "POST",
        "data": [
            {
                "key": "jsonData",
                "value": "{\"phoneNumber\":\"9999999999\",\"merchantId\":\"1122112211\",\"amount\":100,\"billDate\":1514891788753,\"gender\":\"male\",\"ageGroup\":\"21-30\",\"dateOfBirth\":\"12-dec-1989\",\"email\":\"[email protected]\",\"address\":\"dfg\"}",
                "description": "Required fileds\n\"phoneNumber\",\"merchantId\",\"amount\",\"billDate\"\noptional fileds\n\"gender\",\"ageGroup\",\"dateOfBirth\",\"email\",\"address\"",
                "type": "text",
                "enabled": true
            },
            {
                "key": "file",
                "value": "",
                "description": "",
                "type": "file",
                "enabled": true
            }
        ],
        "dataMode": "params",
        "tests": null,
        "currentHelper": "basicAuth",
        "helperAttributes": {
            "id": "basic",
            "username": "0101010101",
            "password": "30303030",
            "saveToRequest": true
        },
        "time": 1514892082233,
        "name": "Bill Uploading",
        "description": "",
        "collectionId": "4a59a50e-904a-674d-2553-8954ec4a841d",
        "responses": [],
        "collection_id": "4a59a50e-904a-674d-2553-8954ec4a841d"
    }
]
  }

Выше код находится в файле JSON. Мне нужно использовать код из файла PHP.

Код ниже находится на PHP. Я не знаю, как сделать POST-запрос через PHP.

public function sendSmsApi($array)
{
    $data = array();
    $data['apikey'] = Configuration::get('Sendin_Api_Key');
    $data['to'] = $array['to'];
    $data['sender'] = Configuration::get('sender_id');
    $data['message'] = $array['text'];
    $data['type'] = 'xml';

    return Tools::jsonDecode($this->curlRequest($data));
}

Как включить данные JSON в PHP и сделать запрос POST к URL-адресу API. Код PHP фактически отправляет сообщение клиентам. Я хочу включить код JSON в файл PHP для отправки запроса POST на URL-адрес API.

Вы можете отправить сообщение с CURL, чтобы я напечатал все это для вас, я предлагаю поискать в Google несколько руководств по нему.

ArtisticPhoenix 07.04.2018 10:12

Guzzle - популярный HTTP-клиент: github.com/guzzle/guzzle

Peter 07.04.2018 10:18

Думаю, это Tools::jsonEncode

Rusty 07.04.2018 10:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
1 234
2

Ответы 2

Вы можете прочитать JSON-файл с помощью file_get_contents (), а затем преобразовать строку в массив PHP с помощью json_decode ().

$json_string = file_get_contents ('data.json');
$json_array = json_decode ($json_string, true);

Согласно описанию, упомянутому в вышеупомянутом вопросе, в качестве решения попробуйте выполнить следующий фрагмент кода php для отправки данных json, содержащихся в файле json, в качестве тела запроса HTTP POST Request.

<?php 
$url = 'http://example.com/get-post.php';
$request_params=file_get_contents('test.json');//test.json contains json data
$headers = array();
$headers[] = 'Content-Type: application/json';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $request_params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
//execute post
$result = curl_exec($ch) or exit(curl_error($ch));
//close connection
curl_close($ch);
?>

Но я получаю такие параметры, как номер мобильного телефона, количество через PHP. Итак, как я могу передать эти значения в файл JSON.

Vishnu 07.04.2018 12:02

Вы можете закодировать параметры в строку json с помощью функции json_encode (), а затем передать эту строку json в качестве тела запроса POST-запроса.

Rubin Porwal 07.04.2018 12:13

Другие вопросы по теме