I-API evulelekileyo & izitshixo ze-API

Ufikelelo ngekhowudi kwindawo yakho yokusebenza — funda iiprojekthi, iiseshoni, iziganeko ezenzelwe wena namaqela, uze uqhoboshele izichongi zabathengi kwiiseshoni — lukhuselwe ngezitshixo ze-API ezinomda wendawo yokusebenza.

1. Isishwankathelo

I-API yeMousePlayer ikuvumela ukuba ukhuphe idatha kwindawo yakho yokusebenza iye kwiideshibhodi zakho, kwindawo yakho yokugcina idatha okanye kwizixhobo zangaphakathi. Ngaphandle kokuqhoboshela izichongi zabathengi kwiiseshoni (identify, ifuna isitshixo esinemvume yokubhala, jonga imida yezitshixo) yeyokufunda kuphela: akukho datha inokutshintshwa okanye icinywe nge-API.

  • I-URL esisiseko: https://www.mouseplayer.com/api/v1/
  • Zonke iimpendulo ziyiJSON.
  • Isicelo ngasinye siqinisekiswa ngesitshixo se-API size sibekelwe umda ngokuzenzekelayo wendawo yokusebenza yeso sitshixo — isitshixo senye indawo yokusebenza asinakuze sibone idatha yenye, nokuba kungempazamo.
  • Ukurekhodwa okupheleleyo kokudlala kwakhona iseshoni (ukushukuma kwemawusi, imifanekiso yeDOM) akufumaneki nge-API. Ufumana imethadatha yeseshoni, ukujongwa kwamaphepha, iziganeko ezenzelwe wena namaqela — okwaneleyo ukwenza iingxelo needeshibhodi ngaphandle kokuthumela umthwalo wokurekhoda ongahlelwanga kwiindawo ngeendawo.

2. Ukuqinisekisa ufikelelo

Yenza ulawule izitshixo zakho ze-API phantsi kwe Izitshixo ze-API kwimenyu yeakhawunti yakho (/api-keys). Kuphela ngabanini nabalawuli bendawo yokusebenza abanokwenza okanye barhoxise izitshixo.

Gcina isitshixo sakho siyimfihlo. Sinika ufikelelo lokufunda kuyo yonke into ekwindawo yakho yokusebenza. Isitshixo esipheleleyo siboniswa kanye kuphela, kanye emva kokusenza — sigcine kumphathi wamagama okugqitha okanye kwindawo yokugcina iimfihlo. Ukuba siyalahleka, sirhoxise uze wenze esitsha.

Thumela isitshixo njengethokheni yeBearer kwisihloko esithi Authorization sesicelo ngasinye:

# List projects in your workspace curl -H "Authorization: Bearer mp_live_..." \ https://www.mouseplayer.com/api/v1/projects

Izitshixo ezingekhoyo, ezingabhalwanga kakuhle okanye ezirhoxisiweyo zifumana impendulo ethi 401 :

{ "error": "Invalid or missing API key. Use: Authorization: Bearer <key>" }

Isicwangciso esifunekayo

I-REST API iyinxalenye yezicwangciso ze Business ne Enterprise . Isicwangciso sithathwa ku mnini wendawo yokusebenza, ngoko amalungu eqela amenyiweyo asizuza kuye. Uqinisekiso luqhutywa kwisicelo ngasinye, hayi kuphela xa kusenziwa isitshixo — ukuba indawo yokusebenza yehliselwa kwisicwangciso esisezantsi, izitshixo ezikhoyo ziyayeka ukusebenza zize zibuyise 403.

Imida yezitshixo

Isitshixo ngasinye sithwala umda waso kwisimaphambili saso, ukuze ubone oko sikwenzayo ngokusijonga nje — kwi .env, kwitikiti, kwitheminali.

IsimaphambiliIntsingiselo
mp_ro_Ukufunda kuphela. Sifunda iiprojekthi, iiseshoni, iziganeko namaqela. Asinakutshintsha nto.
mp_rw_Ukufunda nokubhala. Konke okungasentla, kunye nokuqhoboshela izichongi zabathengi ngendawo yokuphela yokuchonga.
Khetha umda xa usenza isitshixo; ngokwendalo kukufunda kuphela. Ukusebenzisa isitshixo sokufunda kuphela kwindawo yokuphela ebhalayo kubuyisa 403 nomyalezo ochaza uhlobo lwesitshixo noko kufunwa yindawo yokuphela. Umda awunakutshintshwa emva koko — yenza isitshixo esitsha uze urhoxise esidala.

