programming4:api
Đây là một phiên bản cũ của tài liệu!
Mục lục
Hướng dẫn toàn tập về API của NukeViet 4
Hệ thống API được đưa vào kể từ phiên bản 4.5.00
Dành cho nhà phát triển sử dụng API
Nguyên tắc chung
Thực hiện lệnh POST vào URL <scheme>://<domain>/api.php
(ví dụ https://nukeviet.vn/api.php) với đầu vào được mô tả bên dưới, dữ liệu trả về dạng JSON, sử dụng hàm json_decode để chuyển thành array và thao tác.
Các tham số bắt buộc
[ 'apikey' => '...', // Khóa được cung cấp 'apisecret' => '...', // Mã bí mật được cung cấp 'action' => 'GetLesson', // Tên API được list bên dưới 'module' => 'elearning', // Module xử lý, ở đây là elearning, để trống thì là API của hệ thống ]
Các tham số tùy chọn tùy theo từng API cụ thể quy định. Dữ liệu trả về cố định (toàn bộ các API đều sẽ có) như sau
[ 'status' => 'success', // Nếu thành công thì là success, thất bại (có lỗi) thì là error 'code' => '0000', // Mã lỗi nếu có 'message' => '' // Thông tin lỗi nếu có ]
Ví dụ
Code sử dụng từ một website bất kỳ
Sử dụng thư viện CURL để gửi truy vấn
$api_remote_url = 'https://nukeviet.vn/api.php'; $agent = 'NukeViet Remote API Lib'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_remote_url); curl_setopt($ch, CURLOPT_HEADER, 0); $safe_mode = (ini_get('safe_mode') == '1' || strtolower(ini_get('safe_mode')) == 'on') ? 1 : 0; $open_basedir = ini_get('open_basedir') ? true : false; if (!$safe_mode and !$open_basedir) { curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); } $request = [ // Tham số bắt buộc 'apikey' => '...', 'apisecret' => '...', 'action' => 'CreatArticle', 'module' => 'news' ]; curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_POST, sizeof($request)); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); $res = curl_exec($ch); curl_close($ch); $responsive = json_decode($res, true); print_r($responsive);
Code sử dụng từ một website NukeViet
Sử dụng thư viện NV HTTP để truy vấn
$request = [ // Tham số bắt buộc 'apikey' => '...', 'apisecret' => '...', 'action' => 'CreatArticle', 'module' => 'news', ]; $request = array_merge($request, $parameters); $NV_Http = new NukeViet\Http\Http($global_config, NV_TEMP_DIR); $args = [ 'headers' => [ 'Referer' => NV_MY_DOMAIN ], 'body' => $request, 'timeout' => 20 ]; $responsive = $NV_Http->post(MARKETING_API_URL, $args); $res = []; $error = ''; if (is_array($responsive) and empty(NukeViet\Http\Http::$error)) { $res = !empty($responsive['body']) ? json_decode($responsive['body'], true) : []; } elseif (!empty(NukeViet\Http\Http::$error) { $error = 'Lỗi truy vấn: ' . NukeViet\Http\Http::$error; } else { $error = 'Lỗi khác'; } print_r($error); print_r($res);
Dành cho nhà phát triển muốn cung cấp API
programming4/api.1616145448.txt.gz · Sửa đổi lần cuối: 2021/03/19 16:17 bởi hoaquynhtim99