Açyk API & API açarlary

Iş meýdançaňyza programma arkaly giriş — taslamalary, sessiýalary, ýörite wakalary we segmentleri okaň hem-de sessiýalara müşderi ID-lerini baglaň — iş meýdançasynyň çägindäki API açarlary bilen goralýar.

1. Umumy syn

MousePlayer API iş meýdançaňyzdaky maglumatlary öz dolandyryş panelleriňize, maglumat ammaryňyza ýa-da içerki gurallaryňyza almaga mümkinçilik berýär. Sessiýalara müşderi ID-lerini baglamakdan başga (identify, ýazuw ygtyýarly açar gerek, Açar ygtyýarlyklaryna serediň) ol diňe okamak üçin niýetlenendir: API arkaly maglumatlary üýtgetmek ýa-da pozmak mümkin däl.

  • Esasy URL: https://www.mouseplayer.com/api/v1/
  • Ähli jogaplar JSON görnüşindedir.
  • Her talap API açary bilen tassyklanýar we awtomatik usulda şol açaryň degişli iş meýdançasy bilen çäklendirilýär — bir iş meýdançasynyň açary başga iş meýdançasynyň maglumatlaryny hatda tötänden hem görüp bilmeýär.
  • Sessiýanyň doly gaýtadan görkeziliş ýazgysy (syçanjygyň hereketleri, DOM suratlary) API arkaly elýeterli däl . Sessiýa meta-maglumatlaryny, sahypa görnüşlerini, ýörite wakalary we segmentleri alýarsyňyz — çig gaýtadan görkeziliş maglumatlaryny daşamazdan hasabatlary we dolandyryş panellerini gurmak üçin ýeterlikdir.

2. Autentifikasiýa

API açarlaryňyzy hasap menýusyndaky API açarlary bölüminde dörediň we dolandyryň (/api-keys). Açarlary diňe iş meýdançasynyň eýeleri we administratorlary döredip ýa-da ýatyryp bilýär.

Açaryňyzy gizlin saklaň. Ol iş meýdançaňyzdaky ähli zady okamaga ygtyýar berýär. Doly açar diňe bir gezek, döredilenden dessine görkezilýär — ony parol dolandyryjysynda ýa-da gizlin maglumatlar ammarynda saklaň. Ýitirseňiz, ony ýatyryň we täzesini dörediň.

Açary her talabyň Authorization sözbaşysynda Bearer tokeni hökmünde iberiň:

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

Ýok, nädogry formatdaky ýa-da ýatyrylan açarlar şu jogaby alýar: 401

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

Nyrhnama talaby

REST API şu nyrhnamalaryň düzümine girýär: Business we Enterprise . Nyrhnama iş meýdançasynyň eýesinden alynýar, şonuň üçin çagyrylan topar agzalary hem şondan peýdalanýar. Barlag her talapda geçirilýär, diňe açar döredilende däl — iş meýdançasy pes nyrhnama geçirilse, bar bolan açarlar işlemegini bes edip, şu jogaby gaýtarýar: 403.

Açar ygtyýarlyklary

Her açaryň ygtyýarlygy onuň öz prefiksinde görkezilýär, şonuň üçin açara seredip onuň näme edýändigini bilip bilersiňiz — .env içinde, ýüz tutmada ýa-da terminalda.

PrefiksManysy
mp_ro_Diňe okamak. Taslamalary, sessiýalary, wakalary we segmentleri okaýar. Hiç zady üýtgedip bilmeýär.
mp_rw_Okamak we ýazmak. Ýokardakylaryň ählisi, üstesine identify ahyrky nokady arkaly müşderi ID-lerini baglamak.
Açary döredeniňizde ygtyýarlygyny saýlaň; deslapky saýlaw diňe okamakdyr. Ýazuw ahyrky nokadynda diňe okamak açaryny ulansaňyz, şu jogap gaýdýar: 403 we habarda açaryň ygtyýarlygy hem-de ahyrky nokada gerek ygtyýarlyk görkezilýär. Ygtyýarlygy soň üýtgetmek mümkin däl — täze açar dörediň we könesini ýatyryň.

3. Talap ýygylygynyň çäkleri

Her API açary üçin çäk minutda 60 talapdyr we süýşýän wagt penjiresinde hasaplanýar. Çäkden geçseňiz, wagt penjiresi boşanýança talaplar şu jogaby alýar: 429

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

Has ýokary çäk talap edýän zat gurýarsyňyzmy? Goldaw arkaly habarlaşyň we ulanylyş ýagdaýyňyzy aýdyň.