3. Imida yezicelo

Isitshixo ngasinye se-API sinomda we zicelo eziyi-60 ngomzuzu, ezilandelwa kwifestile yexesha eqhubekayo. Xa uwugqithile, izicelo zifumana impendulo ethi 429 de kudlule elo xesha:

{ "error": "Rate limit exceeded. Max 60 requests per minute." }

Wakha into efuna umda ophezulu? Qhagamshelana nathi nge Uncedo uze usixelele ngendlela oceba ukuyisebenzisa ngayo.

4. Iindawo zokuphela

GET/api/v1/projects

Idwelisa zonke iiprojekthi (iiwebhusayithi ezilandelwayo) kwindawo yakho yokusebenza.

{ "data": [ { "channelid": "955a45df5ee842cb", "domain": "yourdomain.com", "status": "active", "total_traffic_bytes": 27304765, "created_at": "2026-07-19 22:06:39", "last_used": "2026-08-05 01:12:55" } ] }

GET/api/v1/projects/{channelid}/sessions

Idwelisa iiseshoni zeendwendwe ezirekhodelwe iprojekthi, ezona zintsha kuqala. Yahlulwe yangamaphepha.

Iparamitha yombuzoInkcazelo
pageInombolo yephepha, ngokwendalo 1.
per_pageIziphumo ngephepha, ngokwendalo 25, ubuninzi 100.
sinceKuphela iiseshoni eziqala ngalo mhla okanye emva kwawo (YYYY-MM-DD).
untilKuphela iiseshoni eziqala ngalo mhla okanye ngaphambi kwawo.
{ "data": [ { "session_id": "s_kfmist058_1785795295504", "visitor_id": "v_sv90jdpzo_1785795296042", "custom_user_id": null, "country": "DE", "device_type": "desktop", "is_bot": 0, "start_time": "2026-08-04 00:14:56", "end_time": "2026-08-04 00:16:41", "duration_seconds": 105 } ], "pagination": { "page": 1, "per_page": 25, "total": 142, "total_pages": 6 } }

GET/api/v1/sessions/{session_id}

Imethadatha yeseshoni enye, kunye nokujongwa kwamaphepha ayo. Ngabom ayiquki umthwalo opheleleyo wokudlala kwakhona — sebenzisa isidlali sedeshibhodi kuloo nto.

{ "data": { "session_id": "s_kfmist058_1785795295504", "channelid": "955a45df5ee842cb", "visitor_id": "v_sv90jdpzo_1785795296042", "country": "DE", "asn_org": "Deutsche Telekom AG", "referrer": "https://duckduckgo.com/", "device_type": "desktop", "start_time": "2026-08-04 00:14:56", "end_time": "2026-08-04 00:16:41", "duration_seconds": 105, "pageviews": [ { "pageview_id": 1199, "url": "https://yourdomain.com/pricing", "page_title": "Pricing", "start_time": "2026-08-04 00:14:56", "end_time": "2026-08-04 00:16:41" } ] } }

GET/api/v1/sessions/{session_id}/events

Iziganeko ezenzelwe wena ezithunyelwe ngexesha leseshoni (kwaezo uzithumela nge mp('event', ...)), kuquka iiparamitha zazo.

{ "data": [ { "event_id": 61, "pageview_id": 1199, "event_name": "add_to_cart", "created_at": "2026-08-04 00:14:59", "params": { "item_id": "SKU_98765", "price": 299.99 } } ] }

GET/api/v1/projects/{channelid}/segments

Idwelisa amaqela eendwendwe achazelwe iprojekthi (amaqela ale projekthi kuphela nawasebenza kuyo yonke indawo yokusebenza).

{ "data": [ { "segment_id": 4, "name": "High Intent Visitors", "description": "Pageviews > 5", "badge_color": "cyan", "is_global": 0, "created_at": "2026-08-03 00:00:43" } ] }

5. Ukuqhoboshela isichongi somthengi kwinkqubo yakho engasemva

Isikhangeli sidla ngokungazi ukuba ngubani ohleli apho. Kwimveliso yeB2B isichongi simiselwa emva kokungena kwiakhawunti — kwinkqubo yakho engasemva. Kwivenkile simiselwa ngengqinisekiso yeodolo. Le ndawo yokuphela yeyaloo mzuzu kanye.

