· Nacho Coll · Guides · 8 min lasīšanas
X brīdinājumu API: Programmatiskas abonēšanas un paziņojumu vēsture
Veidojiet pielāgotas integrācijas uz WALLAWHATS pamata. Pievienojiet un noņemiet X abonemntus, novirziet brīdinājumus uz kanāliem, izgūstiet paziņojumu vēsturi — visu ar REST.

Kad reāllaika X (Twitter) brīdinājumi kļūst kritiski svarīgi jūsu uzņēmumam, manuāla paneļa pārvaldība sasniedzas strupceļā. Neatkarīgi no tā, vai veidojat klientu izlūkošanas paneļus, automatizējat zīmola monitoringa darba procesus vai veidojat pielāgotas paziņojumu sistēmas tirdzniecības departamentiem, jums nepieciešama programmatiska kontrole pār saviem X brīdinājumu abonementiem.
WALLAWHATS nodrošina REST API, kas ļauj izveidot, pārvaldīt un auditēt X brīdinājumu abonemntus, nepieskaroties tīmekļa saskarnei. Pievienojiet vai noņemiet uzraugāmos kontus, izgūstiet paziņojumu vēsturi ar piegādes statusu un integrējiet reāllaika X brīdinājumus jebkurā sistēmā, kas saprot HTTP.

