I-API yomphakathi & okhiye be-API
Ukufinyelela ngokohlelo endaweni yakho yokusebenzela — funda amaphrojekthi, amaseshini, izehlakalo zangokwezifiso nezingxenye, unamathisele nama-ID amakhasimende kumaseshini — kuvikelwe ngokhiye be-API abanobubanzi bendawo yokusebenzela.
1. Ukubuka konke
I-API ye-MousePlayer ikuvumela ukhiphe idatha endaweni yakho yokusebenzela uye kumadeshibhodi akho, enqolobaneni yedatha noma kumathuluzi angaphakathi. Ngaphandle kokunamathisela ama-ID amakhasimende kumaseshini (identify, kudinga ukhiye onobubanzi bokubhala, bheka Ububanzi Bokhiye), ingeyokuthi kufundwe kuphela: ayikho idatha engashintshwa noma isuswe nge-API.
- I-URL eyisisekelo:
https://www.mouseplayer.com/api/v1/ - Zonke izimpendulo ziyi-JSON.
- Zonke izicelo ziqinisekiswa ngokhiye we-API futhi zikhawulelwa ngokuzenzakalela endaweni yokusebenzela lowo khiye ongowayo — ukhiye wendawo yokusebenzela eyodwa awukwazi neze ukubona idatha yenye, ngisho nangephutha.
- Okurekhodiwe okuphelele kokudlala kabusha kweseshini (ukunyakaza kwegundane, izithombe ze-DOM) akuvezwa nge-API. Uthola imethadatha yeseshini, ukubukwa kwamakhasi, izehlakalo zangokwezifiso nezingxenye — kwanele ukwakha imibiko namadeshibhodi ngaphandle kokuhambisa umthwalo wedatha wokudlala kabusha oluhlaza.
2. Ukuqinisekisa
Dala futhi uphathe okhiye bakho be-API ngaphansi kokuthi Okhiye Be-API kumenyu ye-akhawunti yakho (/api-keys). Abanikazi nabaphathi bendawo yokusebenzela kuphela abangadala noma bahoxise okhiye.
Gcina ukhiye wakho uyimfihlo. Unikeza ukufinyelela kokufunda kuyo yonke into esendaweni yakho yokusebenzela. Ukhiye ophelele uboniswa kanye kuphela, ngemva nje kokuwudala — wugcine kumphathi wamaphasiwedi noma endaweni yokugcina izimfihlo. Uma uwulahla, wuhoxise udale omusha.
Thumela ukhiye njengethokheni ye-Bearer esihlokweni esithi Authorization sazo zonke izicelo:
Okhiye abangekho, abakheke kabi noma abahoxisiwe bathola impendulo ethi 401 :
Uhlelo oludingekayo
I-REST API iyingxenye yezinhlelo ze- Business ne- Enterprise . Uhlelo luthathwa kumnikazi wendawo yokusebenzela, ngakho amalungu eqembu amenyiwe ayaluzuza. Ukuhlola kwenzeka kuzo zonke izicelo, hhayi kuphela lapho kudalwa ukhiye — uma indawo yokusebenzela yehliselwa ohlelweni oluphansi, okhiye abakhona bayayeka ukusebenza babuyise 403.
Ububanzi bokhiye
Wonke ukhiye uqukethe ububanzi bawo esiqalweni sawo, ukuze ubone ukuthi wenzani ngokuwubuka nje — ku- .env, ethikithini, kutheminali.
| Isiqalo | Incazelo |
|---|---|
mp_ro_ | Ukufunda kuphela. Ufunda amaphrojekthi, amaseshini, izehlakalo nezingxenye. Awukwazi ukushintsha lutho. |
mp_rw_ | Ukufunda nokubhala. Konke okungenhla, kanye nokunamathisela ama-ID amakhasimende ngesiphetho sokuhlonza. |
403 nomlayezo osho ukuthi ukhiye unjani nokuthi isiphetho sidingani. Ububanzi abukwazi ukushintshwa kamuva — dala ukhiye omusha uhoxise omdala.3. Imikhawulo yezinga
Ukhiye ngamunye we-API ukhawulelwe ezicelweni ezingu-60 ngomzuzu, zibalwa efasiteleni lesikhathi elihambayo. Uma wedlula lokho, izicelo zithola impendulo ethi 429 kuze kuphele iwindi lesikhathi:
Wakha okuthile okudinga umkhawulo ophakeme? Xhumana Nabasekeli usitshele ngenhloso yokusebenzisa.
4. Iziphetho
GET/api/v1/projects
Ibala zonke iziphrojekthi (amasayithi alandelelwayo) endaweni yakho yokusebenzela.
GET/api/v1/projects/{channelid}/sessions
Ibala amaseshini ezivakashi arekhodelwe iphrojekthi, amasha kuqala. Ihlukaniswe ngamakhasi.
| Ipharamitha yombuzo | Incazelo |
|---|---|
page | Inombolo yekhasi, okuzenzakalelayo 1. |
per_page | Imiphumela ngekhasi, okuzenzakalelayo 25, okuphezulu 100. |
since | Amaseshini aqala ngalolu suku noma ngemva kwalo kuphela (YYYY-MM-DD). |
until | Amaseshini aqala ngalolu suku noma ngaphambi kwalo kuphela. |
GET/api/v1/sessions/{session_id}
Imethadatha yeseshini eyodwa, kanye nokubukwa kwamakhasi kwayo. Ikhetha ukungafaki umthwalo wedatha wokudlala kabusha ophelele — sebenzisa isidlali sedeshibhodi kulokho.
GET/api/v1/sessions/{session_id}/events
Izehlakalo zangokwezifiso ezenzeke phakathi neseshini (zona lezo ozithumela nge- mp('event', ...)), kuhlanganise namapharamitha azo.
GET/api/v1/projects/{channelid}/segments
Ibala izingxenye zezivakashi ezichazwe kuphrojekthi (zombili izingxenye zephrojekthi nezahlukaniswa kuyo yonke indawo yokusebenzela).
5. Ukunamathisela i-ID yekhasimende engxenyeni yakho yeseva
Isiphequluli sivame ukungazi ukuthi ubani ohlezi lapho. Kumkhiqizo we-B2B ubunikazi buqinisekiswa ngemva kokungena — engxenyeni yakho yeseva. Esitolo buqinisekiswa ngokuvuma i-oda. Lesi siphetho singaleso sikhathi ngqo.
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}}I-ID ibe isivela ohlwini lwamaseshini, iyasesheka lapho, futhi i-webhook ethi session_identified iyasebenza — okuyindlela efika ngayo ku-CRM yakho.
"changed": false futhi ayithunyelwa i-webhook. I-oda eliphindiwe alidali ikhasimende elingaba khona lesibili.| Isimo | Nini |
|---|---|
400 | Inkambu engekho, user_id engaphezu kwezinhlamvu ezingu-128, noma enezinhlamvu zokulawula. Siyenqaba kunokunqamula — i-ID efushaniswe buthule ayifani nalutho ku-CRM yakho futhi isabukeka njengempumelelo. |
404 | Iseshini ayikho noma ayiyona eyendawo yakho yokusebenzela. Impendulo efanayo ngamabomu kuzo zombili. |
403 | Uhlelo lwendawo yokusebenzela aluyihlanganisi i-API. |
6. Ama-webhook: ukuqinisekisa isiginesha
Ama-webhook asethwa ngephrojekthi ngaphansi kokuthi Ukuhlanganisa, lapho uthola nemfihlo yokusayina. Konke ukuthunyelwa kuqukethe lezi zihloko:
| Isihloko | Incazelo |
|---|---|
X-MousePlayer-Event | Igama lesehlakalo, isib. session_identified |
X-MousePlayer-Timestamp | Imizuzwana ye-Unix — ingxenye yombhalo osayiniwe |
X-MousePlayer-Attempt | 1 emzamweni wokuqala, kuphakeme lapho kuphindwa kuzanywa |
X-MousePlayer-Signature | sha256=<hex> |
Isiginesha iyi-HMAC-SHA256 yombhalo othi timestamp + "." + raw body, kusetshenziswa imfihlo yokusayina yephrojekthi yakho njengokhiye.
// 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');
Ukuthumela nokuphinda kuzanywe
Ukuthumela okwehlulekile kuphindwa ngemva kuka- 1 min, 5 min, 15 min, 1 h no-6 h, bese kuyekwa. 4xx izimpendulo ngaphandle kwe- 408 ne- 429 aziphinde zizanywe — zithi "hhayi ngale ndlela", hhayi "hhayi njengamanje". Phendula ngo- 2xx ngokushesha bese wenza umsebenzi kamuva; ukuthumela kuphelelwa isikhathi ngemva kwemizuzwana engu-10.
Izehlakalo ezitholakalayo
| Isehlakalo | Siqala |
|---|---|
session_identified | Lapho iseshini iqala ukuthola i-ID yekhasimende — esipheqululini noma nge-API |
session_ended | Kanye, lapho iseshini ivalwa |
goal_reached | Kanye ngeseshini, lapho isehlakalo sangokwezifiso sifeza omunye wemigomo yakho. Imigomo yohlobo lwe-“event” kuphela — imigomo ye-URL, yesikhathi, yokubukwa kwamakhasi neyefaneli ayihlaziywa. Kuqukethe goal_id, goal_name, goal_value ne- currency. |
high_value_session | Lapho isivakashi siqala ukudlula umkhawulo wenani wale phrojekthi ngosuku oluthile. Umkhawulo utholakala ekwahlukanisweni kwamaphuzu akho (iphesenti lokuhlukanisa lama-90 lezinsuku ezingu-90 ezedlule), hhayi inombolo engashintshi, futhi awukho kuze kube okungenani izivakashi ezingu-20 sezinikezwe amaphuzu. Kuqukethe visitor_id, value_score, threshold neseshini yalolo suku efanele ukubukwa kakhulu. |
funnel_dropoff | Ekupheleni kweseshini engene kwelinye lamafaneli akho kodwa yangaliqeda. Kubiza isinyathelo egcine kuso (dropped_at). Ukushiya kusho ukungabikho kwesehlakalo, ngakho kungaziwa kuphela lapho iseshini isiphelile. Amaseshini angakaze angene kufaneli awabalwa njengokushiya futhi awasiqalisi lesi sehlakalo. |
high_friction_session | Kanye ngeseshini, lapho amaphuzu ayo ezithiyo eqala ukufinyelela emkhawulweni (ngokuzenzakalela angu-60 kwangu-100). Kuqukethe friction_score, izimpawu eziwabangela (reasons) nophawu oludlule umkhawulo (trigger). |
element_broken | Kanye, lapho isici esilandelelwayo singatholanga lutho kukho konke ukubukwa kwamakhasi okuhloliwe izinsuku eziningana — ngokuvamile ngemva kokwethulwa kabusha. Siphinde sisebenze kuphela ngemva kokuba uphawu luphinde lwafana lwabe seluphuka futhi. Lesi sehlakalo asisona eseseshini: session_id ne- session_url kuba null, link_url ivula uphawu esikhundleni salokho, futhi subject_id ibiza uphawu — okufanayo kuzo zonke izinguqulo, ukuze isikhethi esisha esiphuka futhi sijoyine udaba oluvuliwe. Kuqukethe rule_id, rule_name, selector, page, checked_page_views, window_days ne- last_matched. Ayikho idatha yezivakashi. |
element_recovered | Isaziso sokulungiseka se- element_broken: kanye lapho uphawu luphinda luthola isici ngempela — ukubukwa kwamakhasi okumbalwa kakhulu akwanele. Sithunyelwa kuphela uma element_broken kuthunyelwe nge-webhook, futhi asinaswishi yaso: ukubhalisela element_broken kuyasihlanganisa. Kuyafana i- subject_id, ukuze i-PagerDuty ixazulule udaba ne-Opsgenie ivale isaziso. Kuqukethe matched_page_views ne- checked_page_views ngaphezu kwalokho. |
anomaly_detected | Kanye ngosuku, lapho izolo kwehluke ngokusobala ezinsukwini ezingu-28 zangaphambili: amaseshini ambalwa kakhulu noma amaningi kakhulu, izinga lomgomo elehlile, amaseshini amaningi anezithiyo noma amaphutha e-JS. Imethrikhi nesiqondiso esifanayo kuhlala kuthule isonto (kuyalungiseka). Lesi sehlakalo asisona eseseshini: session_id ne- session_url kuba null, link_url ivula ukubuka konke kwephrojekthi, futhi subject_id ibiza imethrikhi, isiqondiso nosuku. Kuqukethe metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score nokufundekayo okuthi summary ne- hint. Ayikho idatha yezivakashi. Nge-Web Vitals, measurements ithatha indawo ye- sessions, futhi page (akunalutho kusayithi lonke) ne- device (desktop noma mobil) kusho lapho kwenzeke khona; link_url ibe isivula ithebhu ye-Web Vitals. |
rage_click | Lapho kutholwa ukuchofoza ngentukuthelo |
error_detected | Lapho kwenzeka okuhlukile engxenyeni yesiphequluli |
ce | Ukubhalisa okuhlanganisiwe kwezehlakalo zakho zangokwezifiso. Akuzihlanganisi izehlakalo ezingenhla — lezo zineziswishi zazo. |
7. Amaphutha & amakhodi esimo
| Isimo | Incazelo |
|---|---|
200 | Impumelelo. |
401 | Ukhiye we-API ongekho, owakheke kabi noma ohoxisiwe. |
404 | Iphrojekthi noma iseshini eceliwe ayikho, noma ayiyona eyendawo yakho yokusebenzela. |
429 | Umkhawulo wezinga udluliwe — uthumela izicelo ezingaphezu kuka-60/ngomzuzu ngalo khiye. |
403 | Uhlelo lwendawo yokusebenzela aluyihlanganisi i-REST API. Umlayezo ubiza uhlelo oludingekayo nolwamanje. |
8. Amanothi okuphepha
- Okhiye bokufunda kuphela (mp_ro_) abakwazi ukushintsha lutho. Okhiye bokubhala (mp_rw_) banganamathisela ama-ID amakhasimende kuphela; awukho ukhiye ongasusa idatha noma uthekelise idatha yokudlala kabusha eluhlaza.
- Zonke izicelo zikhawulelwa ngokuzenzakalela endaweni yokusebenzela yokhiye uqobo — ayikho indlela yokudlulisa i-ID yendawo ehlukile ubone idatha yomunye umuntu.
- Hoxisa ukhiye noma nini kokuthi /api-keys; ukuhoxisa kusebenza ngokushesha.
- Phatha ukhiye wakho we-API njengephasiwedi. Uma uwufaka ngephutha kunqolobane yekhodi yomphakathi, wuhoxise ngokushesha udale omusha.
Amakhasi ezehlakalo anemikhawulo (API v1, 14 Okthoba 2026)
I-GET /api/v1/sessions/{session_id}/events ibuyisa izehlakalo ezifinyelela kwezingu-100 ngokuzenzakalela. Setha i-per_page ibe inombolo ephelele kusukela ku-1 kuya ku-100. Landela i-pagination.next_cursor ngokuthumela i-cursor ingashintshi esicelweni esilandelayo; gcina iseshini nendawo yokusebenzela efanayo. Izehlakalo zihlelwa nge-created_at ne-event_id. Ama-cursor asayinwe futhi axhunywe kuleyo seshini nendawo yokusebenzela. Akubuyiswa isamba senani noma ikhasi lenombolo.
Uhlu lwe-data olukhona nemephu ye-params kuhlala kutholakala. I-pagination.returned iyinani langempela elibuyisiwe; i-pagination.has_more ikhomba elinye ikhasi. I-next_cursor iba null lapho kuphelele. Impendulo ikhawulelwe kumabhayithi angu-524288, ngakho ikhasi lingaqukatha izehlakalo ezimbalwa kune-per_page. Ngesehlakalo, kubuyiswa imigqa yamapharamitha engu-128 kakhulu; i-params_truncated iba true uma ikhona eyengeziwe. Amapharamitha ombhalo ngamanye agcina umkhawulo wesizindalwazi wezinhlamvu ezingu-255. Amapharamitha anqanyuliwe awatholakali ngalesi siphetho. Ukunciphisa i-per_page akuwukhuphuli umkhawulo wamapharamitha.
Osayizi bamakhasi abangavumelekile, ama-cursor ashintshiwe nama-cursor wenye iseshini/indawo yokusebenzela kubuyisa u-400. Idatha yesehlakalo esisodwa enkulu kakhulu ibuyisa u-413. Ukuhlolwa kokufinyelela okukhona kusabuyisa u-401, 403, 404 noma 409 ngokufanele.
Umkhawulo uhlala uyizicelo eziqinisekisiwe ezingu-60 ngokhiye we-API ngomzuzu. Ukuphela komkhawulo kubuyisa u-429 no-Retry-After: 60. Uma i-Redis noma isikhawuleli singatholakali, izicelo zibuyisa u-503 no-Retry-After: 5; azivunyelwa neze ngaphandle komkhawulo. Hlonipha i-Retry-After bese wengeza ukubambezeleka okungahleliwe; ungaphindi uzame kulayini osheshayo ongayeki. Ukwehluleka kwesizindalwazi sezehlakalo nakho kubuyisa u-503. Ama-cursor awaqandi isithombe sedatha: okufakwa kanyekanye okunezitembu zesikhathi ezindala kungadinga ukuskena okusha.
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 iyindlela yokulawula yengxenye yeseva ye-Dev kuphela yokubuka kuqala i-SDK yendabuko. Ihlala ivaliwe ohlelweni olusebenzayo. Okhiye be-Bearer bengxenye yeseva badinga ububanzi bokufunda be-list/replay nobubanzi bokubhala be-register/grant/delete/disable. Kusebenza nokuhlolwa okwengeziwe kokutholakala kokubuka kuqala kwendabuko. Ungalokothi ufake okhiye be-API bendawo yokusebenzela abangaphelelwa isikhathi ohlelweni lweselula.