curl --request GET \
--url https://api.wppfy.com/instance/history-sync/status \
--header 'token: <api-key>'import requests
url = "https://api.wppfy.com/instance/history-sync/status"
headers = {"token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {token: '<api-key>'}};
fetch('https://api.wppfy.com/instance/history-sync/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wppfy.com/instance/history-sync/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.wppfy.com/instance/history-sync/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.wppfy.com/instance/history-sync/status")
.header("token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/instance/history-sync/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"pairedAt": null,
"diagnosis": [
"no_trace"
]
}Check the initial history processing
Returns the in-memory diagnostics of the history sync started in the most recent pairing of this instance. It does not start a new sync.
The request_id is the same one returned by POST /instance/connect for that
attempt and by the pairing history batches. The diagnostics only exist after
pairing: before that, it may return diagnosis: [no_trace]. This endpoint
does not track manual POST /message/history-sync requests; use the
request_id of those requests in the webhook/SSE events.
deliveryStatus can be pending, delivered, partial, failed,
no_webhook or no_batches. The progress reported by WhatsApp reaching
100 does not, by itself, mean that all batches have been delivered.
Tracking is isolated per instance, limited to recent events, and reset along with the process. Webhook URLs may appear in the diagnostics; treat the response as sensitive operational information.
curl --request GET \
--url https://api.wppfy.com/instance/history-sync/status \
--header 'token: <api-key>'import requests
url = "https://api.wppfy.com/instance/history-sync/status"
headers = {"token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {token: '<api-key>'}};
fetch('https://api.wppfy.com/instance/history-sync/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wppfy.com/instance/history-sync/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.wppfy.com/instance/history-sync/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.wppfy.com/instance/history-sync/status")
.header("token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/instance/history-sync/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"pairedAt": null,
"diagnosis": [
"no_trace"
]
}Authorizations
Response
Observed status of the most recent synchronization, or diagnostics without tracking.
Pairing identifier, also returned in POST /instance/connect and repeated in the history batches of the initial history. Absent when there is no tracking.
0 <= x <= 100pending, delivered, partial, failed, no_webhook, no_batches Show child attributes
Show child attributes
100Show child attributes
Show child attributes