POST /api/v1/sessions/{session_id}/identify
Authorization: Bearer mp_live_xxxxxxxxxxxx
Content-Type: application/json

{"user_id": "customer-4711"}

// 200 OK
{"data": {"session_id": "s_a1b2c3", "user_id": "customer-4711",
          "changed": true, "previous": null, "webhook_queued": true}}

Isichongi sivela kuluhlu lweeseshoni, siyakhangeleka apho, kwaye iwebhook ethi session_identified iyathunyelwa — yindlela esifikelela ngayo kwiCRM yakho.

Ukubiza kabini ngesichongi esifanayo kukhuselekile. Impendulo ibuya ino "changed": false kwaye akukho webhook ithunyelwayo. Iodolo ephindiweyo ayenzi mthengi wesibini onokuba kho.
ImekoXa
400Indawo engekhoyo, user_id ingaphezulu koonobumba abayi-128, okanye inoonobumba bolawulo. Siyala endaweni yokunqumla — isichongi esishunqulwe kungaxelwanga asihambelani nanto kwiCRM yakho kodwa sisabonakala njengempumelelo.
404Iseshoni ayikho okanye ayiyiyo eyendawo yakho yokusebenza. Ngabom impendulo iyafana kuzo zombini.
403Isicwangciso sendawo yokusebenza asiyiquki i-API.

6. Iiwebhook: ukuqinisekisa utyikityo

Iiwebhook zisetwa ngokweprojekthi phantsi kwe Uqhagamshelo, apho ufumana khona nemfihlo yokusayina. Ukuhanjiswa ngakunye kuthwala ezi zihloko:

IsihlokoIntsingiselo
X-MousePlayer-EventIgama lesiganeko, umzekelo session_identified
X-MousePlayer-TimestampImizuzwana yeUnix — yinxalenye yombhalo osayiniweyo
X-MousePlayer-Attempt1 kumzamo wokuqala, phezulu xa kuzanywa kwakhona
X-MousePlayer-Signaturesha256=<hex>

Utyikityo yiHMAC-SHA256 phezu kwe timestamp + "." + raw body, isebenzisa imfihlo yokusayina yeprojekthi yakho njengesitshixo.

// PHP
$erwartet = 'sha256=' . hash_hmac('sha256', $timestamp . '.' . $rawBody, $secret);
if (!hash_equals($erwartet, $signature)) { http_response_code(401); exit; }

// Node
const expected = 'sha256=' + crypto.createHmac('sha256', secret)
                                     .update(timestamp + '.' + rawBody).digest('hex');
Sayina umzimba ongatshintshwanga , ngaphambi kokufunda iJSON. Ukuphinda uyiguqulele kumbhalo kutshintsha ulandelelwano lwezitshixo nezithuba, kwaye utyikityo aluyi kuhambelana. Yala nayo nantoni na enesitampu sexesha esidala ngaphezu kwemizuzu embalwa — yiyo injongo yesitampu sexesha.

Ukuhanjiswa nokuzama kwakhona

Ukuhanjiswa okusileleyo kuphinda kuzanywe emva kwe mizuzu eyi-1, imizuzu eyi-5, imizuzu eyi-15, iyure e-1 neeyure eziyi-6, kuze kuyekwe. 4xx Iimpendulo 408 ngaphandle kwe 429 ne aziphindi zizanywe — zithi "hayi ngolu hlobo", hayi "hayi ngoku". Phendula ngo 2xx ngokukhawuleza uze wenze umsebenzi emva koko; ukuhanjiswa kuphelelwa lixesha emva kwemizuzwana eyi-10.

Iziganeko ezifumanekayo

