API ສາທາລະນະ & ກະແຈ API

ເຂົ້າເຖິງພື້ນທີ່ເຮັດວຽກຜ່ານໂປຣແກຣມ — ອ່ານໂຄງການ, ເຊດຊັນ, ເຫດການກຳນົດເອງ ແລະ ກຸ່ມ ແລະ ແນບ ID ລູກຄ້າໃສ່ເຊດຊັນ — ປ້ອງກັນດ້ວຍກະແຈ API ທີ່ຈຳກັດຂອບເຂດພື້ນທີ່ເຮັດວຽກ.

1. ພາບລວມ

API ຂອງ MousePlayer ໃຫ້ດຶງຂໍ້ມູນຈາກພື້ນທີ່ເຮັດວຽກເຂົ້າແດຊບອດ, ຄັງຂໍ້ມູນ ຫຼື ເຄື່ອງມືພາຍໃນຂອງທ່ານເອງ. ນອກຈາກການແນບ ID ລູກຄ້າໃສ່ເຊດຊັນ (identify, ຕ້ອງມີກະແຈຂອບເຂດຂຽນ, ເບິ່ງຂອບເຂດກະແຈ) ມັນເປັນ ອ່ານເທົ່ານັ້ນ: ບໍ່ສາມາດແກ້ໄຂຫຼືລຶບຂໍ້ມູນຜ່ານ API.

  • URL ພື້ນຖານ: https://www.mouseplayer.com/api/v1/
  • ທຸກຄຳຕອບເປັນ JSON.
  • ທຸກຄຳຮ້ອງຂໍຢືນຢັນສິດດ້ວຍກະແຈ API ແລະ ຈຳກັດຂອບເຂດອັດຕະໂນມັດໃນພື້ນທີ່ເຮັດວຽກທີ່ກະແຈເປັນຂອງ — ກະແຈຈາກພື້ນທີ່ໜຶ່ງຈະບໍ່ເຫັນຂໍ້ມູນຂອງອີກພື້ນທີ່ ແມ່ນແຕ່ໂດຍບັງເອີນ.
  • ການບັນທຶກຫຼິ້ນຄືນເຊດຊັນເຕັມ (ການເຄື່ອນໄຫວເມົາສ໌, ພາບໜ້າ DOM) ບໍ່ ເປີດຜ່ານ API. ທ່ານໄດ້ metadata ເຊດຊັນ, ການເບິ່ງໜ້າ, ເຫດການກຳນົດເອງ ແລະ ກຸ່ມ — ພຽງພໍສ້າງລາຍງານແລະແດຊບອດ ໂດຍບໍ່ສົ່ງ payload ຫຼິ້ນຄືນດິບໄປມາ.

2. ການຢືນຢັນສິດ

ສ້າງແລະຈັດການກະແຈ API ພາຍໃຕ້ ກະແຈ API ໃນເມນູບັນຊີ (/api-keys). ສະເພາະເຈົ້າຂອງແລະຜູ້ດູແລພື້ນທີ່ເຮັດວຽກສາມາດສ້າງຫຼືຖອນກະແຈ.

ເກັບກະແຈເປັນຄວາມລັບ. ມັນໃຫ້ສິດອ່ານທຸກຢ່າງໃນພື້ນທີ່ເຮັດວຽກ. ກະແຈເຕັມສະແດງຄັ້ງດຽວພໍດີຫຼັງສ້າງ — ເກັບໄວ້ໃນຕົວຈັດການລະຫັດຜ່ານ ຫຼື ຄັງຄວາມລັບ. ຖ້າສູນເສຍ ໃຫ້ຖອນແລ້ວສ້າງໃໝ່.

ສົ່ງກະແຈເປັນ Bearer token ໃນ header Authorization ຂອງທຸກຄຳຮ້ອງຂໍ:

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

ກະແຈທີ່ຂາດ, ຮູບແບບຜິດ ຫຼື ຖືກຖອນ ຈະໄດ້ຮັບຄຳຕອບ 401 :

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

ຂໍ້ກຳນົດແຜນ

