[{"data":1,"prerenderedAt":822},["ShallowReactive",2],{"docs-nav":3,"docs-\u002Fdocs\u002Fgetting-started":35,"docs-surround-\u002Fdocs\u002Fgetting-started":815},[4,9,13,18,22,26,30],{"path":5,"title":6,"category":7,"order":8},"\u002Fdocs","Introduction","intro",1,{"path":10,"title":11,"category":7,"order":12},"\u002Fdocs\u002Fgetting-started","เริ่มต้นใช้งาน",10,{"path":14,"title":15,"category":16,"order":17},"\u002Fdocs\u002Fauthentication","Authentication","core",20,{"path":19,"title":20,"category":16,"order":21},"\u002Fdocs\u002Fapi","API Reference",25,{"path":23,"title":24,"category":16,"order":25},"\u002Fdocs\u002Fwebhooks","Webhooks",30,{"path":27,"title":28,"category":16,"order":29},"\u002Fdocs\u002Fsecurity","Security & PDPA",50,{"path":31,"title":32,"category":33,"order":34},"\u002Fdocs\u002Fchangelog","Changelog","meta",90,{"id":36,"title":11,"badge":37,"body":38,"category":7,"description":807,"extension":808,"meta":809,"navigation":810,"order":12,"path":10,"seo":811,"stem":812,"updatedAt":813,"__hash__":814},"docs\u002Fdocs\u002Fgetting-started.md","5 min",{"type":39,"value":40,"toc":797},"minimark",[41,45,50,66,69,88,99,103,114,118,125,129,143,159,168,172,183,237,240,429,458,462,528,549,556,560,567,713,748,751,793],[42,43,44],"p",{},"ขั้นตอนทั้งหมดที่ต้องทำเพื่อให้ SlipBolt ตรวจสลิปใบแรกของคุณ",[46,47,49],"h2",{"id":48},"_1-สร้างบัญชี-ร้านค้า","1. สร้างบัญชี + ร้านค้า",[42,51,52,53,60,61,65],{},"ไปที่ ",[54,55,59],"a",{"href":56,"rel":57},"https:\u002F\u002Fapp.slip-bolt.com\u002Fauth\u002Fsignup",[58],"nofollow","app.slip-bolt.com\u002Fauth\u002Fsignup"," แล้วยืนยันอีเมล\nจากนั้นตั้งชื่อร้านใน onboarding — ",[62,63,64],"strong",{},"ร้านแรกเริ่มทดลอง 7 วันเสมอ"," (สิทธิ์แพ็ก Trial เท่านั้น\nไม่ใช่ Pro\u002FBusiness ฟรี)",[42,67,68],{},"ช่วงทดลองได้:",[70,71,72,76,82],"ul",{},[73,74,75],"li",{},"50 สลิป · 1 ที่นั่ง (เจ้าของ) · 1 กลุ่ม LINE · 1 LINE OA",[73,77,78,79],{},"ตรวจสลิปผ่าน ",[62,80,81],{},"LINE OA + Dashboard",[73,83,84,87],{},[62,85,86],{},"ไม่มี REST API \u002F Webhook"," — ออก API key ได้เมื่ออัปเกรดเป็น Starter ขึ้นไป",[89,90,92],"callout",{"type":91},"info",[42,93,94,95,98],{},"โควตาเหลือดูได้ทันทีที่ ",[62,96,97],{},"Dashboard"," (กระเบื้องโควตา) โดยไม่ต้องมี API key",[46,100,102],{"id":101},"_2-เพิ่มบัญชีรับเงิน","2. เพิ่มบัญชีรับเงิน",[42,104,105,108,109,113],{},[62,106,107],{},"Settings → Shop → บัญชีรับเงิน"," — ร้านที่ยังไม่มีบัญชีที่ลูกค้าโอนเข้า\nระบบจะปัดสลิปทุกใบ (",[110,111,112],"code",{},"NO_PAYEE_CONFIGURED",") ก่อนยิงไปตรวจ",[46,115,117],{"id":116},"_3-ผูก-line-oa","3. ผูก LINE OA",[42,119,120,121,124],{},"ที่ ",[62,122,123],{},"Settings → LINE Channels"," วาง Channel ID + Secret + Access Token จาก LINE OA Manager\nแล้วเชิญบอทเข้ากลุ่ม ลองส่งสลิปทดสอบ 1 ใบ",[46,126,128],{"id":127},"_4-สร้าง-api-key-แพ็ก-starter-ขึ้นไป","4. สร้าง API key (แพ็ก Starter ขึ้นไป)",[42,130,120,131,134,135,138,139,142],{},[62,132,133],{},"Settings → API Keys"," กดสร้าง key ใหม่ — ระบบจะแสดง key เต็ม ",[62,136,137],{},"ครั้งเดียวเท่านั้น","\nช่วง Trial ออกคีย์ไม่ได้ (",[110,140,141],{},"403 PLAN_API_ACCESS_REQUIRED",")",[144,145,150],"pre",{"className":146,"code":147,"language":148,"meta":149,"style":149},"language-bash shiki shiki-themes github-light github-dark","sk_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6\n","bash","",[110,151,152],{"__ignoreMap":149},[153,154,156],"span",{"class":155,"line":8},"line",[153,157,147],{"class":158},"sScJk",[89,160,162],{"type":161},"warning",[42,163,164,167],{},[62,165,166],{},"Copy ทันที"," — เราเก็บแค่ argon2 hash บน server (ลืมแล้วต้องสร้างใหม่)",[46,169,171],{"id":170},"_5-ยิงคำสั่งแรก","5. ยิงคำสั่งแรก",[42,173,174,175,178,179,182],{},"ส่ง ",[62,176,177],{},"รูปสลิปเป็น raw bytes"," (ไม่ใช่ JSON\u002Fbase64) ไปที่ ",[110,180,181],{},"POST \u002Fapi\u002Fv1\u002Fverify",":",[144,184,186],{"className":146,"code":185,"language":148,"meta":149,"style":149},"curl -X POST https:\u002F\u002Fapi.slip-bolt.com\u002Fapi\u002Fv1\u002Fverify \\\n  -H \"Authorization: Bearer sk_live_...\" \\\n  -H \"Content-Type: application\u002Foctet-stream\" \\\n  --data-binary \"@slip.jpg\"\n",[110,187,188,207,218,228],{"__ignoreMap":149},[153,189,190,193,197,201,204],{"class":155,"line":8},[153,191,192],{"class":158},"curl",[153,194,196],{"class":195},"sj4cs"," -X",[153,198,200],{"class":199},"sZZnC"," POST",[153,202,203],{"class":199}," https:\u002F\u002Fapi.slip-bolt.com\u002Fapi\u002Fv1\u002Fverify",[153,205,206],{"class":195}," \\\n",[153,208,210,213,216],{"class":155,"line":209},2,[153,211,212],{"class":195},"  -H",[153,214,215],{"class":199}," \"Authorization: Bearer sk_live_...\"",[153,217,206],{"class":195},[153,219,221,223,226],{"class":155,"line":220},3,[153,222,212],{"class":195},[153,224,225],{"class":199}," \"Content-Type: application\u002Foctet-stream\"",[153,227,206],{"class":195},[153,229,231,234],{"class":155,"line":230},4,[153,232,233],{"class":195},"  --data-binary",[153,235,236],{"class":199}," \"@slip.jpg\"\n",[42,238,239],{},"ตอบกลับ:",[144,241,245],{"className":242,"code":243,"language":244,"meta":149,"style":149},"language-json shiki shiki-themes github-light github-dark","{\n  \"success\": true,\n  \"data\": {\n    \"status\": \"SUCCESS\",\n    \"verified\": true,\n    \"amount\": 50.0,\n    \"transRef\": \"20260525123045123456\",\n    \"transDate\": \"2026-05-25T05:30:45.000Z\",\n    \"senderName\": \"นายสมชาย ใจดี\",\n    \"bankName\": \"ธนาคารกสิกรไทย\",\n    \"receiverName\": \"ร้านกาแฟพี่ตุ๊ก\",\n    \"quota\": { \"used\": 1, \"limit\": 500, \"remaining\": 499 }\n  }\n}\n","json",[110,246,247,253,267,275,287,299,312,325,338,351,363,376,417,423],{"__ignoreMap":149},[153,248,249],{"class":155,"line":8},[153,250,252],{"class":251},"sVt8B","{\n",[153,254,255,258,261,264],{"class":155,"line":209},[153,256,257],{"class":195},"  \"success\"",[153,259,260],{"class":251},": ",[153,262,263],{"class":195},"true",[153,265,266],{"class":251},",\n",[153,268,269,272],{"class":155,"line":220},[153,270,271],{"class":195},"  \"data\"",[153,273,274],{"class":251},": {\n",[153,276,277,280,282,285],{"class":155,"line":230},[153,278,279],{"class":195},"    \"status\"",[153,281,260],{"class":251},[153,283,284],{"class":199},"\"SUCCESS\"",[153,286,266],{"class":251},[153,288,290,293,295,297],{"class":155,"line":289},5,[153,291,292],{"class":195},"    \"verified\"",[153,294,260],{"class":251},[153,296,263],{"class":195},[153,298,266],{"class":251},[153,300,302,305,307,310],{"class":155,"line":301},6,[153,303,304],{"class":195},"    \"amount\"",[153,306,260],{"class":251},[153,308,309],{"class":195},"50.0",[153,311,266],{"class":251},[153,313,315,318,320,323],{"class":155,"line":314},7,[153,316,317],{"class":195},"    \"transRef\"",[153,319,260],{"class":251},[153,321,322],{"class":199},"\"20260525123045123456\"",[153,324,266],{"class":251},[153,326,328,331,333,336],{"class":155,"line":327},8,[153,329,330],{"class":195},"    \"transDate\"",[153,332,260],{"class":251},[153,334,335],{"class":199},"\"2026-05-25T05:30:45.000Z\"",[153,337,266],{"class":251},[153,339,341,344,346,349],{"class":155,"line":340},9,[153,342,343],{"class":195},"    \"senderName\"",[153,345,260],{"class":251},[153,347,348],{"class":199},"\"นายสมชาย ใจดี\"",[153,350,266],{"class":251},[153,352,353,356,358,361],{"class":155,"line":12},[153,354,355],{"class":195},"    \"bankName\"",[153,357,260],{"class":251},[153,359,360],{"class":199},"\"ธนาคารกสิกรไทย\"",[153,362,266],{"class":251},[153,364,366,369,371,374],{"class":155,"line":365},11,[153,367,368],{"class":195},"    \"receiverName\"",[153,370,260],{"class":251},[153,372,373],{"class":199},"\"ร้านกาแฟพี่ตุ๊ก\"",[153,375,266],{"class":251},[153,377,379,382,385,388,390,393,396,399,401,404,406,409,411,414],{"class":155,"line":378},12,[153,380,381],{"class":195},"    \"quota\"",[153,383,384],{"class":251},": { ",[153,386,387],{"class":195},"\"used\"",[153,389,260],{"class":251},[153,391,392],{"class":195},"1",[153,394,395],{"class":251},", ",[153,397,398],{"class":195},"\"limit\"",[153,400,260],{"class":251},[153,402,403],{"class":195},"500",[153,405,395],{"class":251},[153,407,408],{"class":195},"\"remaining\"",[153,410,260],{"class":251},[153,412,413],{"class":195},"499",[153,415,416],{"class":251}," }\n",[153,418,420],{"class":155,"line":419},13,[153,421,422],{"class":251},"  }\n",[153,424,426],{"class":155,"line":425},14,[153,427,428],{"class":251},"}\n",[89,430,431],{"type":91},[42,432,433,434,437,438,441,442,445,446,449,450,453,454,457],{},"การเรียก API ใช้ ",[62,435,436],{},"โควตาเดียวกับสลิป LINE"," ของร้าน · ยอดคงเหลือดูได้จาก ",[110,439,440],{},"quota"," ในผลลัพธ์หรือ header ",[110,443,444],{},"X-Slipbolt-Quota-Remaining"," · โควตาหมด → ",[110,447,448],{},"402"," (ดู ",[54,451,20],{"href":452},"\u002Fdocs\u002Fapi#quota-pool-%E0%B9%80%E0%B8%94%E0%B8%B5%E0%B8%A2%E0%B8%A7%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%AA%E0%B8%A5%E0%B8%B4%E0%B8%9B-line",") · ใช้ key ",[110,455,456],{},"sk_test_"," ทดสอบได้โดยไม่กินโควตาของร้าน (เพดานแยก 200 ครั้ง\u002Fเดือน)",[46,459,461],{"id":460},"_6-เช็คโควตาคงเหลือ-ไม่หักสลิป","6. เช็คโควตาคงเหลือ (ไม่หักสลิป)",[463,464,465,481],"table",{},[466,467,468],"thead",{},[469,470,471,475,478],"tr",{},[472,473,474],"th",{},"ช่องทาง",[472,476,477],{},"ใช้เมื่อ",[472,479,480],{},"ได้ข้อมูลอะไร",[482,483,484,498,514],"tbody",{},[469,485,486,492,495],{},[487,488,489,491],"td",{},[62,490,97],{}," → กระเบื้องโควตา",[487,493,494],{},"ทุกแพ็ก รวม Trial",[487,496,497],{},"used \u002F limit \u002F เหลือกี่วันถึงรีเซ็ต",[469,499,500,505,511],{},[487,501,502],{},[110,503,504],{},"GET \u002Fapi\u002Fv1\u002Fquota",[487,506,507,508],{},"มี API key + scope ",[110,509,510],{},"read",[487,512,513],{},"โควตาร้านอย่างเดียว",[469,515,516,521,525],{},[487,517,518],{},[110,519,520],{},"GET \u002Fapi\u002Fv1\u002Fme",[487,522,507,523],{},[110,524,510],{},[487,526,527],{},"ร้าน · คีย์ · แพ็ก · โควตา live+test · บัญชีรับเงิน (4 ตัวท้าย)",[144,529,531],{"className":146,"code":530,"language":148,"meta":149,"style":149},"curl https:\u002F\u002Fapi.slip-bolt.com\u002Fapi\u002Fv1\u002Fme \\\n  -H \"Authorization: Bearer sk_live_...\"\n",[110,532,533,542],{"__ignoreMap":149},[153,534,535,537,540],{"class":155,"line":8},[153,536,192],{"class":158},[153,538,539],{"class":199}," https:\u002F\u002Fapi.slip-bolt.com\u002Fapi\u002Fv1\u002Fme",[153,541,206],{"class":195},[153,543,544,546],{"class":155,"line":209},[153,545,212],{"class":195},[153,547,548],{"class":199}," \"Authorization: Bearer sk_live_...\"\n",[42,550,551,552],{},"รายละเอียดฟิลด์อยู่ที่ ",[54,553,555],{"href":554},"\u002Fdocs\u002Fapi#get-apiv1me","API Reference — GET \u002Fme",[46,557,559],{"id":558},"_7-รับ-webhook-optional","7. รับ Webhook (optional)",[42,561,562,563,566],{},"หาก subscribe ที่ ",[110,564,565],{},"\u002Fsettings\u002Fwebhooks"," ระบบจะ POST event ทุกครั้งที่มีผลตรวจสลิปใหม่:",[144,568,570],{"className":242,"code":569,"language":244,"meta":149,"style":149},"{\n  \"event\": \"slip.verified\",\n  \"id\": \"evt_9f3c1a7b2d4e6f8a0b1c2d3e\",\n  \"created\": 1781107927,\n  \"data\": {\n    \"transactionId\": \"8f3c…\",\n    \"transRef\": \"20260525123045123456\",\n    \"amount\": 50.0,\n    \"status\": \"SUCCESS\",\n    \"sender\": \"นายสมชาย ใจดี\",\n    \"receiver\": \"ร้านกาแฟพี่ตุ๊ก\",\n    \"verifiedAt\": \"2026-05-25T05:30:46.412Z\",\n    \"latencyMs\": 480\n  }\n}\n",[110,571,572,576,588,600,612,618,630,640,650,660,671,682,694,704,708],{"__ignoreMap":149},[153,573,574],{"class":155,"line":8},[153,575,252],{"class":251},[153,577,578,581,583,586],{"class":155,"line":209},[153,579,580],{"class":195},"  \"event\"",[153,582,260],{"class":251},[153,584,585],{"class":199},"\"slip.verified\"",[153,587,266],{"class":251},[153,589,590,593,595,598],{"class":155,"line":220},[153,591,592],{"class":195},"  \"id\"",[153,594,260],{"class":251},[153,596,597],{"class":199},"\"evt_9f3c1a7b2d4e6f8a0b1c2d3e\"",[153,599,266],{"class":251},[153,601,602,605,607,610],{"class":155,"line":230},[153,603,604],{"class":195},"  \"created\"",[153,606,260],{"class":251},[153,608,609],{"class":195},"1781107927",[153,611,266],{"class":251},[153,613,614,616],{"class":155,"line":289},[153,615,271],{"class":195},[153,617,274],{"class":251},[153,619,620,623,625,628],{"class":155,"line":301},[153,621,622],{"class":195},"    \"transactionId\"",[153,624,260],{"class":251},[153,626,627],{"class":199},"\"8f3c…\"",[153,629,266],{"class":251},[153,631,632,634,636,638],{"class":155,"line":314},[153,633,317],{"class":195},[153,635,260],{"class":251},[153,637,322],{"class":199},[153,639,266],{"class":251},[153,641,642,644,646,648],{"class":155,"line":327},[153,643,304],{"class":195},[153,645,260],{"class":251},[153,647,309],{"class":195},[153,649,266],{"class":251},[153,651,652,654,656,658],{"class":155,"line":340},[153,653,279],{"class":195},[153,655,260],{"class":251},[153,657,284],{"class":199},[153,659,266],{"class":251},[153,661,662,665,667,669],{"class":155,"line":12},[153,663,664],{"class":195},"    \"sender\"",[153,666,260],{"class":251},[153,668,348],{"class":199},[153,670,266],{"class":251},[153,672,673,676,678,680],{"class":155,"line":365},[153,674,675],{"class":195},"    \"receiver\"",[153,677,260],{"class":251},[153,679,373],{"class":199},[153,681,266],{"class":251},[153,683,684,687,689,692],{"class":155,"line":378},[153,685,686],{"class":195},"    \"verifiedAt\"",[153,688,260],{"class":251},[153,690,691],{"class":199},"\"2026-05-25T05:30:46.412Z\"",[153,693,266],{"class":251},[153,695,696,699,701],{"class":155,"line":419},[153,697,698],{"class":195},"    \"latencyMs\"",[153,700,260],{"class":251},[153,702,703],{"class":195},"480\n",[153,705,706],{"class":155,"line":425},[153,707,422],{"class":251},[153,709,711],{"class":155,"line":710},15,[153,712,428],{"class":251},[89,714,715],{"type":161},[42,716,717,720,721,724,725,728,729,732,733,736,737,744,745],{},[62,718,719],{},"Verify signature ทุกครั้ง"," — header ",[110,722,723],{},"X-Slipbolt-Signature"," มาในรูป ",[110,726,727],{},"t=\u003Cunix>,v1=\u003Chex>","\nโดย ",[110,730,731],{},"v1"," = ",[110,734,735],{},"HMAC-SHA256(secret, \"\u003Cts>.\" + raw_body)"," · ",[62,738,739,740,743],{},"สตริงที่เซ็นไม่มี ",[110,741,742],{},"t="," นำหน้า","\nและต้องใช้ raw body — โค้ดตัวอย่างพร้อมใช้อยู่ที่ ",[54,746,24],{"href":747},"\u002Fdocs\u002Fwebhooks#verify-signature",[46,749,750],{"id":750},"ขั้นถัดไป",[752,753,754,761,767,773,779],"card-group",{},[755,756,758],"card",{"icon":757,"title":20,"to":19},"i-code",[42,759,760],{},"endpoints + error codes ทั้งหมด",[755,762,764],{"icon":763,"title":15,"to":14},"i-key",[42,765,766],{},"Bearer vs API key",[755,768,770],{"icon":769,"title":24,"to":23},"i-webhook",[42,771,772],{},"retry policy + signature verify",[755,774,776],{"icon":775,"title":28,"to":27},"i-shield",[42,777,778],{},"encryption + สิทธิ์เจ้าของข้อมูล",[755,780,783],{"icon":781,"title":782,"to":554},"i-chart","โควตาคงเหลือ",[42,784,785,788,789,792],{},[110,786,787],{},"GET \u002Fme"," + ",[110,790,791],{},"GET \u002Fquota"," — ไม่หักสลิป",[794,795,796],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":149,"searchDepth":220,"depth":220,"links":798},[799,800,801,802,803,804,805,806],{"id":48,"depth":209,"text":49},{"id":101,"depth":209,"text":102},{"id":116,"depth":209,"text":117},{"id":127,"depth":209,"text":128},{"id":170,"depth":209,"text":171},{"id":460,"depth":209,"text":461},{"id":558,"depth":209,"text":559},{"id":750,"depth":209,"text":750},"ตรวจสลิปแรกของคุณภายใน 5 นาที — ตั้งร้าน, ผูก LINE, เช็คโควตา, ยิง API (Starter ขึ้นไป)","md",{},true,{"title":11,"description":807},"docs\u002Fgetting-started",null,"mSQ1cm54Ye8APxURwDLZu4NXluGcTfvLTx4r7SAwAX0",[816,819],{"title":32,"path":31,"stem":817,"description":818},"docs\u002Fchangelog","ฟีเจอร์ใหม่ + การเปลี่ยนแปลงสำคัญของ SlipBolt API",{"title":28,"path":27,"stem":820,"description":821},"docs\u002Fsecurity","มาตรฐานความปลอดภัย — encryption at rest, HMAC webhook, การจัดการ key, สิทธิ์ตาม PDPA",1789321307365]