API uummataaf banaa & furtuuwwan API

Seensa piroogiraamiin iddoo hojii keessaniitti — pirojektii, turtii, taateewwan dhuunfaa fi kutaawwan dubbisaa, ID maamilaa turtii irratti dabalaa — furtuuwwan API daangaa iddoo hojii qabaniin eegame.

1. Cuunfaa

API MousePlayer deetaa iddoo hojii keessan keessaa gara daashboordii, mana kuusaa deetaa yookaan meeshaa keessaa mataa keessaniitti akka baafattan taasisa. ID maamilaa turtii irratti dabaluun alatti (identify, furtuu daangaa barreessuu qabu barbaada, Daangaa furtuu ilaalaa) inni dubbisuu qofadha: deetaan karaa API jijjiiramuu yookaan haqamuu hin danda'u.

  • URL bu'uuraa: https://www.mouseplayer.com/api/v1/
  • Deebiin hundi JSON dha.
  • Gaaffiin hundi furtuu API tiin eenyummaa mirkaneeffatee ofumaan iddoo hojii furtuun sun kan isaa ta'etti daangeffama — furtuun iddoo hojii tokkoo deetaa iddoo hojii biraa gonkumaa arguu hin danda'u, dogoggoraan illee.
  • Waraabbiin irra deebi'anii taphachiisuu turtii guutuu (sochii maawusii, suuraalee DOM) API keessatti hin argamu. Metadata turtii, mul'ata fuulaa, taateewwan dhuunfaa fi kutaawwan argattu — deetaa irra deebi'anii taphachiisuu jalqabaa asii achi erguu malee gabaasa fi daashboordii ijaaruuf gahaa.

2. Mirkaneessa eenyummaa

Furtuuwwan API keessan menu herregaa keessatti kan Furtuuwwan API jalatti uumaa bulchaa (/api-keys). Abbootii iddoo hojii fi bulchitoota qofa furtuu uumuu yookaan haquu danda'u.

Furtuu keessan iccitii tursiisaa. Waan iddoo hojii keessan keessa jiru hunda dubbisuuf seensa kenna. Furtuun guutuun sirriitti yeroo tokko mul'ata, erga uumtanii battalumatti — njikaa jecha darbii yookaan kuusaa iccitii keessatti kaa'aa. Yoo dhabdan, haqaa haaraa uumaa.

Furtuu akka tookanii Bearer tti mataa Authorization gaaffii hunda keessatti ergaa:

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

Furtuun dhabame, bifa dogoggoraa qabu yookaan haqame deebii 401 argata:

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

Ulaagaa karooraa

REST API kutaa karoora Business fi Enterprise ti. Karooraan abbaa iddoo hojii irraa fudhatama, kanaaf miseensonni garee affeeraman dhaalu. Qorannoon gaaffii hunda irrattihojjeta, furtuun yeroo uumamu qofa miti — iddoo hojii gadi yoo buufame, furtuun jiru hojjechuu dhaabee 403deebisa.

Daangaa furtuu

Furtuun hundi daangaa isaa durgoo mataa isaa keessatti qaba, kanaaf furtuun maal akka godhu ilaaluun qofa beekuu dandeessu — kana keessatti .env, tikettii keessatti, terminal keessatti.

DurgooHiika
mp_ro_Dubbisuu qofa. Pirojektii, turtii, taateewwan fi kutaawwan dubbisa. Waan tokkollee jijjiiruu hin danda'u.
mp_rw_Dubbisuu fi barreessuu. Waan armaan olii hunda, dabalataan ID maamilaa karaa bakka xumuraa identify dabaluun.
Furtuu yeroo uumtan daangaa filadhaa; durtiin dubbisuu qofa. Furtuu dubbisuu qofa bakka xumuraa barreessu irratti fayyadamuun 403 fi ergaa furtuun maal akka ta'ee fi bakki xumuraa maal akka barbaadu maqaa kennu deebisa. Daangaan booda jijjiiramuu hin danda'u — furtuu haaraa uumaa kan duraa haqaa.

3. Daangaa baay'ina gaaffii

Furtuun API hundi gaaffii 60 daqiiqaattidaangeffama, foddaa yeroo socho'u keessatti lakkaa'ama. Yoo caaltan, gaaffiiwwan deebii 429 hanga foddaan qulqullaa'utti argatu:

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

Waan daangaa olaanaa barbaadu ijaaraa jirtuu? Karaa Deeggarsaa nu qunnamaatii waa'ee itti fayyadama keessanii nutti himaa.

