API Cyhoeddus & Allweddi API
Mynediad rhaglennol at eich gweithle — darllen prosiectau, sesiynau, digwyddiadau personol a segmentau, ac atodi IDs cwsmeriaid at sesiynau — wedi’i ddiogelu gan allweddi API â chwmpas gweithle.
1. Trosolwg
Mae API MousePlayer yn gadael i chi dynnu data o’ch gweithle i’ch dangosfyrddau, warws data neu offer mewnol eich hun. Ar wahân i atodi IDs cwsmeriaid at sesiynau (identify, angen allwedd â chwmpas ysgrifennu, gweler Cwmpas Allweddi), mae’n ddarllen yn unig: ni ellir addasu na dileu data drwy’r API.
- URL Sylfaenol:
https://www.mouseplayer.com/api/v1/ - JSON yw pob ymateb.
- Dilysir pob cais gydag allwedd API a’i gwmpasu’n awtomatig i’r gweithle y mae’r allwedd yn perthyn iddo — ni all allwedd o un gweithle byth weld data gweithle arall, hyd yn oed ar ddamwain.
- Nid yw’r recordiad ailchwarae sesiwn llawn (symudiadau llygoden, cipluniau DOM) yn cael ei ddarparu drwy’r API. Rydych yn cael metadata sesiwn, golygon tudalen, digwyddiadau personol a segmentau — digon i adeiladu adroddiadau a dangosfyrddau heb gludo llwyth crai’r ailchwarae o gwmpas.
2. Dilysu
Crëwch a rheolwch eich allweddi API o dan Allweddi API yn newislen eich cyfrif (/api-keys). Dim ond perchnogion a gweinyddwyr gweithleoedd sy’n gallu creu neu ddirymu allweddi.
Cadwch eich allwedd yn gyfrinachol. Mae’n rhoi mynediad darllen at bopeth yn eich gweithle. Dangosir yr allwedd lawn unwaith yn union, yn syth ar ôl i chi ei chreu — storiwch hi mewn rheolwr cyfrineiriau neu gladdgell gyfrinachau. Os collwch hi, dirymwch hi a chreu un newydd.
Anfonwch yr allwedd fel tocyn Bearer ym mhennyn Authorization pob cais:
Mae allweddi coll, camffurfiedig neu wedi’u dirymu yn cael ymateb 401:
Gofyniad Cynllun
Mae’r REST API yn rhan o gynlluniau Business ac Enterprise. Cymerir y cynllun oddi wrth berchennog y gweithle, felly mae aelodau tîm a wahoddwyd yn ei etifeddu. Mae’r gwiriad yn rhedeg ar bob cais, nid dim ond pan grëir allwedd — os caiff gweithle ei israddio, mae allweddi presennol yn peidio â gweithio ac yn dychwelyd 403.
Cwmpas Allweddi
Mae pob allwedd yn cario ei chwmpas yn ei rhagddodiad ei hun, felly gallwch ddweud beth mae allwedd yn ei wneud drwy edrych arni — mewn .env, mewn tocyn, mewn terfynell.
| Rhagddodiad | Ystyr |
|---|---|
mp_ro_ | Darllen yn unig. Yn darllen prosiectau, sesiynau, digwyddiadau a segmentau. Ni all newid dim. |
mp_rw_ | Darllen ac ysgrifennu. Popeth uchod, ynghyd ag atodi IDs cwsmeriaid drwy’r pwynt terfyn identify. |
403 gyda neges sy’n enwi beth yw’r allwedd a beth sydd ei angen ar y pwynt terfyn. Ni ellir newid y cwmpas wedyn — crëwch allwedd newydd a dirymu’r hen un.3. Terfynau Cyfradd
Mae pob allwedd API wedi’i chyfyngu i 60 cais y funud, wedi’u tracio ar ffenestr dreigl. Unwaith y byddwch yn mynd dros hynny, mae ceisiadau’n cael ymateb 429 nes bod y ffenestr yn clirio:
Yn adeiladu rhywbeth sydd angen terfyn uwch? Cysylltwch drwy Gymorth a dywedwch wrthym am eich achos defnydd.
4. Pwyntiau Terfyn
GET/api/v1/projects
Yn rhestru pob prosiect (gwefan wedi’i thracio) yn eich gweithle.
GET/api/v1/projects/{channelid}/sessions
Yn rhestru sesiynau ymwelwyr a recordiwyd ar gyfer prosiect, y diweddaraf yn gyntaf. Wedi’u rhannu’n dudalennau.
| Paramedr ymholiad | Disgrifiad |
|---|---|
page | Rhif tudalen, yn ddiofyn 1. |
per_page | Canlyniadau fesul tudalen, yn ddiofyn 25, uchafswm 100. |
since | Dim ond sesiynau sy’n dechrau ar/ar ôl y dyddiad hwn (YYYY-MM-DD). |
until | Dim ond sesiynau sy’n dechrau ar/cyn y dyddiad hwn. |
GET/api/v1/sessions/{session_id}
Metadata un sesiwn, ynghyd â’i golygon tudalen. Yn fwriadol nid yw’n cynnwys llwyth ailchwarae llawn — defnyddiwch Chwaraewr y dangosfwrdd ar gyfer hynny.
GET/api/v1/sessions/{session_id}/events
Digwyddiadau personol a sbardunwyd yn ystod sesiwn (yr un digwyddiadau rydych yn eu hanfon gyda mp('event', ...)), gan gynnwys eu paramedrau.
GET/api/v1/projects/{channelid}/segments
Yn rhestru’r segmentau ymwelwyr a ddiffiniwyd ar gyfer prosiect (segmentau penodol i’r prosiect ac ar draws y gweithle).
5. Atodi ID Cwsmer o’ch Pen Ôl
Yn aml nid yw’r porwr yn gwybod pwy sy’n eistedd yno. Mewn cynnyrch B2B pennir yr hunaniaeth ar ôl mewngofnodi — yn eich pen ôl. Mewn siop fe’i pennir gyda’r cadarnhad archeb. Mae’r pwynt terfyn hwn ar gyfer yr union foment honno.
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}}Yna mae’r ID yn ymddangos yn y rhestr sesiynau, gellir chwilio amdano yno, ac mae’r webhook session_identified yn tanio — dyna sut mae’n cyrraedd eich CRM.
"changed": false ac ni anfonir webhook. Nid yw archeb ailadroddus yn creu ail ddarpar gwsmer.| Statws | Pryd |
|---|---|
400 | Maes coll, user_id dros 128 nod neu â nodau rheoli ynddo. Rydym yn gwrthod yn hytrach na chwtogi — nid yw ID wedi’i fyrhau’n dawel yn paru â dim yn eich CRM ac mae’n dal i edrych fel llwyddiant. |
404 | Nid yw’r sesiwn yn bodoli neu nid yw’n perthyn i’ch gweithle. Yr un ateb yn fwriadol ar gyfer y ddau. |
403 | Nid yw cynllun y gweithle yn cynnwys yr API. |
6. Webhooks: Dilysu’r Llofnod
Ffurfweddir webhooks fesul prosiect o dan Integreiddiadau, lle cewch hefyd y gyfrinach lofnodi. Mae pob danfoniad yn cynnwys y penynnau hyn:
| Pennyn | Ystyr |
|---|---|
X-MousePlayer-Event | Enw’r digwyddiad, e.e. session_identified |
X-MousePlayer-Timestamp | Eiliadau Unix — rhan o’r testun wedi’i lofnodi |
X-MousePlayer-Attempt | 1 ar y cynnig cyntaf, yn uwch ar ailgeisiadau |
X-MousePlayer-Signature | sha256=<hex> |
Mae’r llofnod yn HMAC-SHA256 dros timestamp + "." + raw body, gyda chyfrinach lofnodi eich prosiect fel allwedd.
// 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');
Danfon ac Ailgeisiadau
Ailgeisir danfoniad aflwyddiannus ar ôl 1 munud, 5 munud, 15 munud, 1 awr a 6 awr, yna rhoddir y gorau iddo. 4xx yw’r ymatebion, ac eithrio 408 a 429, nad ydynt yn cael eu hailgeisio — maent yn dweud "nid fel hyn", nid "nid ar hyn o bryd". Ymatebwch gyda 2xx yn gyflym a gwnewch y gwaith wedyn; daw amser danfon i ben ar ôl 10 eiliad.
Digwyddiadau Sydd ar Gael
| Digwyddiad | Yn tanio |
|---|---|
session_identified | Pan fydd sesiwn yn cael ID cwsmer am y tro cyntaf — o’r porwr neu o’r API |
session_ended | Unwaith, pan fydd y sesiwn yn cau |
goal_reached | Unwaith fesul sesiwn, pan fydd digwyddiad personol yn cyflawni un o’ch nodau. Dim ond nodau o’r math ‘event’ — ni werthusir nodau URL, hyd, golwg tudalen a thwndis. Yn cynnwys goal_id, goal_name, goal_value a currency. |
high_value_session | Pan fydd ymwelydd yn croesi trothwy gwerth y prosiect hwn am y tro cyntaf ar ddiwrnod penodol. Mae’r trothwy wedi’i ddeillio o ddosbarthiad eich sgoriau eich hun (90fed canradd y 90 diwrnod diwethaf), nid yn rhif sefydlog, ac nid yw’n bodoli nes bod o leiaf 20 o ymwelwyr wedi’u sgorio. Yn cynnwys visitor_id, value_score, threshold a’r sesiwn fwyaf gwerth ei gwylio o’r diwrnod hwnnw. |
funnel_dropoff | Ar ddiwedd sesiwn a aeth i mewn i un o’ch twndisau ond na’i gorffennodd. Yn enwi’r cam y stopiodd arno (dropped_at). Absenoldeb digwyddiad yw ymadawiad, felly dim ond ar ôl i’r sesiwn ddod i ben y gellir ei wybod. Nid yw sesiynau na aethant i mewn i’r twndis erioed yn ymadawiadau ac nid ydynt yn tanio. |
high_friction_session | Unwaith fesul sesiwn, pan fydd ei sgôr ffrithiant yn cyrraedd y trothwy am y tro cyntaf (60 o 100 yn ddiofyn). Yn cynnwys friction_score, y signalau y tu ôl iddo (reasons) a’r signal a groesodd y llinell (trigger). |
element_broken | Unwaith, pan nad yw elfen wedi’i thracio wedi canfod dim mewn unrhyw olwg tudalen wedi’i gwirio ers sawl diwrnod — ar ôl ail-lansio fel arfer. Dim ond ar ôl i’r marc gyfateb a thorri unwaith eto y mae’n tanio eto. Nid yw’r digwyddiad hwn yn perthyn i unrhyw sesiwn: mae session_id a session_url yn null, mae link_url yn agor y marc yn lle hynny, ac mae subject_id yn enwi’r marc — yr un fath ar gyfer pob fersiwn, felly mae detholwr newydd sy’n torri eto yn ymuno â’r digwyddiad agored. Yn cynnwys rule_id, rule_name, selector, page, checked_page_views, window_days a last_matched. Dim data ymwelwyr. |
element_recovered | Yr hysbysiad bod popeth yn iawn ar gyfer element_broken: unwaith y bydd y marc yn canfod elfen eto mewn gwirionedd — nid yw rhy ychydig o olygon tudalen yn ddigon. Dim ond os aeth element_broken allan drwy webhook y’i hanfonir, ac nid oes ganddo switsh ei hun: mae tanysgrifio i element_broken yn ei gynnwys. Yr un subject_id, felly mae PagerDuty yn datrys y digwyddiad ac Opsgenie yn cau’r rhybudd. Yn cynnwys matched_page_views ac checked_page_views yn ychwanegol. |
anomaly_detected | Unwaith y dydd, pan oedd ddoe’n amlwg yn wahanol i’r 28 diwrnod blaenorol: llawer llai neu lawer mwy o sesiynau, cyfradd nod wedi gostwng, mwy o sesiynau â ffrithiant neu wallau JS. Mae’r un metrig a chyfeiriad yn aros yn dawel am wythnos (addasadwy). Nid yw’r digwyddiad hwn yn perthyn i unrhyw sesiwn: mae session_id a session_url yn null, mae link_url yn agor trosolwg y prosiect, ac mae subject_id yn enwi metrig, cyfeiriad a diwrnod. Yn cynnwys metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score a summary darllenadwy ac hint. Dim data ymwelwyr. Ar gyfer Web Vitals, mae measurements yn disodli sessions, ac mae page (gwag ar gyfer y wefan gyfan) a device (desktop neu mobil) yn dweud ble y digwyddodd; link_url wedyn yn agor y tab Web Vitals. |
rage_click | Ar glic dicter wedi’i ganfod |
error_detected | Ar eithriad pen blaen |
ce | Tanysgrifiad cyfunol ar gyfer eich digwyddiadau personol eich hun. Nid yw’n cynnwys y digwyddiadau uchod — mae gan y rheini eu switshis eu hunain. |
7. Gwallau & Codau Statws
| Statws | Ystyr |
|---|---|
200 | Llwyddiant. |
401 | Allwedd API ar goll, wedi’i chamffurfio neu wedi’i dirymu. |
404 | Nid yw’r prosiect neu’r sesiwn y gofynnwyd amdano yn bodoli, neu nid yw’n perthyn i’ch gweithle. |
429 | Wedi mynd dros y terfyn cyfradd — rydych yn anfon mwy na 60 cais/munud gyda’r allwedd hon. |
403 | Nid yw cynllun y gweithle yn cynnwys y REST API. Mae’r neges yn enwi’r cynllun gofynnol a’r un presennol. |
8. Nodiadau Diogelwch
- Ni all allweddi darllen yn unig (mp_ro_) newid dim. Dim ond atodi IDs cwsmeriaid y gall allweddi ysgrifennu (mp_rw_) ei wneud; ni all unrhyw allwedd ddileu data nac allforio data ailchwarae crai.
- Caiff pob cais ei gwmpasu’n awtomatig i weithle’r allwedd ei hun — nid oes ffordd i drosglwyddo ID gweithle gwahanol a gweld data rhywun arall.
- Dirymwch allwedd ar unrhyw adeg o /api-keys; daw dirymu i rym ar unwaith.
- Triniwch eich allwedd API fel cyfrinair. Os gwnewch ei chynnwys ar ddamwain mewn commit i ystorfa gyhoeddus, dirymwch hi ar unwaith a chreu un newydd.
Tudalennau Digwyddiadau Cyfyngedig (API v1, 14 Hydref 2026)
Mae GET /api/v1/sessions/{session_id}/events yn dychwelyd hyd at 100 o ddigwyddiadau yn ddiofyn. Gosodwch per_page i gyfanrif o 1 i 100. Dilynwch pagination.next_cursor drwy anfon cursor heb ei newid ar y cais nesaf; cadwch yr un sesiwn a gweithle. Trefnir digwyddiadau yn ôl created_at ac event_id. Mae cyrchwyr wedi’u llofnodi a’u rhwymo i’r sesiwn a’r gweithle hynny. Ni ddychwelir cyfanswm cyfrif na thudalen rifol.
Mae’r arae data a’r map params presennol yn aros ar gael. pagination.returned yw’r gwir nifer a ddychwelwyd; mae pagination.has_more yn nodi tudalen arall. Mae next_cursor yn null ar ôl gorffen. Mae ymateb wedi’i gapio ar 524288 beit, felly gall tudalen gynnwys llai o ddigwyddiadau na per_page. Fesul digwyddiad, dychwelir hyd at 128 o resi paramedrau; mae params_truncated yn true os oes mwy. Mae paramedrau llinynnol unigol yn cadw terfyn cronfa ddata o 255 nod. Nid yw paramedrau wedi’u cwtogi ar gael drwy’r pwynt terfyn hwn. Nid yw lleihau per_page yn codi cap y paramedrau.
Mae meintiau tudalen annilys, cyrchwyr wedi’u newid a chyrchwyr ar gyfer sesiwn/gweithle arall yn dychwelyd 400. Mae data digwyddiad unigol rhy fawr yn dychwelyd 413. Mae gwiriadau mynediad presennol yn dal i ddychwelyd 401, 403, 404 neu 409 fel y bo’n briodol.
Mae’r terfyn yn aros yn 60 cais wedi’i ddilysu fesul allwedd API y funud. Mae dihysbyddu’n dychwelyd 429 gyda Retry-After: 60. Os nad yw Redis neu’r cyfyngwr ar gael, mae ceisiadau’n dychwelyd 503 gyda Retry-After: 5; ni chânt eu derbyn heb derfyn byth. Parchwch Retry-After ac ychwanegwch oedi ar hap; peidiwch ag ailgeisio mewn dolen dynn. Mae methiannau cronfa ddata digwyddiadau hefyd yn dychwelyd 503. Nid yw cyrchwyr yn rhewi ciplun: gall mewnosodiadau cydamserol â stampiau amser hŷn ofyn am sgan newydd.
GET /api/v1/sessions/s_example/events?per_page=25 GET /api/v1/sessions/s_example/events?per_page=25&cursor=SIGNED_CURSOR
Mae /api/v1/native yn llwybr rheoli pen ôl ar gyfer rhagolwg SDK brodorol yn Dev yn unig. Mae’n aros wedi’i analluogi mewn cynhyrchu. Mae angen cwmpas darllen ar allweddi Bearer y pen ôl ar gyfer list/replay a chwmpas ysgrifennu ar gyfer register/grant/delete/disable. Mae gwiriadau argaeledd rhagolwg brodorol ychwanegol yn berthnasol. Peidiwch byth â mewnosod allweddi API gweithle parhaol mewn ap symudol.