IsiganekoSithunyelwa
session_identifiedXa iseshoni ifumana isichongi somthengi okokuqala — kwisikhangeli okanye kwi-API
session_endedKanye, xa iseshoni ivalwa
goal_reachedKanye ngeseshoni, xa isiganeko esenzelwe wena sifezekisa enye yeenjongo zakho. Kuphela iinjongo zohlobo lwe-“event” — iinjongo zeURL, ixesha, ukujongwa kwamaphepha nefaneli azivavanywa. Sithwala goal_id, goal_name, goal_value ne currency.
high_value_sessionXa undwendwe luqala ukugqitha kumda wexabiso wale projekthi ngosuku oluthile. Umda ufunyanwa kulwabiwo lwamanqaku akho (ipesentayili yama-90 yeentsuku eziyi-90 zokugqibela), awulonani elimiselweyo, kwaye awukho de ubuncinane iindwendwe eziyi-20 zifumane amanqaku. Sithwala visitor_id, value_score, threshold neyona seshoni ifanele ukubukelwa yolo suku.
funnel_dropoffEkupheleni kweseshoni engene kwenye yeefaneli zakho kodwa engayigqibanga. Sichaza inyathelo eyeke kulo (dropped_at). Ukuphuma kukungabikho kwesiganeko, ngoko kunokwaziwa kuphela xa iseshoni iphelile. Iiseshoni ezingazange zingene kwifaneli azibalwa njengeziphumileyo kwaye azisithumeli esi siganeko.
high_friction_sessionKanye ngeseshoni, xa amanqaku ayo omqobo eqala ukufikelela kumda (ngokwendalo ayi-60 kwali-100). Sithwala friction_score, imiqondiso esemva kwawo (reasons) nomqondiso ogqithise kumda (trigger).
element_brokenKanye, xa into elandelwayo ingafumani nto nakokuphi na ukujongwa kwephepha okujongiweyo kangangeentsuku eziliqela — ngokuqhelekileyo emva kokuvuselelwa kwesayithi. Siphinda sithunyelwe kuphela emva kokuba uphawu lufumene into lwaza lwaphinda lwasilela. Esi siganeko asisoseshoni: session_id ne session_url zingu null, link_url ivula uphawu endaweni yoko, kwaye subject_id ichaza uphawu — ifana kuzo zonke iinguqulelo, ukuze isikhethi esitsha esiphinda sisilele sinxulunyaniswe nengxaki evuliweyo. Sithwala rule_id, rule_name, selector, page, checked_page_views, window_days ne last_matched. Akukho datha yeendwendwe.
element_recoveredIsaziso sokuba ingxaki iphelile se element_broken: kanye xa uphawu luphinda lufumane into ngokwenene — ukujongwa kwamaphepha okumbalwa kakhulu akwanele. Sithunyelwa kuphela ukuba element_broken sithunyelwe ngewebhook, kwaye asinaswitshi yaso: ukubhalisela element_broken kuyasiquka. Kwale subject_id, ukuze iPagerDuty isombulule ingxaki neOpsgenie ivale isilumkiso. Sithwala matched_page_views ne checked_page_views ukongeza.
anomaly_detectedKanye ngosuku, xa izolo lahluke ngokucacileyo kwiintsuku eziyi-28 ezingaphambili: iiseshoni ezimbalwa okanye ezininzi kakhulu, umlinganiselo weenjongo ohlileyo, iiseshoni ezininzi ezinemiqobo okanye iimpazamo zeJS. Imetriki efanayo necala elifanayo zihlala zingaxeli iveki (kuyatshintshwa). Esi siganeko asisoseshoni: session_id ne session_url zingu null, link_url ivula isishwankathelo seprojekthi, kwaye subject_id ichaza imetriki, icala nosuku. Sithwala metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score ne summary efundekayo kunye ne hint. Akukho datha yeendwendwe. KwiWeb Vitals, measurements ithatha indawo ye sessions, kwaye page (engenanto kwisayithi yonke) ne device (desktop okanye mobil) zichaza apho kwenzeke khona; link_url ivula ithebhu yeWeb Vitals ke.
rage_clickXa kubonwa ukucofa ngomsindo
error_detectedXa kukho impazamo kwicala elibonwayo
ceUbhaliso oludityanisiweyo lweziganeko zakho ezenzelwe wena. Olu aluquki iziganeko ezingasentla — ezo zineeswitshi zazo.

7. Iimpazamo & iikhowudi zemeko

ImekoIntsingiselo
200Impumelelo.
401Isitshixo se-API esingekhoyo, esingabhalwanga kakuhle okanye esirhoxisiweyo.
404Iprojekthi okanye iseshoni eceliweyo ayikho, okanye ayiyiyo eyendawo yakho yokusebenza.
429Umda wezicelo ugqithiwe — uthumela ngaphezu kwezicelo eziyi-60/ngomzuzu ngesi sitshixo.
403Isicwangciso sendawo yokusebenza asiyiquki iREST API. Umyalezo uchaza isicwangciso esifunekayo nesi sangoku.