4. Bakkeewwan xumuraa

GET/api/v1/projects

Pirojektii (marsariitii hordofamu) iddoo hojii keessan keessaa hunda tarreessa.

{ "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

Turtii daawwataa pirojektiif waraabame tarreessa, haaraa dura. Fuulaan qoodame.

Parametarii gaaffiiIbsa
pageLakkoofsa fuulaa, durtii 1.
per_pageBu'aa fuula tokkoon, durtii 25, baay'inaan 100.
sinceTurtiiwwan guyyaa kana irratti/booda jalqaban qofa (YYYY-MM-DD).
untilTurtiiwwan guyyaa kana irratti/dura jalqaban qofa.
{ "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}

Metadata turtii tokkoo, dabalataan mul'ata fuulaa isaa. Of eeggannoon deetaa irra deebi'anii taphachiisuu guutuu keessaa baasa — sanaaf Taphachiisaa daashboordii fayyadamaa.

{ "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

Taateewwan dhuunfaa turtii keessatti kakaafaman (taateewwan walfakkaataa isin kanaan ergitan mp('event', ...)), parametaroota isaanii dabalatee.

{ "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

Kutaawwan daawwataa pirojektiif ibsaman tarreessa (kan pirojektii addaa fi iddoo hojii guutuu lamaan).

{ "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. ID maamilaa gama duubaa keessan irraa dabaluun

Biraawzariin eenyutu achi akka taa'u yeroo baay'ee hin beeku. Oomisha B2B keessatti eenyummaan seensa booda murtaa'a — gama duubaa keessan keessatti. Suuqii keessatti mirkaneessa ajajaatiin murtaa'a. Bakki xumuraa kun sirriitti yeroo sanaaf.

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}}

IDn sana booda tarree turtii keessatti mul'ata, achittis barbaadamuu danda'a, webhook session_identified kaka'a — akkasitti CRM keessan ga'a.

ID walfakkaataan yeroo lama waamuun nageenya qaba. Deebiin "changed": false waliin deebi'a, webhook hin ergamu. Ajajni irra deebi'ame nama fedhii qabu lammaffaa hin uumu.
HaalaYoom
400Dirreen dhabame, user_id qubee 128 caala, yookaan qubee to'annoo of keessaa qaba. Gabaabuu mannaa didna — ID sagalee malee gabaabbate CRM keessan keessatti homaa waliin hin walsimu, ammallee milkaa'ina fakkaata.
404Turtiin hin jiru yookaan kan iddoo hojii keessanii miti. Of eeggannoon lamaan deebii walfakkaataa.
403Karooraan iddoo hojii API hin dabalatu.

6. Webhook: mallattoo mirkaneessuu

Webhook pirojektii tokkoon kan Walitti makuujalatti qindaa'a, achitti iccitii mallatteessuus argattu. Geejjibni hundi mataawwan kana qaba:

MataaHiika
X-MousePlayer-EventMaqaa taatee, fkn. session_identified
X-MousePlayer-TimestampSekondii Unix — kutaa barruu mallatteeffame
X-MousePlayer-Attempt1 yaalii jalqabaa irratti, irra deebi'anii yaaluun ol'aanaa
X-MousePlayer-Signaturesha256=<hex>

Mallattoon HMAC-SHA256 kan timestamp + "." + raw body, iccitii mallatteessaa pirojektii keessaniitiin furtuu ta'e.

// 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');
Qabiyyee jalqabaa irratti mallatteessaa, JSON kamiyyuu parse gochuu dura. Irra deebi'anii serialize gochuun tartiiba furtuu fi whitespace jijjiira, mallattoonis gonkumaa hin walsimu. Akkasumas mallattoo yeroo daqiiqaa muraasa caalaa dulloome qabu didaa — mallattoon yeroo kanaaf jira.

Geejjibaa fi irra deebi'anii yaaluu

Geejjibni kufe 1 min, 5 min, 15 min, 1 h fi 6 hbooda irra deebi'ee yaalama, sana booda dhiifama. 4xx Deebiiwwan kanneen 408 fi 429 irraa adda ta'an hin yaalaman irra deebi'anii — isaan "akkas miti" jedhu, "amma miti" miti. Saffisaan 2xx deebisaa hojii sana booda hojjedhaa; geejjibni sekondii 10 booda yeroon isaa dhuma.

Taateewwan argaman

TaateeKaka'a
session_identifiedTurtiin yeroo jalqabaaf ID maamilaa argatu — biraawzarii yookaan API irraa
session_endedYeroo tokko, turtiin yeroo cufamu
goal_reachedTurtii tokkoon yeroo tokko, taateen dhuunfaa galmoota keessan keessaa tokko yeroo guutu. Galmoota gosa “event” qofa — galmi URL, yeroo, mul'ata fuulaa fi ujummoo hin madaalamu. Kan qabu goal_id, goal_name, goal_value fi currency.
high_value_sessionDaawwataan guyyaa tokko irratti daangaa gatii pirojektii kanaa yeroo jalqabaaf ce'u. Daangaan kan qoqqoodinsa qabxii mataa keessanii irraa madde (persentaayilii 90 guyyoota 90 darban), lakkoofsa dhaabbataa miti, daawwattoota yoo xiqqaate 20 qabxii argatan hanga jiraatanittis hin jiru. Kan qabu visitor_id, value_score, threshold fi turtii guyyaa sanaa ilaaluuf gatii guddaa qabu.
funnel_dropoffDhumarratti turtii ujummoo keessan keessaa tokko seenee garuu hin xumurre. Tarkaanfii itti dhaabbate maqaa waama (dropped_at). Dhiisuun taatee dhabuu dha, kanaaf turtiin erga dhumee qofa beekamuu danda'a. Turtiiwwan ujummoo gonkumaa hin seenne kan dhiisan miti, hin kakaasan.
high_friction_sessionTurtii tokkoon yeroo tokko, qabxiin gufuu isaa yeroo jalqabaaf daangaa ga'u (durtii 60 100 keessaa). Kan qabu friction_score, mallattoolee isa duuba jiran (reasons) fi mallattoo daangaa ce'e (trigger).
element_brokenYeroo tokko, wanti hordofamu guyyoota hedduu mul'ata fuulaa sakatta'ame kamiyyuu keessatti homaa yoo hin arganne — yeroo baay'ee erga haaromfamee booda. Irra deebi'ee kan kaka'u mallattoon walsimee irra deebi'ee cabe booda qofa. Taateen kun kan turtii tokko illee miti: session_id fi session_url kan ta'an null, link_url bakka isaa mallattoo bana, fi subject_id mallattoo maqaa waama — verjinii hundaaf walfakkaataa, kanaaf filataan haaraan irra deebi'ee cabu rakkoo banaa wajjin makama. Kan qabu rule_id, rule_name, selector, page, checked_page_views, window_days fi last_matched. Deetaan daawwataa hin jiru.
element_recoveredWanti sirraa'uu kan element_broken: mallattoon dhugumaan irra deebi'ee wanta yeroo argatu — mul'ata fuulaa baay'ee muraasni gahaa miti. Kan ergamu yoo element_broken webhook tiin ba'e qofa, jijjiirtuu mataa isaa hin qabu: kanaaf maamilamuun element_broken isa dabalata. Walfakkaataa subject_id, kanaaf PagerDuty rakkoo fura Opsgenie beeksisa cufa. Kan dabalataan qabu matched_page_views fi checked_page_views .
anomaly_detectedGuyyaatti yeroo tokko, kaleessi guyyoota 28 duraanii irraa ifatti yeroo adda ta'u: turtii baay'ee xiqqaa yookaan baay'ee guddaa, reetii galmaa kufe, turtii gufuu yookaan dogoggora JS qabu dabalataa. Safartuunii fi kallattiin walfakkaataa torban tokko cal'isu (jijjiiramuu danda'a). Taateen kun kan turtii tokko illee miti: session_id fi session_url kan ta'an null, link_url cuunfaa pirojektii bana, fi subject_id safartuu, kallattii fi guyyaa maqaa waama. Kan qabu metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score fi kan dubbifamu summary fi hint. Deetaan daawwataa hin jiru. Web Vitals tiif, measurements bakka bu'a sessions, fi page (marsariitii guutuuf duwwaa) fi device (desktop yookaan mobil) bakka itti ta'e dubbatu; link_url sana booda gabatee Web Vitals bana.
rage_clickCuqaasa aarii argame irratti
error_detectedDogoggora gama fuulduraa irratti
ceMaamilummaa walitti qabaa taateewwan dhuunfaa mataa keessaniif. Inni hin dabalatu taateewwan armaan olii — isaan jijjiirtuu mataa isaanii qabu.

7. Dogoggoroota & koodii haalaa

HaalaHiika
200Milkaa'ina.
401Furtuu API dhabame, bifa dogoggoraa qabu yookaan haqame.
404Pirojektii yookaan turtiin gaafatame hin jiru, yookaan kan iddoo hojii keessanii miti.
429Daangaan gaaffii darbe — furtuu kanaan gaaffii 60/daqiiqaa caalaa ergaa jirtu.
403Karooraan iddoo hojii REST API hin dabalatu. Ergaan karoora barbaachisuu fi ammaa lamaan maqaa waama.

8. Yaadannoo nageenyaa

  • Furtuun dubbisuu qofa (mp_ro_) homaa jijjiiruu hin danda'u. Furtuun barreessuu (mp_rw_) ID maamilaa qofa dabalu danda'a; furtuun kamiyyuu deetaa haquu yookaan deetaa irra deebi'anii taphachiisuu jalqabaa erguu hin danda'u.
  • Gaaffiin hundi ofumaan iddoo hojii furtuu mataa isaatti daangeffama — karaa ID iddoo hojii adda ta'e dabarsanii deetaa nama biraa itti argan hin jiru.
  • Yeroo kamiyyuu furtuu kana irraa haqaa /api-keys; haqamuun battalumatti hojiirra oola.
  • Furtuu API keessan akka jecha darbiitti qabaa. Dogoggoraan kuusaa koodii uummataaf banaa keessatti yoo commit gootan, battalumatti haqaa haaraa uumaa.

Fuulota taatee daangeffaman (API v1, 14 Onkololeessa 2026)

GET /api/v1/sessions/{session_id}/events akka durtiitti taatee hanga 100 deebisa. per_page integer 1 hanga 100 tti saagaa. Gaaffii itti aanu irratti cursor osoo hin jijjiirin erguun pagination.next_cursor hordofaa; turtii fi iddoo hojii walfakkaataa tursiisaa. Taateewwan created_at fi event_id tiin tartiibeeffamu. Cursor mallatteeffamee turtii fi iddoo hojii sanatti hidhata. Baay'inni waliigalaa yookaan fuulli lakkoofsaa hin deebifamu.

Array data fi map params jiran itti fufanii ni argamu. pagination.returned baay'ina dhugumaan deebi'e; pagination.has_more fuula biraa agarsiisa. next_cursor yeroo xumuramu null dha. Deebiin baayitii 524288 tti daangeffama, kanaaf fuulli taatee per_page gadi qabachuu danda'a. Taatee tokkoon sarara parametarii baay'inaan 128 deebi'a; dabalataan yoo jiraatan params_truncated true dha. Parametarii string dhuunfaa daangaa kuusaa deetaa qubee 255 tursiisu. Parametaroonni gabaabbatan bakka xumuraa kanaan hin argaman. per_page hir'isuun daangaa parametarii hin ol kaasu.

Safarri fuulaa dogoggoraa, cursor jijjiirame fi cursor turtii/iddoo hojii biraaf ta'e 400 deebisu. Deetaan taatee dhuunfaa garmalee guddaa 413 deebisa. Qorannoowwan seensaa jiran akka barbaachisummaa isaatti 401, 403, 404 yookaan 409 deebisuu itti fufu.

Daangaan gaaffii eenyummaan mirkanaa'e 60 furtuu API tokkoon daqiiqaa tokkoon hafa. Dhumuun 429 Retry-After: 60 waliin deebisa. Redis yookaan daangeessaan yoo hin argamne, gaaffiiwwan 503 Retry-After: 5 waliin deebisu; daangaa malee gonkumaa hin hayyamaman. Retry-After kabajaatii eeggannaa dabalaa tasaa itti dabalaa; loop dhiphaa keessatti irra deebi'anii hin yaalinaa. Kufaatiin kuusaa deetaa taatee illee 503 deebisa. Cursor suuraa yeroo tokkoo hin dhaabu: galteen yeroo tokkotti mallattoo yeroo durii qabu sakatta'iinsa haaraa barbaaduu danda'a.

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 karaa to'annoo gama duubaa Dev qofa kan SDK appii dhalootaa dursee ilaaluuf. Oomisha keessatti cufamee hafa. Furtuun Bearer gama duubaa list/replay tiif daangaa dubbisuu fi register/grant/delete/disable tiif daangaa barreessuu barbaada. Qorannoon argama dursanii ilaaluu appii dhalootaa dabalataa hojjeta. Furtuu API iddoo hojii dhaabbataa appii moobaayilaa keessatti gonkumaa hin maxxansinaa.