API-ga dadweynaha & furayaasha API
Gelitaan barnaamijeed oo goobtaada shaqada ah — akhri mashaariicda, fadhiyada, dhacdooyinka gaarka ah iyo qaybaha, kuna lifaaq ID-yada macaamiisha fadhiyada — iyadoo lagu ilaalinayo furayaal API oo goobta shaqada ku xaddidan.
1. Dulmar
API-ga MousePlayer wuxuu kuu oggolaanayaa inaad xogta goobtaada shaqada u soo qaadato dashboards-kaaga, bakhaarkaaga xogta ama qalabkaaga gudaha. Marka laga reebo ku-lifaaqidda ID-yada macaamiisha fadhiyada (identify, wuxuu u baahan yahay fure leh baaxad qoritaan, eeg Baaxadaha furaha) waa akhris keliya: xog laguma beddeli karo ama laguma tirtiri karo API-ga.
- URL-ka aasaasiga ah:
https://www.mouseplayer.com/api/v1/ - Dhammaan jawaabuhu waa JSON.
- Codsi kasta waxaa lagu xaqiijiyaa fure API, si otomaatig ahna wuxuu ugu xaddidan yahay goobta shaqada ee furuhu ka tirsan yahay — fure goob shaqo ka yimid waligiis ma arki karo xogta goob shaqo kale, xitaa si kama' ah.
- Duubista dib-u-ciyaarista fadhiga oo dhan (dhaqdhaqaaqyada jiirka, sawirrada DOM) laguma soo bandhigo API-ga. Waxaad helaysaa metadata fadhiga, daawashooyinka bogga, dhacdooyinka gaarka ah iyo qaybaha — ku filan dhisidda warbixinno iyo dashboards iyadoon payload-ka dib-u-ciyaarista ceeriin ah la wareejin.
2. Xaqiijinta aqoonsiga
Abuur oo maamul furayaashaada API hoosta Furayaasha API ee menu-ga akoonkaaga (/api-keys). Milkiilayaasha iyo maamulayaasha goobta shaqada oo keliya ayaa abuuri kara ama kala noqon kara furayaal.
Furahaaga sir ka dhig. Wuxuu bixiyaa gelitaan akhris oo wax kasta oo goobtaada shaqada ku jira ah. Furaha oo buuxa waxaa la muujiyaa hal mar oo keliya, isla markaad abuurto — ku kaydi maareeye eray sir ah ama sanduuq sir ah. Haddii aad lumiso, kala noqo oo abuur mid cusub.
Furaha u dir sida Bearer token gudaha header-ka Authorization ee codsi kasta:
Furayaal maqan, qaab khaldan ama laga noqday waxay helaan jawaab 401 ah:
Shuruudda qorshaha
REST API wuxuu ka tirsan yahay qorshayaasha Business iyo Enterprise . Qorshaha waxaa laga qaataa milkiilaha goobta shaqada, sidaas darteed xubnaha kooxda ee la casuumay way dhaxlaan. Hubintu waxay socotaa codsi kasta, ma aha oo keliya marka fure la abuurayo — haddii goob shaqo loo dhimo qorshe hoose, furayaasha jira way joogsadaan oo soo celiyaan 403.
Baaxadaha furaha
Fure kastaa baaxaddiisa wuxuu ku wataa horgalihiisa, si aad u ogaato waxa fure samaynayo markaad eegto oo keliya — gudaha .env, ticket ama terminal.
| Horgale | Macnaha |
|---|---|
mp_ro_ | Akhris keliya. Wuxuu akhriyaa mashaariicda, fadhiyada, dhacdooyinka iyo qaybaha. Waxba ma beddeli karo. |
mp_rw_ | Akhris iyo qoritaan. Wax kasta oo kore iyo ku-lifaaqidda ID-yada macaamiisha iyadoo loo marayo endpoint-ka identify. |
403 iyo farriin sheegaysa waxa furuhu yahay iyo waxa endpoint-ku u baahan yahay. Baaxadda dabadeed lama beddeli karo — abuur fure cusub oo kala noqo kii hore.3. Xadadka codsiyada
Fure API kasta wuxuu ku xaddidan yahay 60 codsi daqiiqaddii, oo lagu dabagalo daaqad dhaqaaqaysa. Marka aad taas dhaafto, codsiyadu waxay helaan jawaab 429 ah ilaa daaqaddu banneyso:
Ma dhisaysaa wax u baahan xad sare? Nala soo xiriir adigoo maraya Taageerada oo noo sheeg habka adeegsigaaga.
4. Endpoints
GET/api/v1/projects
Wuxuu taxaa mashruuc kasta (websayt la dabagalo) oo goobtaada shaqada ku jira.
GET/api/v1/projects/{channelid}/sessions
Wuxuu taxaa fadhiyada booqdayaasha ee mashruuc loo duubay, kuwa ugu cusub marka hore. Bogag loo qaybiyay.
| Halbeeg query | Sharaxaad |
|---|---|
page | Lambarka bogga, caadiga 1. |
per_page | Natiijooyinka bog kasta, caadiga 25, ugu badnaan 100. |
since | Fadhiyada bilaabma taariikhdan ama ka dib oo keliya (YYYY-MM-DD). |
until | Fadhiyada bilaabma taariikhdan ama ka hor oo keliya. |
GET/api/v1/sessions/{session_id}
Metadata hal fadhi iyo daawashooyinkiisa bogga. Si ula kac ah ayuu uga reebaa payload-ka dib-u-ciyaarista oo dhan — taas u adeegso Ciyaariyaha dashboard-ka.
GET/api/v1/sessions/{session_id}/events
Dhacdooyinka gaarka ah ee dhacay inta fadhi socdo (isla dhacdooyinka aad ku dirto mp('event', ...)), oo ay ku jiraan halbeegyadoodu.
GET/api/v1/projects/{channelid}/segments
Wuxuu taxaa qaybaha booqdayaasha ee mashruuc loo qeexay (qaybaha mashruuca gaarka u ah iyo kuwa goobta shaqada oo dhan).
5. Ku-lifaaqidda ID macmiil backend-kaaga
Biraawsarku badanaa ma yaqaan cidda fadhida. Badeecad B2B ah, aqoonsiga waxaa la go'aamiyaa gelitaanka ka dib — backend-kaaga. Dukaan, waxaa la go'aamiyaa marka dalabka la xaqiijiyo. Endpoint-kan waxaa loogu talagalay isla waqtigaas.
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}}ID-gu dabadeed wuxuu ka muuqdaa liiska fadhiyada, halkaas ayaa laga raadin karaa, webhook-ga session_identified na wuu shaqeeyaa — sidaas ayuu CRM-kaaga ku gaaraa.
"changed": false webhook-na lama diro. Dalab soo noqday ma abuuro macmiil iman kara oo labaad.| Xaalad | Goorta |
|---|---|
400 | Goob maqan, user_id ka dheer 128 xaraf ama wata xarfaha xakamaynta. Waan diidnaa halkii aan soo gaabin lahayn — ID si aamusan loo soo gaabiyay waxba kama waafaqo CRM-kaaga, haddana wuxuu u ekaanayaa guul. |
404 | Fadhigu ma jiro ama kama tirsana goobtaada shaqada. Si ula kac ah waa isla jawaabta labadaba. |
403 | Qorshaha goobta shaqadu API kuma jiro. |
6. Webhooks: xaqiijinta saxiixa
Webhooks mashruuc kasta waxaa looga dejiyaa Isku-xirrada, halkaas oo aad sidoo kale ka hesho sirta saxiixa. Gudbin kastaa waxay wadataa headers-kan:
| Header | Macnaha |
|---|---|
X-MousePlayer-Event | Magaca dhacdada, tusaale session_identified |
X-MousePlayer-Timestamp | Ilbiriqsiyada Unix — qayb ka mid ah qoraalka la saxiixay |
X-MousePlayer-Attempt | 1 isku dayga koowaad, ka sareeya isku-dayada dambe |
X-MousePlayer-Signature | sha256=<hex> |
Saxiixu waa HMAC-SHA256 oo lagu sameeyay timestamp + "." + raw body, iyadoo furaha laga dhigayo sirta saxiixa ee mashruucaaga.
// 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');
Gudbinta iyo isku-dayada dambe
Gudbin fashilantay waxaa mar kale la isku dayaa ka dib 1 min, 5 min, 15 min, 1 h iyo 6 h, dabadeed waa laga quustaa. 4xx Jawaabaha 408 iyo 429 ka duwan ee laguma celiyo isku day — waxay sheegayaan "sidan ma aha", ma aha "hadda ma aha". Si degdeg ah ugu jawaab 2xx shaqadana dabadeed samee; gudbintu waxay waqtigeedu dhammaataa 10 ilbiriqsi ka dib.
Dhacdooyinka la heli karo
| Dhacdo | Goorta ay shaqayso |
|---|---|
session_identified | Marka fadhi markii ugu horreysay helo ID macmiil — biraawsarka ama API-ga |
session_ended | Hal mar, marka fadhigu xirmo |
goal_reached | Hal mar fadhi kasta, marka dhacdo gaar ahi fuliso mid ka mid ah yoolalkaaga. Yoolalka nooca “event” oo keliya — yoolalka URL, muddada, daawashada bogga iyo funnel lama qiimeeyo. Waxay wadataa goal_id, goal_name, goal_value iyo currency. |
high_value_session | Marka booqde markii ugu horreysay maalinta la siiyay dhaafo xadka qiimaha mashruucan. Xadka waxaa laga soo saaraa qaybinta dhibcahaaga (percentile 90 ee 90-kii maalmood ee u dambeeyay), ma aha tiro go'an, mana jiro ilaa ugu yaraan 20 booqde la dhibceeyo. Waxay wadataa visitor_id, value_score, threshold iyo fadhiga maalintaas ugu mudan in la daawado. |
funnel_dropoff | Dhammaadka fadhi galay mid ka mid ah funnels-kaaga laakiin aan dhammayn. Waxay magacowdaa tallaabadii uu ku joogsaday (dropped_at). Ka-bixitaanku waa maqnaanshaha dhacdo, sidaas darteed waxaa la ogaan karaa oo keliya marka fadhigu dhammaado. Fadhiyada aan waligood funnel-ka gelin ma aha ka-bixitaanno mana kiciyaan dhacdada. |
high_friction_session | Hal mar fadhi kasta, marka dhibcaha caqabaddu markii ugu horreysay gaaraan xadka (caadi ahaan 60 ee 100). Waxay wadataa friction_score, calaamadaha ka dambeeya (reasons) iyo calaamadda xadka dhaaftay (trigger). |
element_broken | Hal mar, marka walax la dabagalo waxba ka weydo daawasho kasta oo bog oo la hubiyay dhowr maalmood — badanaa dib-u-daahfur ka dib. Mar kale waxay shaqaysaa oo keliya marka calaamadeyntu waafaqdo oo mar kale jabto. Dhacdadani kama tirsana fadhi: session_id iyo session_url waa null, link_url wuxuu furayaa calaamadeynta beddelkeeda, subject_id na wuxuu magacaabaa calaamadeynta — isla magaca nooc kasta, si selector cusub oo mar kale jaba ugu biiro dhacdada furan. Waxay wadataa rule_id, rule_name, selector, page, checked_page_views, window_days iyo last_matched. Xog booqde ma jirto. |
element_recovered | Ogeysiiska hagaagga ee element_broken: hal mar marka calaamadeyntu dhab ahaantii mar kale hesho walax — daawashooyin bog oo aad u yar kuma filna. Waxaa la diraa oo keliya haddii element_broken uu baxay webhook ahaan, mana laha beddel u gaar ah: rukumashada element_broken waxay ku dartaa. Isla subject_id, sidaas darteed PagerDuty wuxuu xalliyaa dhacdada, Opsgenie-na digniinta ayuu xiraa. Waxay sidoo kale wadataa matched_page_views iyo checked_page_views . |
anomaly_detected | Hal mar maalintii, marka shalay si cad uga duwanayd 28-kii maalmood ee ka horreeyay: fadhiyo aad u yar ama badan, heer yool oo dhacay, fadhiyo caqabad leh ama khaladaad JS leh oo badan. Isla cabbirka iyo jihadu toddobaad ayay aamusaan (waa la beddeli karaa). Dhacdadani kama tirsana fadhi: session_id iyo session_url waa null, link_url wuxuu furaa dulmarka mashruuca, subject_id na wuxuu magacaabaa cabbirka, jihada iyo maalinta. Waxay wadataa metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score iyo qoraal la akhrin karo oo summary iyo hint. Xog booqde ma jirto. Web Vitals, measurements wuxuu beddelaa sessions, waxaana page (madhan marka ay tahay websaytka oo dhan) iyo device (desktop ama mobil) sheegaan halka ay ka dhacday; link_url dabadeed wuxuu furaa taabka Web Vitals. |
rage_click | Marka gujin caro leh la ogaado |
error_detected | Marka khalad front-end ah dhaco |
ce | Rukumo wadajir ah oo dhacdooyinkaaga gaarka ah. Kuma jiraan dhacdooyinka kore — kuwaas waxay leeyihiin beddelayaal u gaar ah. |
7. Khaladaad & koodhadhka xaaladda
| Xaalad | Macnaha |
|---|---|
200 | Guul. |
401 | Fure API oo maqan, qaab khaldan ama laga noqday. |
404 | Mashruuca ama fadhiga la codsaday ma jiro, ama kama tirsana goobtaada shaqada. |
429 | Xadka codsiyada waa la dhaafay — waxaad furahan ku diraysaa wax ka badan 60 codsi/daqiiqo. |
403 | Qorshaha goobta shaqadu REST API kuma jiro. Farriintu waxay magacowdaa qorshaha loo baahan yahay iyo kan hadda jira labadaba. |
8. Qoraallo amni
- Furayaasha akhris-keliya ah (mp_ro_) waxba ma beddeli karaan. Furayaasha qora (mp_rw_) waxay ku lifaaqi karaan oo keliya ID-yada macaamiisha; fure ma tirtiri karo xog ama ma dhoofin karo xogta dib-u-ciyaarista ceeriin ah.
- Codsi kasta si otomaatig ah wuxuu ugu xaddidan yahay goobta shaqada ee furaha — ma jiro hab aad u gudbin karto ID goob shaqo oo kale oo aad arki karto xog qof kale.
- Fure wakhti kasta kala noqo /api-keys; kala-noqoshadu isla markiiba ayay dhaqan gashaa.
- Furahaaga API ula dhaqan sida eray sir ah. Haddii aad si kama' ah ugu commit-garayso repository dadweyne ah, isla markiiba kala noqo oo abuur mid cusub.
Bogag dhacdooyin xaddidan leh (API v1, 14 October 2026)
GET /api/v1/sessions/{session_id}/events wuxuu soo celiyaa ilaa 100 dhacdo sida caadiga ah. per_page u deji tiro dhan oo 1 ilaa 100 ah. Raac pagination.next_cursor adigoo cursor-ka aan la beddelin ku diraya codsiga xiga; hay isla fadhiga iyo goobta shaqada. Dhacdooyinka waxaa loo kala hormariyaa created_at iyo event_id. Cursors waa saxiixan yihiin, kuna xiran fadhigaas iyo goobta shaqada. Wadar tiro ama bog tiro leh lama soo celiyo.
Array-ga data ee jira iyo map-ka params weli waa la heli karaa. pagination.returned waa tirada dhabta ah ee la soo celiyay; pagination.has_more wuxuu tilmaamaa bog kale. next_cursor waa null marka la dhammaystiro. Jawaabtu waxay ku xaddidan tahay 524288 bayt, sidaas darteed boggu wuxuu yeelan karaa dhacdooyin ka yar per_page. Dhacdo kasta, ugu badnaan 128 saf oo halbeegyo ah ayaa la soo celiyaa; params_truncated waa true haddii kuwo kale jiraan. Halbeegyada qoraalka ee gaarka ahi waxay haystaan xadka kaydka xogta ee 255 xaraf. Halbeegyada la soo gaabiyay lagama heli karo endpoint-kan. Yaraynta per_page ma kordhiso xadka halbeegyada.
Cabbirro bog oo aan sax ahayn, cursors la beddelay iyo cursors fadhi/goob shaqo kale ah waxay soo celiyaan 400. Xog dhacdo gaar ah oo aad u weyn waxay soo celisaa 413. Hubinnada gelitaanka ee jira weli waxay soo celiyaan 401, 403, 404 ama 409 sida ku habboon.
Xadku weli waa 60 codsi oo la xaqiijiyay fure API kasta daqiiqaddii. Dhammaadka qoondadu wuxuu soo celiyaa 429 oo leh Retry-After: 60. Haddii Redis ama xaddiduhu aan la heli karin, codsiyadu waxay soo celiyaan 503 oo leh Retry-After: 5; waligood xad la'aan looma oggolaado. Ixtiraam Retry-After oo ku dar sugid random ah oo sii kordhaysa; ha ku celcelin isku day si ciriiri ah. Fashilaadka kaydka dhacdooyinkuna waxay soo celiyaan 503. Cursors ma xannibaan snapshot: gelinno isku mar dhaca oo waqtiyo hore leh waxay u baahan karaan baaritaan cusub.
GET /api/v1/sessions/s_example/events?per_page=25 GET /api/v1/sessions/s_example/events?per_page=25&cursor=SIGNED_CURSOR
/api/v1/native waa waddo xakamayn backend oo Dev keliya ah oo loogu talagalay hordhaca native SDK. Waxay ku sii ahaanaysaa dansan nidaamka wax-soo-saarka. Furayaasha Backend Bearer waxay u baahan yihiin baaxad akhris list/replay iyo baaxad qoritaan register/grant/delete/disable. Hubinno dheeraad ah oo helitaanka native-preview ayaa khuseeya. Waligaa ha ku dhexgelin furayaasha API joogtada ah ee goobta shaqada app moobil ah.