8. Amanqaku okhuseleko

  • Izitshixo zokufunda kuphela (mp_ro_) azinakutshintsha nto. Izitshixo zokubhala (mp_rw_) zinokuqhoboshela izichongi zabathengi kuphela; akukho sitshixo sinokucima idatha okanye sikhuphele idatha yokudlala kwakhona engahlelwanga.
  • Isicelo ngasinye sibekelwa umda ngokuzenzekelayo wendawo yokusebenza yesitshixo — akukho ndlela yokudlulisa isichongi sendawo yokusebenza eyahlukileyo uze ubone idatha yomnye umntu.
  • Rhoxisa isitshixo nanini na ku /api-keys; ukurhoxisa kusebenza ngoko nangoko.
  • Phatha isitshixo sakho se-API njengegama lokugqitha. Ukuba usifaka ngempazamo kwindawo evulelekileyo yokugcina ikhowudi, sirhoxise ngoko nangoko uze wenze esitsha.

Amaphepha eziganeko anemida (API v1, 14 Oktobha 2026)

I-GET /api/v1/sessions/{session_id}/events ibuyisa ukuya kutsho kwiziganeko eziyi-100 ngokwendalo. Seta i-per_page ibe linani elipheleleyo ukusuka ku-1 ukuya ku-100. Landela i-pagination.next_cursor ngokuthumela i-cursor ingatshintshwanga kwisicelo esilandelayo; gcina iseshoni nendawo yokusebenza efanayo. Iziganeko zihlelwa nge-created_at ne-event_id. Ii-cursor zisayiniwe kwaye zibotshelelwe kuloo seshoni nakuloo ndawo yokusebenza. Akubuyiswa nani lilonke okanye inombolo yephepha.

I-array ekhoyo ye-data nemephu ye-params zihlala zifumaneka. I-pagination.returned linani elibuyisiweyo ngokwenene; i-pagination.has_more ibonisa ukuba kukho elinye iphepha. I-next_cursor iba ngu-null xa kugqityiwe. Impendulo inomda weebhayithi eziyi-524288, ngoko iphepha lisenokuba neziganeko ezimbalwa kune-per_page. Kwisiganeko ngasinye, kubuyiswa ubuninzi bemiqolo yeeparamitha eyi-128; i-params_truncated iba ngu-true ukuba ikhona engaphezulu. Iiparamitha zombhalo nganye zigcina umda wesiseko sedatha woonobumba abayi-255. Iiparamitha ezinqunyulweyo azifumaneki ngale ndawo yokuphela. Ukunciphisa i-per_page akuwunyusi umda weeparamitha.

Ubungakanani bamaphepha obungasebenziyo, ii-cursor ezitshintshiweyo nee-cursor zezinye iiseshoni/iindawo zokusebenza zibuyisa u-400. Idatha yesiganeko esinye egqithise ubungakanani ibuyisa u-413. Uqinisekiso lofikelelo olukhoyo lusabuyisa u-401, 403, 404 okanye 409 ngokufanelekileyo.

Umda uhlala uzizicelo eziyi-60 eziqinisekisiweyo ngesitshixo se-API ngomzuzu. Ukuphela komda kubuyisa u-429 ene-Retry-After: 60. Ukuba iRedis okanye isibekeli-mda asifumaneki, izicelo zibuyisa u-503 ene-Retry-After: 5; azize zamkelwe ngaphandle komda. Thobela i-Retry-After uze wongeze ukulinda okutshintshatshintshayo; ungaphindi uzame ngokukhawuleza kumjikelo oqinileyo. Ukusilela kwesiseko sedatha seziganeko nako kubuyisa u-503. Ii-cursor aziwubambi umfanekiso ongatshintshiyo: ukufakwa ngaxeshanye okunezitampu zexesha ezindala kusenokufuna ukuskena okutsha.

GET /api/v1/sessions/s_example/events?per_page=25
GET /api/v1/sessions/s_example/events?per_page=25&cursor=SIGNED_CURSOR

I-/api/v1/native yindlela yolawulo lwenkqubo engasemva yeDev kuphela yokujonga kwangaphambili i-SDK ye-native. Ihlala ivaliwe kwimveliso esebenzayo. Izitshixo zeBearer zenkqubo engasemva zifuna umda wokufunda we-list/replay nomda wokubhala we-register/grant/delete/disable. Uqinisekiso olongezelelweyo lokufumaneka komboniso wangaphambili we-native luyasebenza. Ungaze ufake izitshixo ezisisigxina ze-API zendawo yokusebenza kwisicelo seselula.