REST API ເປັນສ່ວນຂອງແຜນ Business ແລະ Enterprise . ໃຊ້ແຜນຂອງ ເຈົ້າຂອງ ພື້ນທີ່ເຮັດວຽກ ດັ່ງນັ້ນສະມາຊິກທີມທີ່ຖືກເຊີນຈຶ່ງໃຊ້ຕາມ. ກວດໃນ ທຸກຄຳຮ້ອງຂໍ, ບໍ່ແມ່ນພຽງຕອນສ້າງກະແຈ — ຖ້າຫຼຸດແຜນພື້ນທີ່ເຮັດວຽກ ກະແຈເດີມຈະຢຸດເຮັດວຽກແລະຕອບ 403.

ຂອບເຂດກະແຈ

ທຸກກະແຈມີຂອບເຂດໃນຄຳນຳໜ້າ ເພື່ອໃຫ້ຮູ້ວ່າກະແຈເຮັດຫຍັງໄດ້ພຽງເບິ່ງມັນ — ໃນ .env, ໃນ ticket, ໃນ terminal.

ຄຳນຳໜ້າຄວາມໝາຍ
mp_ro_ອ່ານເທົ່ານັ້ນ. ອ່ານໂຄງການ, ເຊດຊັນ, ເຫດການ ແລະ ກຸ່ມ. ປ່ຽນຫຍັງບໍ່ໄດ້.
mp_rw_ອ່ານແລະຂຽນ. ທຸກຢ່າງຂ້າງເທິງ ພ້ອມການແນບ ID ລູກຄ້າຜ່ານ identify endpoint.
ເລືອກຂອບເຂດຕອນສ້າງກະແຈ; ຄ່າເລີ່ມຕົ້ນແມ່ນອ່ານເທົ່ານັ້ນ. ໃຊ້ກະແຈອ່ານເທົ່ານັ້ນກັບ endpoint ຂຽນຈະຕອບ 403 ພ້ອມຂໍ້ຄວາມລະບຸວ່າກະແຈເປັນປະເພດໃດ ແລະ endpoint ຕ້ອງການຫຍັງ. ປ່ຽນຂອບເຂດພາຍຫຼັງບໍ່ໄດ້ — ສ້າງກະແຈໃໝ່ແລ້ວຖອນອັນເກົ່າ.

3. ຂີດຈຳກັດອັດຕາ

ແຕ່ລະກະແຈ API ຈຳກັດທີ່ 60 ຄຳຮ້ອງຂໍຕໍ່ນາທີ, ຕິດຕາມໃນຊ່ວງເວລາເລື່ອນ. ເມື່ອເກີນ ຄຳຮ້ອງຂໍຈະໄດ້ຄຳຕອບ 429 ຈົນກວ່າຊ່ວງເວລາຈະຜ່ານໄປ:

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

ກຳລັງສ້າງສິ່ງທີ່ຕ້ອງການຂີດຈຳກັດສູງກວ່າບໍ? ຕິດຕໍ່ຜ່ານ ຝ່າຍຊ່ວຍເຫຼືອ ແລະ ບອກກໍລະນີໃຊ້ງານຂອງທ່ານ.

4. Endpoint

GET/api/v1/projects

ລາຍຊື່ທຸກໂຄງການ (ເວັບໄຊທີ່ຕິດຕາມ) ໃນພື້ນທີ່ເຮັດວຽກ.

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

ລາຍຊື່ເຊດຊັນຜູ້ເຂົ້າຊົມທີ່ບັນທຶກໃນໂຄງການ, ໃໝ່ສຸດກ່ອນ. ແບ່ງເປັນໜ້າ.

