API ọha & igodo API
Ohere site na mmemme n'ime oghere ọrụ gị — gụọ ọrụ ngo, nnọkọ, ihe omume nke gị na ngalaba, tinyekwa ID ndị ahịa na nnọkọ — nke igodo API nwere oke oghere ọrụ na-echekwa.
1. Nchịkọta
API MousePlayer na-ahapụ gị ịdọrọ data n'oghere ọrụ gị banye na bọọdụ nchịkwa nke gị, ụlọ nkwakọba data ma ọ bụ ngwa ime. Ewezuga itinye ID ndị ahịa na nnọkọ (identify, chọrọ igodo nwere ikike ide, lee Oke igodo), ọ bụ naanị maka ịgụ: a pụghị ịgbanwe ma ọ bụ hichapụ data site na API.
- URL ntọala:
https://www.mouseplayer.com/api/v1/ - Nzaghachi niile bụ JSON.
- A na-eji igodo API nyochaa arịrịọ ọ bụla, a na-etinyekwa ya na oke oghere ọrụ nke igodo ahụ bụ na-akpaghị aka — igodo sitere n'otu oghere ọrụ enweghị ike ịhụ data oghere ọrụ ọzọ, ọbụna site na mberede.
- Ndekọ ịkpọgharị nnọkọ zuru ezu (mmegharị òké, onyonyo DOM) adịghị na API. Ị na-enweta metadata nnọkọ, nlele ibe, ihe omume nke gị na ngalaba — nke zuru iji wuo akụkọ na bọọdụ nchịkwa n'ebufeghị data ịkpọgharị mbụ gburugburu.
2. Nyocha njirimara
Mepụta ma jikwaa igodo API gị n'okpuru Igodo API n'ime menu akaụntụ gị (/api-keys). Naanị ndị nwe oghere ọrụ na ndị nchịkwa nwere ike ịmepụta ma ọ bụ kagbuo igodo.
Debe igodo gị na nzuzo. Ọ na-enye ohere ịgụ ihe niile n'oghere ọrụ gị. A na-egosi igodo zuru ezu kpọmkwem otu ugboro, ozugbo ị mepụtara ya — chekwaa ya na njikwa okwuntughe ma ọ bụ ebe nchekwa ihe nzuzo. Ọ bụrụ na i tufuo ya, kagbuo ya ma mepụta nke ọhụrụ.
Ziga igodo ahụ dịka token Bearer n'ime nkụnye Authorization nke arịrịọ ọ bụla:
Igodo na-adịghị, nke usoro ya ezighi ezi ma ọ bụ nke akagbuola na-enweta nzaghachi 401 :
Ihe atụmatụ chọrọ
REST API bụ akụkụ atụmatụ Business na Enterprise . A na-ewere atụmatụ site n'aka onye nwe oghere ọrụ, ya mere ndị otu a kpọrọ òkù na-eketa ya. Nyocha ahụ na-arụ na arịrịọ ọ bụla, ọ bụghị naanị mgbe a na-emepụta igodo — ọ bụrụ na e belata ọkwa oghere ọrụ, igodo ndị dị adị na-akwụsị ịrụ ọrụ wee weghachite 403.
Oke igodo
Igodo ọ bụla na-ebu oke ya n'ime nganiihu nke ya, ka ị nwee ike ịmata ihe igodo na-eme site n'ile ya anya — n'ime .env, n'ime tiketi, n'ime terminal.
| Nganiihu | Ihe ọ pụtara |
|---|---|
mp_ro_ | Naanị ịgụ. Ọ na-agụ ọrụ ngo, nnọkọ, ihe omume na ngalaba. Ọ pụghị ịgbanwe ihe ọ bụla. |
mp_rw_ | Ịgụ na ide. Ihe niile dị n'elu, tinyere itinye ID ndị ahịa site na ebe njedebe identify. |
403 nwere ozi na-akpọ aha ihe igodo bụ na ihe ebe njedebe chọrọ. A pụghị ịgbanwe oke mgbe e mesịrị — mepụta igodo ọhụrụ ma kagbuo nke ochie.3. Oke arịrịọ
Igodo API ọ bụla nwere oke arịrịọ 60 kwa nkeji, nke a na-agụ n'ime windo na-agagharị. Ozugbo ị gafere ya, arịrịọ na-enweta nzaghachi 429 ruo mgbe windo ahụ sachara:
Ị na-ewu ihe chọrọ oke ka elu? Kpọtụrụ anyị site na Enyemaka ma gwa anyị maka ụzọ ị chọrọ iji ya.
4. Ebe njedebe
GET/api/v1/projects
Na-edepụta ọrụ ngo ọ bụla (webụsaịtị a na-enyocha) dị n'oghere ọrụ gị.
GET/api/v1/projects/{channelid}/sessions
Na-edepụta nnọkọ ndị ọbịa e dekọrọ maka ọrụ ngo, nke kacha ọhụrụ na mbụ. E kewara n'ibe.
| Paramita ajụjụ | Nkọwa |
|---|---|
page | Nọmba ibe, ndabara 1. |
per_page | Nsonaazụ n'otu ibe, ndabara 25, kacha 100. |
since | Naanị nnọkọ malitere n'ụbọchị a ma ọ bụ mgbe ọ gachara (YYYY-MM-DD). |
until | Naanị nnọkọ malitere n'ụbọchị a ma ọ bụ tupu ya. |
GET/api/v1/sessions/{session_id}
Metadata maka otu nnọkọ, tinyere nlele ibe ya. E kpachapụrụ anya wepụ data ịkpọgharị zuru ezu — jiri ihe ọkpụkpọ bọọdụ nchịkwa maka nke ahụ.
GET/api/v1/sessions/{session_id}/events
Ihe omume nke gị a kpalitere n'oge nnọkọ (otu ihe omume ị na-eziga site na mp('event', ...)), tinyere paramita ha.
GET/api/v1/projects/{channelid}/segments
Na-edepụta ngalaba ndị ọbịa akọwara maka ọrụ ngo (ngalaba ọrụ ngo kpọmkwem na ndị oghere ọrụ dum).
5. Itinye ID onye ahịa site na sava gị
Ihe nchọgharị anaghị amakarị onye nọ ebe ahụ. N'ime ngwaahịa B2B, a na-ekpebi njirimara mgbe nbanye gachara — n'akụkụ sava gị. N'ime ụlọ ahịa, a na-ekpebi ya site na nkwenye iwu. Ebe njedebe a bụ maka kpọmkwem oge ahụ.
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 ahụ na-apụta mgbe ahụ na ndepụta nnọkọ, a pụrụ ịchọ ya ebe ahụ, webhook session_identified na-arụkwa ọrụ — nke bụ otu o si erute CRM gị.
"changed": false a naghịkwa eziga webhook. Iwu e megharịrị anaghị emepụta onye ahịa nwere mmasị nke abụọ.| Ọnọdụ | Mgbe |
|---|---|
400 | Oghere na-adịghị, user_id gafere mkpụrụedemede 128, ma ọ bụ nwere mkpụrụedemede njikwa. Anyị na-ajụ kama ibipụ — ID e mere ka ọ dị mkpụmkpụ na nzuzo anaghị adaba ihe ọ bụla na CRM gị ma ka dị ka ihe ịga nke ọma. |
404 | Nnọkọ ahụ adịghị ma ọ bụ ọ bụghị nke oghere ọrụ gị. E kpachapụrụ anya nye otu azịza maka ha abụọ. |
403 | Atụmatụ oghere ọrụ anaghị agụnye API. |
6. Webhook: inyocha mbinye aka
A na-ahazi webhook n'otu ọrụ ngo n'okpuru Njikọ, ebe ị na-ahụkwa ihe nzuzo mbinye aka. Nnyefe ọ bụla na-ebu nkụnye ndị a:
| Nkụnye | Ihe ọ pụtara |
|---|---|
X-MousePlayer-Event | Aha ihe omume, dịka session_identified |
X-MousePlayer-Timestamp | Sekọnd Unix — akụkụ ederede a binyere aka |
X-MousePlayer-Attempt | 1 na mgbalị mbụ, ka elu na mgbalị ọzọ |
X-MousePlayer-Signature | sha256=<hex> |
Mbinye aka bụ HMAC-SHA256 nke timestamp + "." + raw body, jiri ihe nzuzo mbinye aka ọrụ ngo gị dịka igodo.
// 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');
Nnyefe na mgbalị ọzọ
A na-anwale nnyefe dara ọzọ mgbe nkeji 1, nkeji 5, nkeji 15, awa 1 na awa 6gachara, a hapụzie ya. 4xx Nzaghachi ndị na-abụghị 408 na 429 bụ ndị a naghị anwale ọzọ — ha na-ekwu "ọ bụghị otú a", ọ bụghị "ọ bụghị ugbu a". Zaa 2xx ngwa ngwa ma rụọ ọrụ mgbe nke ahụ gasịrị; nnyefe na-agwụ oge mgbe sekọnd 10 gachara.
Ihe omume dị
| Ihe omume | Ọ na-arụ ọrụ |
|---|---|
session_identified | Mgbe nnọkọ nwetara ID onye ahịa na nke mbụ — site na ihe nchọgharị ma ọ bụ API |
session_ended | Otu ugboro, mgbe nnọkọ na-emechi |
goal_reached | Otu ugboro n'otu nnọkọ, mgbe ihe omume nke gị mezuru otu ebumnuche gị. Naanị ebumnuche nke ụdị “event” — a naghị atụle ebumnuche URL, oge, nlele ibe na ọwara. Ọ na-ebu goal_id, goal_name, goal_value na currency. |
high_value_session | Mgbe onye ọbịa gafere oke uru ọrụ ngo a na nke mbụ n'otu ụbọchị. Oke ahụ bụ nke e nwetara site na nkesa akara nke gị (pasentịl 90 nke ụbọchị 90 gara aga), ọ bụghị nọmba a kapịrị ọnụ, ọ dịghịkwa ruo mgbe e nyere opekata mpe ndị ọbịa 20 akara. Ọ na-ebu visitor_id, value_score, threshold na nnọkọ ụbọchị ahụ kacha baa uru ile. |
funnel_dropoff | Na ngwụcha nnọkọ banyere n'otu ọwara gị ma emecharaghị ya. Ọ na-akpọ aha nzọụkwụ ọ kwụsịrị na ya (dropped_at). Ịpụ n'ọwara bụ enweghị ihe omume, ya mere a pụrụ ịma ya naanị mgbe nnọkọ gwụchara. Nnọkọ na-abanyeghị n'ọwara abụghị ndị si na ya pụọ, ha anaghịkwa akpalite ihe omume. |
high_friction_session | Otu ugboro n'otu nnọkọ, mgbe akara ihe mgbochi ya ruru oke na nke mbụ (ndabara 60 n'ime 100). Ọ na-ebu friction_score, ihe ngosi kpatara ya (reasons) na ihe ngosi gafere ahịrị ahụ (trigger). |
element_broken | Otu ugboro, mgbe ihe a na-enyocha ahụghị ihe ọ bụla n'ime nlele ibe ọ bụla enyochara ruo ọtụtụ ụbọchị — na-abụkarị mgbe e wepụtara webụsaịtị ọzọ. Ọ na-arụ ọrụ ọzọ naanị mgbe akara ahụ dakọtara ma mebie ọzọ. Ihe omume a abụghị nke nnọkọ ọ bụla: session_id na session_url bụ null, link_url na-emepe akara ahụ kama ya, na subject_id na-akpọ aha akara ahụ — otu maka ụdị ọ bụla, ya mere ihe nhọpụta ọhụrụ mebiri ọzọ na-esonyere nsogbu mepere emepe. Ọ na-ebu rule_id, rule_name, selector, page, checked_page_views, window_days na last_matched. Enweghị data ndị ọbịa. |
element_recovered | Ozi na ihe dịzi mma maka element_broken: mgbe akara ahụ chọtara ihe ọzọ n'ezie — nlele ibe dị ole na ole ezughị. A na-eziga ya naanị ma ọ bụrụ na element_broken esila na webhook pụta, ọ nweghịkwa mgba ọkụ nke ya: ịdenye aha na element_broken na-agụnye ya. Otu subject_id, ya mere PagerDuty na-edozi nsogbu ahụ, Opsgenie na-emechikwa ọkwa ahụ. Ọ na-ebu matched_page_views na checked_page_views na mgbakwunye. |
anomaly_detected | Otu ugboro kwa ụbọchị, mgbe ụnyaahụ dị iche nke ọma na ụbọchị 28 gara aga: nnọkọ pere nnọọ mpe ma ọ bụ karịrị nnọọ akarị, ọnụego ebumnuche dara, nnọkọ nwere ihe mgbochi ma ọ bụ njehie JS karịrị. Otu nha na ụzọ mgbanwe ahụ anaghị ekwu ọzọ ruo otu izu (a pụrụ ịgbanwe ya). Ihe omume a abụghị nke nnọkọ ọ bụla: session_id na session_url bụ null, link_url na-emepe nchịkọta ọrụ ngo, na subject_id na-akpọ aha nha, ụzọ mgbanwe na ụbọchị. Ọ na-ebu metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score na nke a pụrụ ịgụ summary na hint. Enweghị data ndị ọbịa. Maka Web Vitals, measurements na-anọchi sessions, na page (tọgbọ chakoo maka webụsaịtị dum) na device (desktop ma ọ bụ mobil) na-ekwu ebe o mere; link_url na-emepe taabụ Web Vitals mgbe ahụ. |
rage_click | Mgbe a chọpụtara ọpịpị iwe |
error_detected | Mgbe e nwere njehie n'akụkụ ihu |
ce | Ndenye aha mkpokọta maka ihe omume nke gị. Ọ naghị agụnye ihe omume dị n'elu — ndị ahụ nwere mgba ọkụ nke ha. |
7. Njehie & koodu ọnọdụ
| Ọnọdụ | Ihe ọ pụtara |
|---|---|
200 | Ihe ịga nke ọma. |
401 | Igodo API na-adịghị, nke usoro ya ezighi ezi ma ọ bụ nke akagbuola. |
404 | Ọrụ ngo ma ọ bụ nnọkọ a rịọrọ adịghị, ma ọ bụ ọ bụghị nke oghere ọrụ gị. |
429 | E gafere oke arịrịọ — ị na-eziga ihe karịrị arịrịọ 60/nkeji site na igodo a. |
403 | Atụmatụ oghere ọrụ anaghị agụnye REST API. Ozi ahụ na-akpọ aha atụmatụ achọrọ na nke dị ugbu a. |
8. Ndetu nchekwa
- Igodo ịgụ naanị (mp_ro_) enweghị ike ịgbanwe ihe ọ bụla. Igodo ide (mp_rw_) nwere ike naanị itinye ID ndị ahịa; ọ dịghị igodo nwere ike ihichapụ data ma ọ bụ ibupụ data ịkpọgharị mbụ.
- A na-etinye arịrịọ ọ bụla na oke oghere ọrụ igodo ahụ n'onwe ya na-akpaghị aka — ụzọ ịnyefe ID oghere ọrụ ọzọ wee hụ data onye ọzọ adịghị.
- Kagbuo igodo mgbe ọ bụla site na /api-keys; nkagbu na-amalite ịrụ ọrụ ozugbo.
- Were igodo API gị dịka okwuntughe. Ọ bụrụ na i tinye otu na mberede na ebe nchekwa koodu ọha, kagbuo ya ozugbo ma mepụta nke ọhụrụ.
Ibe ihe omume nwere oke (API v1, 14 Ọktoba 2026)
GET /api/v1/sessions/{session_id}/events na-eweghachite ihe omume ruru 100 site na ndabara. Setịpụ per_page ka ọ bụrụ integer site na 1 ruo 100. Soro pagination.next_cursor site n'iziga cursor n'agbanweghị ya n'arịrịọ ọzọ; debe otu nnọkọ na oghere ọrụ ahụ. A na-ahazi ihe omume site na created_at na event_id. A na-abịanye cursor aka ma kee ha na nnọkọ na oghere ọrụ ahụ. A naghị eweghachite mkpokọta ọnụ ọgụgụ ma ọ bụ nọmba ibe.
Array data na map params ndị dị adị ka dị. pagination.returned bụ ọnụ ọgụgụ e weghachitere n'ezie; pagination.has_more na-egosi ibe ọzọ. next_cursor bụ null mgbe e mechara. Nzaghachi nwere oke byte 524288, ya mere ibe nwere ike ịnwe ihe omume pere mpe karịa per_page. N'otu ihe omume, a na-eweghachite ahịrị paramita kacha 128; params_truncated bụ true ma ọ bụrụ na ndị ọzọ dị. Paramita string n'otu n'otu na-edebe oke ebe nchekwa data nke mkpụrụedemede 255. Paramita e bipụrụ adịghị site na ebe njedebe a. Ibelata per_page anaghị ebuli oke paramita.
Nha ibe na-ezighi ezi, cursor agbanwere na cursor maka nnọkọ/oghere ọrụ ọzọ na-eweghachite 400. Data otu ihe omume karịrị oke na-eweghachite 413. Nyocha ohere ndị dị adị ka na-eweghachite 401, 403, 404 ma ọ bụ 409 dịka o kwesịrị.
Oke ka bụ arịrịọ 60 e nyochara njirimara kwa igodo API kwa nkeji. Ịgwụ ya na-eweghachite 429 na Retry-After: 60. Ọ bụrụ na Redis ma ọ bụ ihe mmachi adịghị, arịrịọ na-eweghachite 503 na Retry-After: 5; a naghị anabata ha n'enweghị oke mgbe ọ bụla. Rubere Retry-After isi ma tinye oge ichere na-abawanye nke nwere ihe ndabara; anwalela ọzọ n'ahịrị na-enweghị ichere. Ọdịda ebe nchekwa data ihe omume na-eweghachikwa 503. Cursor anaghị ajụ oyi onyonyo otu oge: ntinye n'otu oge nke nwere akara oge ochie nwere ike ịchọ nyocha ọhụrụ.
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 bụ ụzọ njikwa sava dị naanị na Dev maka nlele mbụ SDK ngwa arụnyere. Ọ ka agbanyụrụ na mmepụta. Igodo Bearer sava chọrọ ikike ịgụ maka list/replay na ikike ide maka register/grant/delete/disable. Nyocha ọzọ maka nnweta nlele mbụ ngwa arụnyere dịkwa. Etinyela igodo API oghere ọrụ na-adịgide adịgide n'ime ngwa mkpanaka mgbe ọ bụla.