Kết nối API đẩy Lead
Nhằm mục đích tối ưu hóa, tất cả các Lead được thu thập từ bên thứ 3
Lead
Là thông tin thô của 1 khách hàng thu thập được từ ứng dụng khác như form trên website, form trên app, từ 1 bên hệ thống khác đẩy sang...
Cách thức sử dụng
Phần mềm sẽ tạo và cung cấp 1 tài khoản và mật khẩu người dùng cho bên ngoài, tạm gọi là bên thứ 3. Tài khoản này không đăng nhập vào được hệ thống.
Thông tin khởi tạo bao gồm:
Tài khoản truy cập: $user
Khi cần đẩy Lead lên phần mềm, người dùng phải gửi 1 request lên có dạng:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '$link',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('username' => '$user','password' => '$pass'),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '$link',
formData: {
'username': '$user',
'password': '$pass'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
});
import requests
url = "$link"
payload={'username': '$user',
'password': '$pass'}
files=[
]
headers = {
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
var data = new FormData();
data.append("username", "$user");
data.append("password", "$pass");
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "$link");
xhr.send(data);
package main
import (
"fmt"
"bytes"
"mime/multipart"
"net/http"
"io/ioutil"
)
func main() {
url := "$link"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("username", "$user")
_ = writer.WriteField("password", "$pass")
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
Các thông tin $link, $user, $pass ở trên được thay thế tương ứng.
Request trên sẽ trả về token, token này sẽ dùng để đẩy Lead lên iDental, quá trình này sẽ cần gọi thêm 1 Api có dạng:
Kết quả trả về sẽ là dạng True hoặc Fasle để người dùng biết đã thành công hay chưa.