对接步骤
1. 鉴权
Linkbest会分配唯一的ADS_KEY给到您,您可以使用ADS_KEY来调用Linkbest的接口。ADS_KEY可以在品牌后台 (opens in a new tab)中获取。
2. 请求接口的要求
-
编码要求:发送的数据必须使用UTF-8编码。
-
请求方式:POST
-
HTTP Content-Type要求:您需要确保在对请求体进行表单编码时设置HTTP Content-Type头为application/x-www-form-urlencoded,或者在对请求体进行JSON编码时设置为application/json。如果您要上传文件作为请求的一部分,您需要指定multipart/form-data。
-
Linkbest的接口地址为
https://api.linkbest.com
-
请求参数格式要求:
参数类型 格式要求 string 255 UTF-8 characters decimal 8 digits, 2 decimal places datetime ISO-8601 (e.g. 2022-12-11T11:10:01-07:00) currency ISO-4217 (e.g. USD) integer 16 digits
3. 请求示例
每个接口路由都要包含ADS_KEY 以及对应接口的 SERVICE_NAME,具体接口的SERVICE_NAME可在接口文档中查看
curl 示例
# 示例 curl 命令
curl -X POST https://api.linkbest.com/{ADS_KEY}/{SERVICE_NAME} \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'OrderId=TestOrderId'
php 请求示例
// 示例 PHP 代码
<?php
$ch = curl_init();
$data = [
"OrderID"=>"TestOrderId",
];
curl_setopt($ch, CURLOPT_URL, 'https://api.linkbest.com/{ADS_KEY}/{SERVICE_NAME}');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = [
'Content-Type: application/x-www-form-urlencoded',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$server_output = curl_exec($ch);
curl_close ($ch);
print_r($server_output);
?>
go 请求示例
// 示例 Go 代码
package main
import (
"net/http"
"strings"
"io/ioutil"
)
func main() {
url := "https://api.linkbest.com/{ADS_KEY}/{SERVICE_NAME}"
method := "POST"
payload := strings.NewReader("OrderId=TestOrderId")
client := &http.Client {}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, err := client.Do(req)
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
}
java请求示例
// 示例 Java 代码
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) throws Exception {
URL url = new URL ("https://api.linkbest.com/{ADS_KEY}/{SERVICE_NAME}");
String urlParameters = "OrderId=TestOrderId";
byte[] postData = urlParameters.getBytes( StandardCharsets.UTF_8 );
int postDataLength = postData.length;
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setInstanceFollowRedirects(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("charset", "utf-8");
conn.setRequestProperty("Content-Length", Integer.toString(postDataLength ));
conn.setUseCaches(false);
try(OutputStream wr = conn.getOutputStream()) {
wr.write(postData);
}
int responseCode = conn.getResponseCode();
System.out.println(responseCode);
}
}
4. 错误处理
由于多种原因,请求接口时可能会有失败的情况,当请求返回错误时,系统会提供一条消息以指示有关失败的更多详细信息,请依据这些信息进行相关调整后重试,或联系我们的对接工程师进行处理。具体请参见错误码