4. Ahyrky nokatlar

GET/api/v1/projects

Iş meýdançaňyzdaky ähli taslamalary (yzarlanylýan çeşmeleri) sanap berýär.

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

Taslama üçin ýazga alnan myhman sessiýalaryny iň täzesinden başlap sanap berýär. Sahypalara bölünýär.

Talap parametriDüşündiriş
pageSahypa belgisi, deslapky baha 1.
per_pageHer sahypadaky netije sany, deslapky baha 25, iň ýokary baha 100.
sinceDiňe şu senede ýa-da soň başlan sessiýalar (YYYY-MM-DD).
untilDiňe şu senede ýa-da öň başlan sessiýalar.
{ "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}

Bir sessiýanyň meta-maglumatlary we sahypa görnüşleri. Doly gaýtadan görkeziliş maglumatlary bilgeşleýin goşulmaýar — munuň üçin dolandyryş paneliniň pleýerini ulanyň.

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

Sessiýa wagty ýüze çykan ýörite wakalar (şu usul bilen iberýän wakalaryňyz: mp('event', ...)), olaryň parametrleri bilen bilelikde.

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

Taslama üçin kesgitlenen myhman segmentlerini sanap berýär (taslama mahsus hem-de tutuş iş meýdançasyna degişli segmentler).

{ "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. Serweriňizden müşderi ID-sini baglamak

Brauzer köplenç onuň öňünde kimiň oturandygyny bilmeýär. B2B önüminde şahsyýet ulgama girilenden soň — serweriňizde kesgitlenýär. Dükanda ol sargyt tassyklananda kesgitlenýär. Bu ahyrky nokat hut şol pursat üçin niýetlenendir.

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

Soňra ID sessiýa sanawynda görünýär, şol ýerde gözlenip bolýar we session_identified webhook-y işe düşýär — CRM ulgamyňyza hem şeýdip ýetýär.

Şol bir ID bilen iki gezek çagyrmak howpsuzdyr. Jogap şu baha bilen gelýär: "changed": false we webhook iberilmeýär. Gaýtalanan sargyt ikinji potensial müşderini döretmeýär.
ÝagdaýHaçan
400Meýdan ýok, user_id 128 nyşandan uzyn ýa-da dolandyryş nyşanlaryny öz içine alýar. Biz gysgaltman ret edýäris — sessiz gysgaldylan ID CRM ulgamyňyzda hiç zada gabat gelmeýär, ýöne şonda-da üstünlik ýaly görünýär.
404Sessiýa ýok ýa-da iş meýdançaňyza degişli däl. Iki ýagdaý üçin bilgeşleýin şol bir jogap berilýär.
403Iş meýdançasynyň nyrhnamasy API-ni öz içine almaýar.

6. Webhook-lar: goly barlamak

Webhook-lar her taslama üçin Birikdirmeler bölüminde sazlanýar; gol goýmak üçin gizlin açar hem şol ýerde. Her iberiş şu sözbaşylary öz içine alýar:

SözbaşyManysy
X-MousePlayer-EventWakanyň ady, meselem, session_identified
X-MousePlayer-TimestampUnix sekuntlary — gol çekilýän tekstiň bölegi
X-MousePlayer-AttemptIlkinji synanyşykda 1, gaýtadan synanyşyklarda has ýokary
X-MousePlayer-Signaturesha256=<hex>

Gol şu mazmunyň HMAC-SHA256 bahasydyr: timestamp + "." + raw body, açar hökmünde taslamaňyzyň gol goýmak üçin gizlin açary ulanylýar.

// 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');
Islendik JSON derňewinden öň çig mazmuna gol goýuň. Gaýtadan seriýalaşdyrmak açarlaryň tertibini we boşluklary üýtgedýär, şonuň üçin gol hiç haçan gabat gelmez. Şeýle hem wagt belligi birnäçe minutdan köne bolan islendik zady ret ediň — wagt belliginiň maksady hut şudur.

Iberiş we gaýtadan synanyşyklar

Şowsuz iberişden soň şu aralyklarda gaýtadan synanyşylýar: 1 min, 5 min, 15 min, 1 sagat we 6 sagat, soňra synanyşyklar bes edilýär. 4xx jogaplary, 408 we 429 ýagdaýlaryndan başga, gaýtadan synanyşylmaýar — olar "beýle däl" diýýär, "häzir däl" däl. Çalt jogap beriň: 2xx we işi soň ýerine ýetiriň; iberişiň wagt çägi 10 sekuntdyr.

Elýeterli wakalar

WakaHaçan işe düşýär
session_identifiedSessiýa ilkinji gezek müşderi ID-sini alanda — brauzerden ýa-da API-den
session_endedBir gezek, sessiýa tamamlananda
goal_reachedHer sessiýada bir gezek, ýörite waka maksatlaryňyzyň birini ýerine ýetirende. Diňe "event" görnüşli maksatlar — URL, dowamlylyk, sahypa görnüşi we konwersiýa guýgujy maksatlary hasaplanmaýar. Şulary öz içine alýar: goal_id, goal_name, goal_value we currency.
high_value_sessionMyhman belli bir günde şu taslamanyň baha bosagasyndan ilkinji gezek geçende. Bosaga öz baha paýlanyşyňyzdan çykarylýar (soňky 90 günüň 90-njy persentili), hemişelik san däl we azyndan 20 myhmana baha berilýänçä ol ýokdur. Şulary öz içine alýar: visitor_id, value_score, threshold we şol günüň görmäge iň mynasyp sessiýasy.
funnel_dropoffKonwersiýa guýguçlaryňyzyň birine girip, ony tamamlamadyk sessiýanyň ahyrynda. Durup galan ädimini atlandyrýar (dropped_at). Taşlap gitmek wakanyň bolmazlygydyr, şonuň üçin ol diňe sessiýa tamamlanandan soň belli bolýar. Guýguja asla girmedik sessiýalar taşlap giden hasaplanmaýar we wakany işe girizmeýär.
high_friction_sessionHer sessiýada bir gezek, onuň päsgelçilik bahasy ilkinji gezek bosaga ýetende (deslapky baha 60, 100-den). Şulary öz içine alýar: friction_score, onuň esasyny düzýän signallar (reasons) we bosagadan geçiren signal (trigger).
element_brokenBir gezek, yzarlanylýan element birnäçe günläp barlanan sahypa görnüşleriniň hiç birinde hiç zat tapmanda — adatça sahypa täzeden işe girizilenden soň. Ol diňe bellik ýene gabat gelip, soň ýene bozulandan soň gaýtadan işe düşýär. Bu waka hiç bir sessiýa degişli däl: session_id we session_url şu bahadadyr: null, link_url bolsa belligi açýar we subject_id belligi atlandyrýar — ähli wersiýalar üçin şol bir at, şonuň üçin täzeden bozulýan täze selektor açyk hadysa goşulýar. Şulary öz içine alýar: rule_id, rule_name, selector, page, checked_page_views, window_days we last_matched. Myhman maglumatlary ýok.
element_recoveredŞu ýagdaýyň düzelendigi barada habar: element_broken: bellik ýene hakykatdan bir element tapanda — sahypa görnüşleriniň az bolmagy ýeterlik däl. Diňe element_broken webhook arkaly iberilen bolsa iberilýär we öz aýratyn açary ýok: element_broken ýazylmak muny hem öz içine alýar. Şol bir subject_id, şonuň üçin PagerDuty hadysany çözülen diýip belleýär we Opsgenie duýduryşy ýapýar. Goşmaça şulary öz içine alýar: matched_page_views we checked_page_views .
anomaly_detectedGünde bir gezek, düýnki gün öňki 28 günden aýdyň tapawutlananda: sessiýalar ep-esli az ýa-da köp, maksat ýerine ýetiriş derejesi peselen, päsgelçilikli ýa-da JS ýalňyşlykly sessiýalar köpelende. Şol bir ölçeg we ugur bir hepde dymýar (sazlap bolýar). Bu waka hiç bir sessiýa degişli däl: session_id we session_url şu bahadadyr: null, link_url taslama synyny açýar we subject_id ölçegi, ugry we güni atlandyrýar. Şulary öz içine alýar: metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score we okamak üçin düşnükli summary hem-de hint. Myhman maglumatlary ýok. Web Vitals üçin measurements şu meýdanyň ornuny tutýar: sessions, şeýle hem page (tutuş saýt üçin boş) we device (desktop ýa-da mobil) wakanyň nirede bolandygyny görkezýär; link_url soňra Web Vitals reýterini açýar.
rage_clickGaharly basyş ýüze çykarylanda
error_detectedBrauzer tarapynda kadadan çykma bolanda
ceÖz ýörite wakalaryňyz üçin umumy ýazylma. Ol ýokardaky wakalary öz içine almaýar — olaryň öz aýratyn açarlary bar.

7. Ýalňyşlyklar & ýagdaý kodlary

ÝagdaýManysy
200Üstünlik.
401API açary ýok, nädogry formatda ýa-da ýatyrylan.
404Soralan taslama ýa-da sessiýa ýok, ýa-da iş meýdançaňyza degişli däl.
429Talap ýygylygynyň çäginden geçildi — bu açar bilen minutda 60-dan köp talap iberýärsiňiz.
403Iş meýdançasynyň nyrhnamasy REST API-ni öz içine almaýar. Habar talap edilýän hem-de häzirki nyrhnamany atlandyrýar.

8. Howpsuzlyk bellikleri

  • Diňe okamak açarlary (mp_ro_) hiç zady üýtgedip bilmeýär. Ýazuw açarlary (mp_rw_) diňe müşderi ID-lerini baglap bilýär; hiç bir açar maglumatlary pozup ýa-da çig gaýtadan görkeziliş maglumatlaryny eksport edip bilmeýär.
  • Her talap awtomatik usulda açaryň öz iş meýdançasy bilen çäklendirilýär — başga iş meýdançasynyň ID-sini geçirip, başga biriniň maglumatlaryny görmek mümkin däl.
  • Açary islendik wagt şu ýerden ýatyryň: /api-keys; ýatyrmak dessine güýje girýär.
  • API açaryňyzy parol ýaly goraň. Ony tötänden açyk ammara commit etseňiz, dessine ýatyryň we täzesini dörediň.

Çäkli waka sahypalary (API v1, 14 oktýabr 2026)

GET /api/v1/sessions/{session_id}/events deslapky ýagdaýda 100-e çenli waka gaýtarýar. per_page bahasyny 1-den 100-e çenli bitin san edip belläň. Indiki talapda cursor bahasyny üýtgetmän iberip, pagination.next_cursor boýunça dowam ediň; şol bir sessiýany we iş meýdançasyny saklaň. Wakalar created_at we event_id boýunça tertiplenýär. Kursorlara gol goýulýar we olar şol sessiýa hem-de iş meýdançasy bilen baglanýar. Jemi san ýa-da sanly sahypa belgisi gaýtarylmaýar.

Bar bolan data massiwi we params kartasy elýeterli bolmagynda galýar. pagination.returned hakykatdan gaýtarylan sanydyr; pagination.has_more başga sahypanyň bardygyny görkezýär. Tamamlananda next_cursor null bolýar. Jogabyň çägi 524288 baýtdyr, şonuň üçin sahypada per_page bahasyndan az waka bolup biler. Her waka üçin iň köp 128 parametr setiri gaýtarylýar; has köpi bar bolsa, params_truncated true bolýar. Aýratyn tekst parametrleri maglumat binýadynyň 255 nyşan çägini saklaýar. Kesilen parametrler bu ahyrky nokat arkaly elýeterli däl. per_page bahasyny azaltmak parametr çägini ýokarlandyrmaýar.

Nädogry sahypa ölçegleri, üýtgedilen kursorlar we başga sessiýanyň/iş meýdançasynyň kursorlary 400 gaýtarýar. Aýratyn wakanyň maglumatlary aşa uly bolsa, 413 gaýtarýar. Bar bolan giriş barlaglary ýagdaýyna görä henizem 401, 403, 404 ýa-da 409 gaýtarýar.

Çäk her API açary üçin minutda 60 autentifikasiýaly talap bolmagynda galýar. Çäk gutaranda 429, Retry-After: 60 bilen gaýtarylýar. Redis ýa-da çäklendiriji elýeterli bolmasa, talaplar 503, Retry-After: 5 bilen gaýtarýar; olar hiç haçan çäksiz kabul edilmeýär. Retry-After bahasyny berjaý ediň we tötänleýin garaşma goşuň; dyngysyz aýlawda gaýtadan synanyşmaň. Waka maglumat binýadynyň näsazlyklary hem 503 gaýtarýar. Kursorlar üýtgemeýän surat döretmeýär: has köne wagt bellikleri bilen şol bir wagtda goşulýan ýazgylar täzeden gözden geçirmegi talap edip biler.

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 ýerli SDK synagy üçin diňe Dev gurşawyndaky serwer dolandyryş ýoludyr. Ol önümçilikde öçürilen bolmagynda galýar. Serweriň Bearer açarlaryna list/replay üçin okamak ygtyýarlygy, register/grant/delete/disable üçin ýazuw ygtyýarlygy gerek. Goşmaça native-preview elýeterlilik barlaglary ulanylýar. Hemişelik iş meýdançasy API açarlaryny hiç haçan mobil programma salmaň.