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:
Izitshixo ezingekhoyo, ezingabhalwanga kakuhle okanye ezirhoxisiweyo zifumana impendulo ethi 401 :
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.
| Isimaphambili | Intsingiselo |
|---|---|
mp_ro_ | Ukufunda kuphela. Sifunda iiprojekthi, iiseshoni, iziganeko namaqela. Asinakutshintsha nto. |
mp_rw_ | Ukufunda nokubhala. Konke okungasentla, kunye nokuqhoboshela izichongi zabathengi ngendawo yokuphela yokuchonga. |
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:
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.
GET/api/v1/projects/{channelid}/sessions
Idwelisa iiseshoni zeendwendwe ezirekhodelwe iprojekthi, ezona zintsha kuqala. Yahlulwe yangamaphepha.
| Iparamitha yombuzo | Inkcazelo |
|---|---|
page | Inombolo yephepha, ngokwendalo 1. |
per_page | Iziphumo ngephepha, ngokwendalo 25, ubuninzi 100. |
since | Kuphela iiseshoni eziqala ngalo mhla okanye emva kwawo (YYYY-MM-DD). |
until | Kuphela iiseshoni eziqala ngalo mhla okanye ngaphambi kwawo. |
GET/api/v1/sessions/{session_id}
Imethadatha yeseshoni enye, kunye nokujongwa kwamaphepha ayo. Ngabom ayiquki umthwalo opheleleyo wokudlala kwakhona — sebenzisa isidlali sedeshibhodi kuloo nto.
GET/api/v1/sessions/{session_id}/events
Iziganeko ezenzelwe wena ezithunyelwe ngexesha leseshoni (kwaezo uzithumela nge mp('event', ...)), kuquka iiparamitha zazo.
GET/api/v1/projects/{channelid}/segments
Idwelisa amaqela eendwendwe achazelwe iprojekthi (amaqela ale projekthi kuphela nawasebenza kuyo yonke indawo yokusebenza).
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.
"changed": false kwaye akukho webhook ithunyelwayo. Iodolo ephindiweyo ayenzi mthengi wesibini onokuba kho.| Imeko | Xa |
|---|---|
400 | Indawo engekhoyo, user_id ingaphezulu koonobumba abayi-128, okanye inoonobumba bolawulo. Siyala endaweni yokunqumla — isichongi esishunqulwe kungaxelwanga asihambelani nanto kwiCRM yakho kodwa sisabonakala njengempumelelo. |
404 | Iseshoni ayikho okanye ayiyiyo eyendawo yakho yokusebenza. Ngabom impendulo iyafana kuzo zombini. |
403 | Isicwangciso 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:
| Isihloko | Intsingiselo |
|---|---|
X-MousePlayer-Event | Igama lesiganeko, umzekelo session_identified |
X-MousePlayer-Timestamp | Imizuzwana yeUnix — yinxalenye yombhalo osayiniweyo |
X-MousePlayer-Attempt | 1 kumzamo wokuqala, phezulu xa kuzanywa kwakhona |
X-MousePlayer-Signature | sha256=<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');
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
| Isiganeko | Sithunyelwa |
|---|---|
session_identified | Xa iseshoni ifumana isichongi somthengi okokuqala — kwisikhangeli okanye kwi-API |
session_ended | Kanye, xa iseshoni ivalwa |
goal_reached | Kanye 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_session | Xa 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_dropoff | Ekupheleni 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_session | Kanye 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_broken | Kanye, 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_recovered | Isaziso 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_detected | Kanye 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_click | Xa kubonwa ukucofa ngomsindo |
error_detected | Xa kukho impazamo kwicala elibonwayo |
ce | Ubhaliso oludityanisiweyo lweziganeko zakho ezenzelwe wena. Olu aluquki iziganeko ezingasentla — ezo zineeswitshi zazo. |
7. Iimpazamo & iikhowudi zemeko
| Imeko | Intsingiselo |
|---|---|
200 | Impumelelo. |
401 | Isitshixo se-API esingekhoyo, esingabhalwanga kakuhle okanye esirhoxisiweyo. |
404 | Iprojekthi okanye iseshoni eceliweyo ayikho, okanye ayiyiyo eyendawo yakho yokusebenza. |
429 | Umda wezicelo ugqithiwe — uthumela ngaphezu kwezicelo eziyi-60/ngomzuzu ngesi sitshixo. |
403 | Isicwangciso 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.