ພາຣາມິເຕີຄົ້ນຫາຄຳອະທິບາຍ
pageເລກໜ້າ, ຄ່າເລີ່ມຕົ້ນ 1.
per_pageຜົນຕໍ່ໜ້າ, ຄ່າເລີ່ມຕົ້ນ 25, ສູງສຸດ 100.
sinceສະເພາະເຊດຊັນທີ່ເລີ່ມໃນຫຼືຫຼັງວັນທີນີ້ (YYYY-MM-DD).
untilສະເພາະເຊດຊັນທີ່ເລີ່ມໃນຫຼືກ່ອນວັນທີນີ້.
{ "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 ຂອງເຊດຊັນດຽວພ້ອມການເບິ່ງໜ້າ. ຕັ້ງໃຈບໍ່ລວມ payload ຫຼິ້ນຄືນເຕັມ — ໃຊ້ເຄື່ອງຫຼິ້ນໃນແດຊບອດສຳລັບສິ່ງນັ້ນ.

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

ເຫດການກຳນົດເອງທີ່ເກີດໃນເຊດຊັນ (ເຫດການດຽວກັບທີ່ທ່ານສົ່ງດ້ວຍ mp('event', ...)), ລວມພາຣາມິເຕີ.

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

ລາຍຊື່ກຸ່ມຜູ້ເຂົ້າຊົມທີ່ກຳນົດສຳລັບໂຄງການ (ທັງກຸ່ມສະເພາະໂຄງການແລະກຸ່ມທົ່ວພື້ນທີ່ເຮັດວຽກ).

{ "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 ລູກຄ້າຈາກ backend

ບຣາວເຊີມັກບໍ່ຮູ້ວ່າໃຜກຳລັງໃຊ້. ໃນຜະລິດຕະພັນ B2B ຕົວຕົນຈະຊັດເຈນຫຼັງເຂົ້າລະບົບ — ໃນ backend ຂອງທ່ານ. ໃນຮ້ານຈະຊັດເຈນເມື່ອຢືນຢັນຄຳສັ່ງຊື້. endpoint ນີ້ສຳລັບເວລານັ້ນພໍດີ.

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 ປາກົດໃນລາຍການເຊດຊັນ, ຄົ້ນຫາໄດ້ທີ່ນັ້ນ ແລະ webhook session_identified ເຮັດວຽກ — ນັ້ນຄືວິທີໄປເຖິງ CRM ຂອງທ່ານ.

ເອີ້ນສອງຄັ້ງດ້ວຍ ID ດຽວກັນໄດ້ຢ່າງປອດໄພ. ຄຳຕອບກັບມາພ້ອມ "changed": false ແລະ ບໍ່ສົ່ງ webhook. ຄຳສັ່ງຊື້ຊ້ຳບໍ່ສ້າງລູກຄ້າມຸ່ງຫວັງທີສອງ.
ສະຖານະເມື່ອ
400ຂາດຊ່ອງ, user_id ຍາວເກີນ 128 ຕົວອັກສອນ ຫຼື ມີຕົວອັກສອນຄວບຄຸມ. ພວກເຮົາປະຕິເສດແທນການຕັດສັ້ນ — ID ທີ່ຖືກຫຍໍ້ຢ່າງງຽບໆຈັບຄູ່ກັບຫຍັງໃນ CRM ບໍ່ໄດ້ ແຕ່ຍັງເບິ່ງຄືສຳເລັດ.
404ເຊດຊັນບໍ່ມີຢູ່ ຫຼື ບໍ່ເປັນຂອງພື້ນທີ່ເຮັດວຽກຂອງທ່ານ. ຕັ້ງໃຈໃຫ້ຄຳຕອບດຽວກັນສຳລັບທັງສອງ.
403ແຜນພື້ນທີ່ເຮັດວຽກບໍ່ລວມ API.

6. Webhook: ກວດຢືນຢັນລາຍເຊັນ

ຕັ້ງຄ່າ webhook ຕໍ່ໂຄງການພາຍໃຕ້ ການເຊື່ອມຕໍ່, ບ່ອນທີ່ພົບ secret ລົງລາຍເຊັນນຳ. ທຸກການສົ່ງມີ header ເຫຼົ່ານີ້:

Headerຄວາມໝາຍ
X-MousePlayer-Eventຊື່ເຫດການ, ເຊັ່ນ session_identified
X-MousePlayer-Timestampວິນາທີ Unix — ສ່ວນຂອງຂໍ້ຄວາມທີ່ລົງລາຍເຊັນ
X-MousePlayer-Attempt1 ໃນຄັ້ງທຳອິດ, ສູງຂຶ້ນໃນການລອງໃໝ່
X-MousePlayer-Signaturesha256=<hex>

ລາຍເຊັນເປັນ HMAC-SHA256 ຂອງ timestamp + "." + raw body, ໃຊ້ secret ລົງລາຍເຊັນຂອງໂຄງການເປັນກະແຈ.

// 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');
ລົງລາຍເຊັນເນື້ອຫາ ດິບ ກ່ອນແຍກວິເຄາະ JSON. ການ serialize ຄືນປ່ຽນລຳດັບຄີແລະຊ່ອງວ່າງ ແລະ ລາຍເຊັນຈະບໍ່ກົງກັນເລີຍ. ຍັງໃຫ້ປະຕິເສດທຸກສິ່ງທີ່ເວລາເກົ່າກວ່າສອງສາມນາທີ — ນັ້ນຄືຈຸດປະສົງຂອງເວລາ.

ການສົ່ງແລະລອງໃໝ່

ການສົ່ງທີ່ລົ້ມເຫຼວຈະລອງໃໝ່ຫຼັງ 1 ນາທີ, 5 ນາທີ, 15 ນາທີ, 1 ຊົ່ວໂມງ ແລະ 6 ຊົ່ວໂມງ, ແລ້ວຢຸດ. 4xx ຄຳຕອບອື່ນນອກຈາກ 408 ແລະ 429 ຈະ ບໍ່ ລອງໃໝ່ — ມັນບອກ "ບໍ່ແມ່ນແບບນີ້", ບໍ່ແມ່ນ "ບໍ່ແມ່ນຕອນນີ້". ຕອບ 2xx ຢ່າງໄວ ແລ້ວເຮັດວຽກພາຍຫຼັງ; ການສົ່ງໝົດເວລາຫຼັງ 10 ວິນາທີ.

ເຫດການທີ່ມີໃຫ້

ເຫດການເຮັດວຽກເມື່ອ
session_identifiedເມື່ອເຊດຊັນໄດ້ຮັບ ID ລູກຄ້າຄັ້ງທຳອິດ — ຈາກບຣາວເຊີ ຫຼື API
session_endedຄັ້ງດຽວ ເມື່ອເຊດຊັນປິດ
goal_reachedຄັ້ງດຽວຕໍ່ເຊດຊັນ ເມື່ອເຫດການກຳນົດເອງບັນລຸເປົ້າໝາຍອັນໜຶ່ງ. ສະເພາະເປົ້າໝາຍປະເພດ “event” — ບໍ່ປະເມີນເປົ້າໝາຍ URL, ໄລຍະເວລາ, ການເບິ່ງໜ້າ ແລະ ຟັນເນວ. ມີຄ່າ goal_id, goal_name, goal_value ແລະ currency.
high_value_sessionເມື່ອຜູ້ເຂົ້າຊົມຂ້າມເກນມູນຄ່າຂອງໂຄງການນີ້ຄັ້ງທຳອິດໃນມື້ໃດໜຶ່ງ. ເກນ ຄຳນວນຈາກການແຈກຢາຍຄະແນນຂອງທ່ານເອງ (ເປີເຊັນໄທລ໌ທີ 90 ຂອງ 90 ມື້ທີ່ຜ່ານມາ), ບໍ່ແມ່ນເລກຕາຍຕົວ ແລະ ຍັງບໍ່ມີຈົນກວ່າຈະໃຫ້ຄະແນນຜູ້ເຂົ້າຊົມຢ່າງໜ້ອຍ 20 ຄົນ. ມີຄ່າ visitor_id, value_score, threshold ແລະ ເຊດຊັນທີ່ຄວນເບິ່ງທີ່ສຸດຂອງມື້ນັ້ນ.
funnel_dropoffໃນຕອນຈົບເຊດຊັນທີ່ເຂົ້າຟັນເນວອັນໜຶ່ງແຕ່ບໍ່ສຳເລັດ. ລະບຸຂັ້ນຕອນທີ່ຢຸດ (dropped_at). ການອອກແມ່ນການຂາດເຫດການ ຈຶ່ງຮູ້ໄດ້ສະເພາະເມື່ອເຊດຊັນສິ້ນສຸດ. ເຊດຊັນທີ່ບໍ່ເຄີຍເຂົ້າຟັນເນວບໍ່ນັບເປັນການອອກ ແລະ ບໍ່ກະຕຸ້ນເຫດການ.
high_friction_sessionຄັ້ງດຽວຕໍ່ເຊດຊັນ ເມື່ອຄະແນນອຸປະສັກເຖິງເກນຄັ້ງທຳອິດ (ຄ່າເລີ່ມຕົ້ນ 60 ຈາກ 100). ມີຄ່າ friction_score, ສັນຍານທີ່ເປັນສາເຫດ (reasons) ແລະ ສັນຍານທີ່ຂ້າມເກນ (trigger).
element_brokenຄັ້ງດຽວ ເມື່ອອົງປະກອບທີ່ຕິດຕາມບໍ່ພົບຫຍັງໃນທຸກການເບິ່ງໜ້າທີ່ກວດເປັນເວລາຫຼາຍມື້ — ປົກກະຕິຫຼັງປັບໂສມເວັບໄຊ. ຈະເຮັດວຽກອີກສະເພາະຫຼັງເຄື່ອງໝາຍກົງກັນແລ້ວຂັດຂ້ອງອີກຄັ້ງ. ເຫດການນີ້ບໍ່ເປັນຂອງ ເຊດຊັນໃດ: session_id ແລະ session_url ເປັນ null, link_url ເປີດເຄື່ອງໝາຍແທນ ແລະ subject_id ລະບຸຊື່ເຄື່ອງໝາຍ — ຄືກັນໃນທຸກສະບັບ ເພື່ອໃຫ້ selector ໃໝ່ທີ່ຂັດຂ້ອງອີກເຂົ້າເຫດການທີ່ເປີດຢູ່. ມີຄ່າ rule_id, rule_name, selector, page, checked_page_views, window_days ແລະ last_matched. ບໍ່ມີຂໍ້ມູນຜູ້ເຂົ້າຊົມ.
element_recoveredການແຈ້ງວ່າປອດບັນຫາສຳລັບ element_broken: ຄັ້ງດຽວເມື່ອເຄື່ອງໝາຍພົບອົງປະກອບອີກແທ້ — ການເບິ່ງໜ້າໜ້ອຍເກີນໄປບໍ່ພຽງພໍ. ສົ່ງສະເພາະຖ້າ element_broken ໄດ້ອອກໄປຜ່ານ webhook ແລະ ບໍ່ມີສະວິດຂອງຕົນເອງ: ການສະໝັກ element_broken ລວມມັນໄວ້. ຄ່າດຽວກັນ subject_id, ເພື່ອໃຫ້ PagerDuty ແກ້ໄຂເຫດການ ແລະ Opsgenie ປິດການແຈ້ງເຕືອນ. ມີຄ່າ matched_page_views ແລະ checked_page_views ເພີ່ມເຕີມ.
anomaly_detectedມື້ລະຄັ້ງ ເມື່ອມື້ວານຕ່າງຈາກ 28 ມື້ກ່ອນຢ່າງຊັດເຈນ: ເຊດຊັນໜ້ອຍລົງຫຼືຫຼາຍຂຶ້ນຫຼາຍ, ອັດຕາເປົ້າໝາຍຫຼຸດ, ເຊດຊັນທີ່ມີອຸປະສັກຫຼືຂໍ້ຜິດພາດ JS ເພີ່ມ. ຕົວວັດແລະທິດທາງດຽວກັນຈະງຽບໄປໜຶ່ງອາທິດ (ປັບໄດ້). ເຫດການນີ້ບໍ່ເປັນຂອງ ເຊດຊັນໃດ: session_id ແລະ session_url ເປັນ null, link_url ເປີດພາບລວມໂຄງການ ແລະ subject_id ລະບຸຕົວວັດ, ທິດທາງ ແລະ ມື້. ມີຄ່າ metric (sessions, goal_rate, friction_rate, js_error_rate, lcp_p75, inp_p75, cls_p75), direction, day, value, expected, sessions, robust_z, z_score ແລະ ຄ່າທີ່ອ່ານໄດ້ summary ແລະ hint. ບໍ່ມີຂໍ້ມູນຜູ້ເຂົ້າຊົມ. ສຳລັບ Web Vitals, measurements ແທນ sessions, ແລະ page (ວ່າງສຳລັບທັງເວັບໄຊ) ແລະ device (desktop ຫຼື mobil) ບອກວ່າເກີດຢູ່ໃສ; link_url ຈາກນັ້ນເປີດແຖບ Web Vitals.
rage_clickເມື່ອກວດພົບການຄລິກດ້ວຍຄວາມຫງຸດຫງິດ
error_detectedເມື່ອເກີດຂໍ້ຍົກເວັ້ນຝັ່ງໜ້າ
ceການສະໝັກລວມສຳລັບເຫດການກຳນົດເອງ. ມັນ ບໍ່ ລວມເຫດການຂ້າງເທິງ — ອັນນັ້ນມີສະວິດເອງ.

7. ຂໍ້ຜິດພາດ & ລະຫັດສະຖານະ

ສະຖານະຄວາມໝາຍ
200ສຳເລັດ.
401ກະແຈ API ຂາດ, ຮູບແບບຜິດ ຫຼື ຖືກຖອນ.
404ໂຄງການຫຼືເຊດຊັນທີ່ຂໍບໍ່ມີ ຫຼື ບໍ່ເປັນຂອງພື້ນທີ່ເຮັດວຽກ.
429ເກີນຂີດຈຳກັດອັດຕາ — ທ່ານກຳລັງສົ່ງຫຼາຍກວ່າ 60 ຄຳຮ້ອງຂໍ/ນາທີດ້ວຍກະແຈນີ້.
403ແຜນພື້ນທີ່ເຮັດວຽກບໍ່ລວມ REST API. ຂໍ້ຄວາມລະບຸທັງແຜນທີ່ຕ້ອງການແລະແຜນປັດຈຸບັນ.

8. ໝາຍເຫດຄວາມປອດໄພ

  • ກະແຈອ່ານເທົ່ານັ້ນ (mp_ro_) ປ່ຽນຫຍັງບໍ່ໄດ້. ກະແຈຂຽນ (mp_rw_) ແນບໄດ້ພຽງ ID ລູກຄ້າ; ບໍ່ມີກະແຈໃດລຶບຂໍ້ມູນຫຼືສົ່ງອອກຂໍ້ມູນຫຼິ້ນຄືນດິບໄດ້.
  • ທຸກຄຳຮ້ອງຂໍຈຳກັດຂອບເຂດອັດຕະໂນມັດໃນພື້ນທີ່ຂອງກະແຈ — ບໍ່ມີວິທີສົ່ງ ID ພື້ນທີ່ອື່ນເພື່ອເຫັນຂໍ້ມູນຄົນອື່ນ.
  • ຖອນກະແຈໄດ້ທຸກເວລາຈາກ /api-keys; ການຖອນມີຜົນທັນທີ.
  • ປະຕິບັດຕໍ່ກະແຈ API ຄືລະຫັດຜ່ານ. ຖ້າບັງເອີນ commit ລົງ repository ສາທາລະນະ ໃຫ້ຖອນທັນທີແລະສ້າງໃໝ່.

ໜ້າເຫດການທີ່ຈຳກັດຂະໜາດ (API v1, 14 ຕຸລາ 2026)

GET /api/v1/sessions/{session_id}/events ສົ່ງຄືນສູງສຸດ 100 ເຫດການໂດຍຄ່າເລີ່ມຕົ້ນ. ຕັ້ງ per_page ເປັນຈຳນວນເຕັມຈາກ 1 ຫາ 100. ຕິດຕາມ pagination.next_cursor ໂດຍສົ່ງ cursor ເດີມໃນຄຳຮ້ອງຂໍຕໍ່ໄປ; ໃຊ້ເຊດຊັນແລະພື້ນທີ່ເຮັດວຽກດຽວກັນ. ເຫດການຮຽງຕາມ created_at ແລະ event_id. Cursor ມີລາຍເຊັນແລະຜູກກັບເຊດຊັນແລະພື້ນທີ່ນັ້ນ. ບໍ່ສົ່ງຈຳນວນລວມຫຼືເລກໜ້າຄືນ.

ອາເຣ data ແລະ map params ເດີມຍັງມີໃຫ້. pagination.returned ແມ່ນຈຳນວນທີ່ສົ່ງຄືນຈິງ; pagination.has_more ບອກວ່າມີໜ້າຕໍ່ໄປ. next_cursor ເປັນ null ເມື່ອສຳເລັດ. ຄຳຕອບຈຳກັດທີ່ 524288 ໄບຕ໌ ດັ່ງນັ້ນໜ້າອາດມີເຫດການໜ້ອຍກວ່າ per_page. ຕໍ່ເຫດການ ສົ່ງຄືນສູງສຸດ 128 ແຖວພາຣາມິເຕີ; params_truncated ເປັນ true ຖ້າມີຫຼາຍກວ່າ. ພາຣາມິເຕີຂໍ້ຄວາມແຕ່ລະອັນຍັງມີຂີດຈຳກັດຖານຂໍ້ມູນ 255 ຕົວອັກສອນ. ພາຣາມິເຕີທີ່ຕັດອອກບໍ່ມີໃຫ້ຜ່ານ endpoint ນີ້. ຫຼຸດ per_page ບໍ່ໄດ້ເພີ່ມຂີດຈຳກັດພາຣາມິເຕີ.

ຂະໜາດໜ້າຜິດ, cursor ທີ່ປ່ຽນ ແລະ cursor ຂອງເຊດຊັນ/ພື້ນທີ່ອື່ນຕອບ 400. ຂໍ້ມູນເຫດການແຕ່ລະອັນທີ່ໃຫຍ່ເກີນຕອບ 413. ການກວດສິດເດີມຍັງຕອບ 401, 403, 404 ຫຼື 409 ຕາມກໍລະນີ.

ຂີດຈຳກັດຍັງເປັນ 60 ຄຳຮ້ອງຂໍທີ່ຢືນຢັນສິດຕໍ່ກະແຈ API ຕໍ່ນາທີ. ເມື່ອໝົດ ຕອບ 429 ພ້ອມ Retry-After: 60. ຖ້າ Redis ຫຼື ຕົວຈຳກັດບໍ່ພ້ອມ ຄຳຮ້ອງຂໍຕອບ 503 ພ້ອມ Retry-After: 5; ບໍ່ອະນຸຍາດໂດຍບໍ່ມີຂີດຈຳກັດເດັດຂາດ. ເຄົາລົບ Retry-After ແລະ ເພີ່ມເວລາລໍແບບສຸ່ມ; ຢ່າລອງຊ້ຳໃນຮອບຕິດກັນ. ຄວາມລົ້ມເຫຼວຖານຂໍ້ມູນເຫດການກໍຕອບ 503. Cursor ບໍ່ໄດ້ລັອກພາບຂໍ້ມູນ: ການເພີ່ມພ້ອມກັນທີ່ມີເວລາເກົ່າກວ່າ ອາດຕ້ອງສະແກນໃໝ່.

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 ແມ່ນເສັ້ນທາງຄວບຄຸມ backend ສະເພາະ Dev ສຳລັບຕົວຢ່າງ SDK ແບບ native. ມັນຍັງປິດໃນລະບົບຜະລິດ. ກະແຈ Bearer ຝັ່ງ backend ຕ້ອງມີຂອບເຂດອ່ານສຳລັບ list/replay ແລະ ຂອບເຂດຂຽນສຳລັບ register/grant/delete/disable. ມີການກວດຄວາມພ້ອມ native-preview ເພີ່ມ. ຢ່າຝັງກະແຈ API ພື້ນທີ່ເຮັດວຽກຖາວອນໃນແອັບມືຖື.