Kāpēc izmantot WALLAWHATS API?
Panelis lieliski darbojas manuāliem darba procesiem, bet API piekļuve atbloķē automatizācijas scenārijus, kas mērogojami pārāk cilvēciskās pārvaldības robežām:
Klientu izlūkošanas platformas: Automātiski abonējiet jaunatklātos konkurentu izpilddirektorus, produktu vadītājus vai nozares analītiķus, kad tos atklāj, izmantojot pētniecības rīkus vai CRM integrācijas.
Tirdzniecības un finanšu darba procesi: Programatiski uzraugiet regulatīvo kontu, CEO rokturi vai nozarēm specifiskos žurnālistus, pamatojoties uz portfeļa izmaiņām vai tirgus notikumiem — bez manuālas abonementa pārvaldības.
Zīmola monitorings mērogā: Pievienojiet vai noņemiet zīmola pieminējumu izsekošanu, kad sākas jaunas kampaņas, tiek izlaisti produkti vai attīstās krīzes situācijas.
Daudznomnieku SaaS lietojumprogrammas: Baltā etiketa reāllaika X monitorings jūsu klientiem ar programatisku abonementa pārvaldību aizkulisēs.
Atbilstības un audita sistēmas: Izgūstiet pilnu paziņojumu vēsturi ar piegādes statusu regulatīvajiem ziņojumiem, iekšējiem audita ceļiem vai SLA monitoringam.
API autentifikācija un piekļuve
Katrs WALLAWHATS plāns ietver API piekļuvi ar mērogošanas atslēgu kvotām:
- Free: 1 API atslēga
- Pro: 1 API atslēga
- Pro+: 2 API atslēgas
- Business: 5 API atslēgas
- Enterprise: 20 API atslēgas
Autentifikācija izmanto x-api-key galveni (ne Authorization: Bearer). Ģenerējiet savas atslēgas no paneļa API sadaļas un rīkojieties ar tām kā parolēm — tās nes pilnas konta privilēģijas.
curl -H "x-api-key: jūsu_api_atslēga_šeit" \
https://api.wallawhats.com/subscriptionsGalvenie API galapunkti
WALLAWHATS API nodrošina piecas galvenās resursu grupas integrāciju veidošanai:
Abonementa pārvaldība
Izveidot jaunu abonementu:
POST /subscriptions
Content-Type: application/json
x-api-key: jūsu_api_atslēga_šeit
{
"xUsername": "elonmusk"
}Uzskaitīt visus abonemntus:
GET /subscriptions
x-api-key: jūsu_api_atslēga_šeitNoņemt abonementu:
DELETE /subscriptions/elonmusk
x-api-key: jūsu_api_atslēga_šeitIevērojiet, ka dzēšanas galapunkts pieņem X rokturi kā ceļa parametru — ne iekšējo abonementa ID.
Paziņojumu vēsture un audits
Izgūt paziņojumu vēsturi ar piegādes statusu:
GET /notifications?from=1704067200000&to=1704153600000
x-api-key: jūsu_api_atslēga_šeitPaziņojumu galapunkts atgriež lapošanas rezultātus, kur katra rinda attēlo vienu brīdinājumu, kas piegādāts vienam kanālam. Statusa vērtības ietver:
queued: Brīdinājums pieņemts, gaida piegādisent: Nosūtīts kanāla pakalpojuma sniedzējamdelivered: Apstiprināts saņemts galamērķīread: Atvērts saņēmēja (tikai WhatsApp, nepieciešami iespējoti lasīšanas apstiprinājumi)failed: Piegādes mēģinājums nesekmīgs
Kanālu pārvaldība
Uzskaitīt konfigurētos kanālus:
GET /channels
x-api-key: jūsu_api_atslēga_šeitPievienot jaunu kanālu:
POST /channels
Content-Type: application/json
x-api-key: jūsu_api_atslēga_šeit
{
"type": "email",
"destination": "alerts@yourcompany.com"
}Noņemt kanālu:
DELETE /channels/channel_id_here
x-api-key: jūsu_api_atslēga_šeitTvītu momentuzņēmumi
Piekļūt momentuzņēmumu galerijai:
GET /snapshots
x-api-key: jūsu_api_atslēga_šeitDzēst konkrētu momentuzņēmumu:
DELETE /snapshots/tweet_id_here
x-api-key: jūsu_api_atslēga_šeitIntegrāciju veidošana: koda piemēri
Node.js integrācija
Šeit ir Node.js piemērs, kas pievieno abonementu un aptauja jaunus paziņojumus:
const axios = require('axios');
class WallaWhatsClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseURL = 'https://api.wallawhats.com';
}
async addSubscription(xUsername) {
try {
const response = await axios.post(
`${this.baseURL}/subscriptions`,
{ xUsername },
{ headers: { 'x-api-key': this.apiKey } }
);
return response.data;
} catch (error) {
throw new Error(`Neizdevās pievienot abonementu: ${error.response?.data?.message || error.message}`);
}
}
async getNotifications(from, to, lastKey = null) {
try {
let url = `${this.baseURL}/notifications?from=${from}&to=${to}`;
if (lastKey) url += `&lastKey=${lastKey}`;
const response = await axios.get(url, {
headers: { 'x-api-key': this.apiKey }
});
return response.data;
} catch (error) {
throw new Error(`Neizdevās izgūt paziņojumus: ${error.response?.data?.message || error.message}`);
}
}
async listSubscriptions() {
try {
const response = await axios.get(
`${this.baseURL}/subscriptions`,
{ headers: { 'x-api-key': this.apiKey } }
);
return response.data;
} catch (error) {
throw new Error(`Neizdevās uzskaitīt abonemntus: ${error.response?.data?.message || error.message}`);
}
}
}
// Lietošanas piemērs
async function monitorCompetitor() {
const client = new WallaWhatsClient('jūsu_api_atslēga_šeit');
// Pievienot jaunu abonementu
await client.addSubscription('vercel');
console.log('Tagad uzraugām @vercel');
// Pārbaudīt nesenos paziņojumus
const oneDayAgo = Date.now() - (24 * 60 * 60 * 1000);
const notifications = await client.getNotifications(oneDayAgo, Date.now());
console.log(`Atrasti ${notifications.items.length} neseni brīdinājumi`);
notifications.items.forEach(notification => {
console.log(`${notification.xUsername}: ${notification.status} plkst. ${notification.timestamp}`);
});
}Python integrācija
Python darba procesiem šeit ir klase, kas apstrādā abonementa pārvaldību un paziņojumu aptauju:
import requests
import time
from datetime import datetime, timedelta
class WallaWhatsAPI:
def __init__(self, api_key):
self.api_key = api_key
self.base_url = 'https://api.wallawhats.com'
self.headers = {'x-api-key': api_key}
def add_subscription(self, x_username):
"""Pievienot jaunu X kontu uzraugāšanai"""
response = requests.post(
f'{self.base_url}/subscriptions',
json={'xUsername': x_username},
headers=self.headers
)
response.raise_for_status()
return response.json()
def remove_subscription(self, x_username):
"""Noņemt X kontu no uzraugāšanas"""
response = requests.delete(
f'{self.base_url}/subscriptions/{x_username}',
headers=self.headers
)
response.raise_for_status()
return response.status_code == 200
def get_notifications(self, from_ms, to_ms, last_key=None):
"""Izgūt paziņojumu vēsturi ar lapošanu"""
params = {'from': from_ms, 'to': to_ms}
if last_key:
params['lastKey'] = last_key
response = requests.get(
f'{self.base_url}/notifications',
params=params,
headers=self.headers
)
response.raise_for_status()
return response.json()
def get_all_notifications(self, from_ms, to_ms):
"""Izgūt visus paziņojumus laika diapazonā, apstrādājot lapošanu"""
all_notifications = []
last_key = None
while True:
batch = self.get_notifications(from_ms, to_ms, last_key)
all_notifications.extend(batch['items'])
if not batch.get('lastKey'):
break
last_key = batch['lastKey']
return all_notifications
def list_subscriptions(self):
"""Iegūt visus pašreizējos abonemntus"""
response = requests.get(
f'{self.base_url}/subscriptions',
headers=self.headers
)
response.raise_for_status()
return response.json()
# Piemērs: Dienas audita atskaite
def generate_daily_report():
api = WallaWhatsAPI('jūsu_api_atslēga_šeit')
# Iegūt vakardienas paziņojumus
end_time = int(time.time() * 1000)
start_time = end_time - (24 * 60 * 60 * 1000)
notifications = api.get_all_notifications(start_time, end_time)
# Grupēt pēc konta un statusa
report = {}
for notification in notifications:
account = notification['xUsername']
status = notification['status']
if account not in report:
report[account] = {'total': 0, 'delivered': 0, 'failed': 0}
report[account]['total'] += 1
if status in ['delivered', 'read']:
report[account]['delivered'] += 1
elif status == 'failed':
report[account]['failed'] += 1
# Drukāt kopsavilkumu
print(f"Dienas brīdinājumu atskaite - {datetime.now().strftime('%Y-%m-%d')}")
print("-" * 50)
for account, stats in report.items():
success_rate = (stats['delivered'] / stats['total']) * 100 if stats['total'] > 0 else 0
print(f"@{account}: {stats['total']} brīdinājumi, {success_rate:.1f}% piegādāti")Kanālu maršrutēšanas izpratne
WALLAWHATS izmanto globālo kanālu maršrutēšanas modeli — katrs brīdinājums no katra abonementa izplatās uz visiem iespējotajiem un verificētajiem kanāliem. Jūs nevarat maršrutēt konkrētus kontus uz konkrētiem galamērķiem via API (piemēram, „@elonmusk → WhatsApp, @vercel → e-pasts”).
Kanālu izvēle notiek konta līmenī kanālu lapā. Kad pievienojat kanālu via API, tas kļūst pieejams visiem brīdinājumiem pēc verifikācijas. Kad noņemat kanālu, tas pārtrauc saņemt brīdinājumus no visiem abonementiem.
Šis dizains vienkāršo automatizāciju, vienlaikus novēršot brīdinājumu sadrumstalotību. Jūsu integrācijas kodam nav jāizseko per-abonementa maršrutēšanas noteikumi — vienkārši pārvaldiet, kurus kontus uzraudzīt un kurus kanālus iespējot.
Ātruma ierobežojumi un ātruma ierobežojumi
WALLAWHATS īsteno lietotāja līmeņa ātruma ierobežojumus, lai novērstu brīdinājumu spamu augstās aktivitātes periodos:
- Free: 2 brīdinājumi/stundā
- Pro: 5 brīdinājumi/stundā
- Pro+: 15 brīdinājumi/stundā
- Business: 30 brīdinājumi/stundā
- Enterprise: 100 brīdinājumi/stundā
Kad ātruma ierobežojumi tiek pārsniegti, papildu tvīti tiek buferizēti kopsavilkuma ziņojumos un piegādāti ik pēc 15 minūtēm. Jūsu API integrācija redzēs tos kā atsevišķus paziņojumu ierakstus — vienu tūlītējam brīdinājumam un vienu katram kopsavilkuma paketam.
Pats API neuzliek atsevišķus ātruma ierobežojumus abonementa pārvaldībai vai paziņojumu vaicājumiem. Tomēr izvairieties no galapunktu bombardēšanas ar nevajadzīgiem pieprasījumiem — lokāli kešojiet abonementa sarakstus un efektīvi grupējiet paziņojumu vaicājumus.
Kļūdu apstrāde un problēmu novēršana
Izplatītie API kļūdu modeļi un to apstrāde:
Autentifikācijas kļūmes (401):
- Pārliecinieties, ka jūsu API atslēga ir pareiza un nav atsaukta
- Pārliecinieties, ka izmantojat
x-api-keygalveni, neAuthorization
Abonementa konflikti (409):
- Konts jau uzraugāms: Abonements eksistē, uztveriet kā panākumu
- Konts aizsargāts/privāts: WALLAWHATS tos atsakās pēc dizaina
Ātruma ierobežošana (429):
- Atkāpieties eksponenciāli pirms atkārtota mēģinājuma
- Pārbaudiet, vai tuvojaties plāna ierobežojumiem uzraugāmajos kontos
Kanālu verifikācijas problēmas:
- Jauniem kanāliem nepieciešama OTP verifikācija pirms brīdinājumu saņemšanas
- Programatiski pievienotie kanāli nedarbosies, kamēr lietotājs nepabeidz verifikāciju
Jūsu integrāciju monitorings un brīdinājumi
Tā kā WALLAWHATS kļūst par kritisku infrastruktūru, kad tiek integrēts biznesa darba procesos, uzraugiet savas integrācijas veselību:
Abonementa novirzes atklāšana:
// Pārbaudīt, vai paredzētie abonemnti joprojām ir aktīvi
async function auditSubscriptions(expectedHandles) {
const current = await client.listSubscriptions();
const currentHandles = current.map(s => s.xUsername);
const missing = expectedHandles.filter(h => !currentHandles.includes(h));
if (missing.length > 0) {
console.warn(`Trūkst abonementi: ${missing.join(', ')}`);
}
return missing;
}Piegādes panākumu rādītāja monitorings:
def check_delivery_health():
# Pārbaudīt pēdējās 6 stundas
end_time = int(time.time() * 1000)
start_time = end_time - (6 * 60 * 60 * 1000)
notifications = api.get_all_notifications(start_time, end_time)
if not notifications:
return None
delivered = sum(1 for n in notifications if n['status'] in ['delivered', 'read'])
total = len(notifications)
success_rate = (delivered / total) * 100
if success_rate < 95:
# Brīdināt jūsu operāciju komandu
print(f"BRĪDINĀJUMS: Piegādes panākumu rādītājs nokrita uz {success_rate:.1f}%")
return success_rateIntegrācijas modeļi un labākās prakses
Webhook-style apstrāde: Lai gan WALLAWHATS tieši nesniedz webhook’us, varat aptaujāt paziņojumu galapunktu jauniem brīdinājumiem un tos apstrādāt gandrīz reāllaikā:
async function pollForNewAlerts() {
const lastCheck = localStorage.getItem('lastNotificationCheck') || Date.now() - 300000;
const now = Date.now();
const notifications = await client.getNotifications(lastCheck, now);
for (const notification of notifications.items) {
if (notification.status === 'delivered') {
// Apstrādāt brīdinājumu - sūtīt uz Slack, atjaunināt datubāzi, utt.
await processAlert(notification);
}
}
localStorage.setItem('lastNotificationCheck', now);
}
// Aptaujāt ik pēc 30 sekundēm
setInterval(pollForNewAlerts, 30000);Nosacījumu abonementa pārvaldība: Dinamiski pievienojiet vai noņemiet abonemntus, pamatojoties uz ārējiem triggeriem:
def update_competitor_monitoring(portfolio_companies):
"""Atjaunināt X monitoringu, pamatojoties uz pašreizējo portfeli"""
current_subs = {s['xUsername'] for s in api.list_subscriptions()}
# Konti, kurus mums vajadzētu uzraudzīt
target_accounts = set()
for company in portfolio_companies:
if company.get('ceo_twitter_handle'):
target_accounts.add(company['ceo_twitter_handle'])
if company.get('company_twitter_handle'):
target_accounts.add(company['company_twitter_handle'])
# Pievienot trūkstošos abonemntus
for account in target_accounts - current_subs:
try:
api.add_subscription(account)
print(f"Sākta @{account} uzraudzība")
except Exception as e:
print(f"Neizdevās pievienot @{account}: {e}")
# Noņemt novecojušos abonemntus
for account in current_subs - target_accounts:
api.remove_subscription(account)
print(f"Pārtraukta @{account} uzraudzība")WALLAWHATS API pārveido reāllaika X brīdinājumus no manuāla paneļa rīka uz programmējamu infrastruktūras komponentu. Neatkarīgi no tā, vai veidojat pielāgotus izlūkošanas darba procesus, automatizējat zīmola monitoringu vai veidojat baltā etiketa paziņojumu pakalpojumus, API nodrošina kontroli un audita iespējas, kas nepieciešamas ražošanas integrācijai.
Vēlaties paplašināt savu monitoringu pāri konkurentiem? Apskatiet mūsu ceļvedi par kripto Twitter monitoringu tirgus signāliem vai uzziniet, kā žurnālisti izmanto WALLAWHATS reāllaika avotu monitoringam.
Nekad vairs nenokavējiet svarīgu ierakstu. Izveidojiet bezmaksas kontu — 1 WhatsApp numurs, reāllaika brīdinājumi, kredītkarte nav vajadzīga.
