как отправить данные сообщения с помощью curl в php массив json - PullRequest
1 голос
/ 09 июля 2020

как отправить данные публикации с помощью curl в php массиве json

список порядка параметров post curl, например массив, это мой код

<?php
class PostOrderPolicy extends CI_Controller{
    public function index(){
        $data = $this->getData();
        foreach ($data as $key) {
            $orderListt = array(
                    'orderDate' => $key['order_date'],
                    'IDNumber' => $key['IDnumber'],
                    'itemDescription' => $key['description']
                    );

            $send = $this->sendData($orderListt, $key['resi_number']);
            if ($send) {
                $res["message"] = "Sukses";
            }else{
                $res["message"] = "Gagal";
            }
        }
       
        //echo json_encode($res);
    }

    private function getData(){
        $sql = "SELECT * FROM t_transaction WHERE status='00'";
        return $this->db->query($sql)->result_array();
    }

    private function sendData($data){
        $result = array();
        $url = "https://contoh.co.id/createPolicy";

        $res    = array();
        $sign   = $this->getSign();
        $upperSign = strtoupper($sign);
        //$random = $this->getRandomStr();
        $random = '049KN1PSOL16QHIF';
        $batch  = 'BATCH000002';

        $dataArr = array(
            'sign' => $upperSign,
            'randomStr' => $random,
            'batchNo' => $batch,
            'orderList' => [$data]
        );

        $string     = json_encode($dataArr);
        $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $string);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));

        $response = json_decode(curl_exec($ch), TRUE);
        print_r($response);
        print_r($string);
    }
}
?>

но мое поле сообщения результата [ введите описание изображения здесь] [1] [1]: https://i.stack.imgur.com/b7LEP.png

я хочу вот так [введите описание изображения здесь] [2] [2]: https://i.stack.imgur.com/xExJ2.png

{"sign":"35EAF78F95A52DDA79FC9911559026F6","randomStr":"049KN1PSOL16QHIF","batchNo":"BATCH000002","orderList":[{"orderDate":"2020-07-01 11:00:00.000","resiNumber":"99875646957","itemDescription":"testing"},{"orderDate":"2020-07-01 ]11:00:00.000","IDNumber":"28929740170","itemDescription":"testing"}]}

1 Ответ

0 голосов
/ 09 июля 2020

Вернуть ответ вместо вывода:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

Выполнить запрос POST:

$result = curl_exec($ch);

Закрыть ресурс cURL:

curl_close($ch);
...