curl -X GET https://api.livchat.ai/v1/session/qr \
-H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch("https://api.livchat.ai/v1/session/qr", {
headers: {
Authorization: "Bearer YOUR_API_KEY",
},
});
const { data } = await response.json();
// Display in HTML
document.getElementById("qr").src = data.qrCode;
import requests
import base64
response = requests.get(
"https://api.livchat.ai/v1/session/qr",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
qr_code = response.json()["data"]["qrCode"]
# Remove data URI prefix and decode
image_data = base64.b64decode(qr_code.split(",")[1])
with open("qr.png", "wb") as f:
f.write(image_data)
{
"success": true,
"code": 200,
"data": {
"qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA..."
}
}
{
"error": {
"code": 400,
"message": "Session already logged in"
}
}
Session
Get QR Code
Get the QR code for WhatsApp pairing
GET
/
v1
/
session
/
qr
curl -X GET https://api.livchat.ai/v1/session/qr \
-H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch("https://api.livchat.ai/v1/session/qr", {
headers: {
Authorization: "Bearer YOUR_API_KEY",
},
});
const { data } = await response.json();
// Display in HTML
document.getElementById("qr").src = data.qrCode;
import requests
import base64
response = requests.get(
"https://api.livchat.ai/v1/session/qr",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
qr_code = response.json()["data"]["qrCode"]
# Remove data URI prefix and decode
image_data = base64.b64decode(qr_code.split(",")[1])
with open("qr.png", "wb") as f:
f.write(image_data)
{
"success": true,
"code": 200,
"data": {
"qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA..."
}
}
{
"error": {
"code": 400,
"message": "Session already logged in"
}
}
Get the QR code to scan with WhatsApp for session pairing. The session must be connected but not logged in.
Prerequisites
- Call
/session/connectfirst - Check
/session/statusreturnsconnected: trueandloggedIn: false
Response Fields
string
Base64-encoded PNG image in data URI format (
data:image/png;base64,...)curl -X GET https://api.livchat.ai/v1/session/qr \
-H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch("https://api.livchat.ai/v1/session/qr", {
headers: {
Authorization: "Bearer YOUR_API_KEY",
},
});
const { data } = await response.json();
// Display in HTML
document.getElementById("qr").src = data.qrCode;
import requests
import base64
response = requests.get(
"https://api.livchat.ai/v1/session/qr",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
qr_code = response.json()["data"]["qrCode"]
# Remove data URI prefix and decode
image_data = base64.b64decode(qr_code.split(",")[1])
with open("qr.png", "wb") as f:
f.write(image_data)
{
"success": true,
"code": 200,
"data": {
"qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA..."
}
}
{
"error": {
"code": 400,
"message": "Session already logged in"
}
}
QR codes expire after approximately 60 seconds. Request a new one if it expires.