[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"schema-global-basic:th-TH":3,"developer-center-document-stjk6a2euo5bb9rnu5xidl9y-th-TH":52},{"@graph":4,"@context":51},[5],{"@id":6,"name":7,"@type":8,"itemListElement":9},"https://www.esignglobal.com/#pages","ส่วนหลักของเว็บไซต์","ItemList",[10,15,19,23,27,31,35,39,43,47],{"item":11,"@type":13,"position":14},{"@id":12},"https://www.esignglobal.com/customer-story#list","ListItem",1,{"item":16,"@type":13,"position":18},{"@id":17},"https://www.esignglobal.com/integrations#overview",2,{"item":20,"@type":13,"position":22},{"@id":21},"https://www.esignglobal.com/features#overview",3,{"item":24,"@type":13,"position":26},{"@id":25},"https://www.esignglobal.com/pricing#catalog",4,{"item":28,"@type":13,"position":30},{"@id":29},"https://www.esignglobal.com/eSignature-Legality#guide",5,{"item":32,"@type":13,"position":34},{"@id":33},"https://www.esignglobal.com/contact-sales#contact",6,{"item":36,"@type":13,"position":38},{"@id":37},"https://www.esignglobal.com/developers#overview",7,{"item":40,"@type":13,"position":42},{"@id":41},"https://www.esignglobal.com/resources#hub",8,{"item":44,"@type":13,"position":46},{"@id":45},"https://www.esignglobal.com/news#center",9,{"item":48,"@type":13,"position":50},{"@id":49},"https://www.esignglobal.com/blog#hub",10,"https://schema.org",{"apiTree":53,"documentTree":356,"securityTree":437,"detail":438},[54],{"id":55,"documentId":56,"title":57,"sort":14,"parent_id":58,"only_as_menu":59,"type":60,"nodeId":56,"routeId":56,"children":61},1939,"o4686obgtwjoscs5s6xooyi1","เอกสาร API","0",true,"api",[62,73,136,177,202,219,249,275,291,351],{"id":63,"documentId":64,"title":65,"sort":14,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":64,"routeId":64,"children":66},1494,"b1jzh5soo88eektjgjg0z9cj","oAuth2",[67],{"id":68,"documentId":69,"title":70,"sort":14,"parent_id":64,"only_as_menu":71,"type":60,"nodeId":69,"routeId":69,"children":72},1991,"mmcjntoocjtwl1frc6khk3k4","การอนุญาต oAuth",false,[],{"id":74,"documentId":75,"title":76,"sort":50,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":75,"routeId":75,"children":77},1455,"emn5khbfwir61or7uzo7mrde","การจัดการซองจดหมาย",[78,83,88,94,100,106,112,118,124,130],{"id":79,"documentId":80,"title":81,"sort":14,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":80,"routeId":80,"children":82},3227,"q9infiuohmf1fui6dj083hxj","สร้างซองเอกสารด่วน",[],{"id":84,"documentId":85,"title":86,"sort":50,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":85,"routeId":85,"children":87},2757,"xlp3m1z044jtkeopyh7ccm5e","สร้างซองจดหมาย",[],{"id":89,"documentId":90,"title":91,"sort":92,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":90,"routeId":90,"children":93},1887,"ewmccs9nc11erxmwmg7ye609","เปิดซองจดหมาย",20,[],{"id":95,"documentId":96,"title":97,"sort":98,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":96,"routeId":96,"children":99},1841,"k1tcxkpirnvc17wubklucx6d","ซองจดหมายสิ้นสุด",40,[],{"id":101,"documentId":102,"title":103,"sort":104,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":102,"routeId":102,"children":105},1737,"xup11xm3pvlk7lkvejly03t4","รับที่อยู่สำหรับลงนาม",50,[],{"id":107,"documentId":108,"title":109,"sort":110,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":108,"routeId":108,"children":111},3161,"pgwry228y585ip83zux1m7ky","สอบถามรายละเอียดซองจดหมาย",60,[],{"id":113,"documentId":114,"title":115,"sort":116,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":114,"routeId":114,"children":117},2511,"n383yqr1z4cw0g2tncva1i9l","ยกเลิกซองจดหมาย",70,[],{"id":119,"documentId":120,"title":121,"sort":122,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":120,"routeId":120,"children":123},1507,"kfn3jzvf0coqrmgsyal5s3h7","ซองจดหมายแจ้งเตือน",80,[],{"id":125,"documentId":126,"title":127,"sort":128,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":126,"routeId":126,"children":129},1863,"fsagl9dy4ybdzgef0sfek43a","รับที่อยู่หน้าเซ็นชื่อแสดงตัวอย่าง",90,[],{"id":131,"documentId":132,"title":133,"sort":134,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":132,"routeId":132,"children":135},2458,"yohj3fn3f4ydc19bda85u0au","สร้างมุมมองการส่งซองจดหมาย",100,[],{"id":137,"documentId":138,"title":139,"sort":92,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":138,"routeId":138,"children":140},1789,"ouy9r6x8lqhj09nuza6s28kq","การจัดการไฟล์",[141,146,151,156,162,167,172],{"id":142,"documentId":143,"title":144,"sort":14,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":143,"routeId":143,"children":145},1965,"uklome95b6imdx8l1s4kvpne","อัปโหลดไฟล์",[],{"id":147,"documentId":148,"title":149,"sort":50,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":148,"routeId":148,"children":150},1815,"r3sk47rnpk5laxqcvasszzj7","รับพิกัดตามคีย์เวิร์ด",[],{"id":152,"documentId":153,"title":154,"sort":92,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":153,"routeId":153,"children":155},3182,"dygf6h69qejdsxxzzi1zzetb","ดาวน์โหลดไฟล์",[],{"id":157,"documentId":158,"title":159,"sort":160,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":158,"routeId":158,"children":161},1685,"b0uxzdvf2umyejj9td3go60x","เพิ่มเอกสารเพื่อลงนาม",30,[],{"id":163,"documentId":164,"title":165,"sort":98,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":164,"routeId":164,"children":166},1555,"c2s5iyao8xl60jnu9fyld71b","ลบเอกสารที่ลงนาม",[],{"id":168,"documentId":169,"title":170,"sort":104,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":169,"routeId":169,"children":171},1659,"mq2v1gptzmgbxdnpt2naew0z","เพิ่มไฟล์แนบ",[],{"id":173,"documentId":174,"title":175,"sort":110,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":174,"routeId":174,"children":176},1711,"pd7zcrwaudxp9n5nhmax66th","ลบไฟล์แนบ",[],{"id":178,"documentId":179,"title":180,"sort":160,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":179,"routeId":179,"children":181},1468,"v8y4g3ok61tys8mwr0fjmq5g","การจัดการผู้มีส่วนร่วม",[182,187,192,197],{"id":183,"documentId":184,"title":185,"sort":14,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":184,"routeId":184,"children":186},3245,"maun35qmz3kx9haku23zhmme","เพิ่มผู้ลงนาม",[],{"id":188,"documentId":189,"title":190,"sort":50,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":189,"routeId":189,"children":191},1533,"xp595dh8tlzle8lt9bo3lyyt","ลบผู้ลงนาม",[],{"id":193,"documentId":194,"title":195,"sort":92,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":194,"routeId":194,"children":196},2864,"h434ytbkhv0177b778achv7u","เพิ่มผู้รับสำเนา",[],{"id":198,"documentId":199,"title":200,"sort":160,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":199,"routeId":199,"children":201},1520,"jw2f0dtk7ddfpbrwn2oo9rmc","ลบผู้รับสำเนา",[],{"id":203,"documentId":204,"title":205,"sort":206,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":204,"routeId":204,"children":207},3065,"qx2bl5kl3s0bwzvdkmzp71zh","แม่แบบซองจดหมาย",35,[208,214],{"id":209,"documentId":210,"title":211,"sort":212,"parent_id":204,"only_as_menu":71,"type":60,"nodeId":210,"routeId":210,"children":213},3099,"m53jxnuxwkayx1b7mnk3adca","ค้นหาข้อมูลรายละเอียดแม่แบบซองจดหมาย",0,[],{"id":215,"documentId":216,"title":217,"sort":50,"parent_id":204,"only_as_menu":71,"type":60,"nodeId":216,"routeId":216,"children":218},3136,"smkcnczbyllcva0e51xbud5p","ใช้แม่แบบซองเพื่อเริ่มการลงนาม",[],{"id":220,"documentId":221,"title":222,"sort":98,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":221,"routeId":221,"children":223},1607,"ais40oqq7r11n67gc0vrbd3v","บริการเทมเพลต",[224,229,234,239,244],{"id":225,"documentId":226,"title":227,"sort":14,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":226,"routeId":226,"children":228},3207,"s7f24t0vc3oh7xjc1vd54min","ดึงข้อมูลรายละเอียดส่วนควบคุมแม่แบบผู้ลงนาม",[],{"id":230,"documentId":231,"title":232,"sort":18,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":231,"routeId":231,"children":233},2641,"pqznounxwcdqpjjlo427cp2v","รับรายละเอียดเทมเพลต",[],{"id":235,"documentId":236,"title":237,"sort":50,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":236,"routeId":236,"children":238},2016,"nlabl9lmcchamxb4xb2sotgf","กรอกแบบฟอร์มเพื่อสร้างไฟล์",[],{"id":240,"documentId":241,"title":242,"sort":92,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":241,"routeId":241,"children":243},1763,"h6u1p3mm2q9jh22drwhx7w3x","ค้นหารายการเทมเพลต",[],{"id":245,"documentId":246,"title":247,"sort":160,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":246,"routeId":246,"children":248},1633,"upq57humugxijzhzsfl01e2r","查询文件合成任务详情 แปลว่า สอบถามรายละเอียดงานสังเคราะห์ไฟล์",[],{"id":250,"documentId":251,"title":252,"sort":253,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":251,"routeId":251,"children":254},2198,"r6a999am8z6ay9r6q78m9szt","การจัดการตราประทับ",45,[255,260,265,270],{"id":256,"documentId":257,"title":258,"sort":14,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":257,"routeId":257,"children":259},2250,"ap2udsj6jmd3f7nq1t2wtb6n","สร้างตราประทับ",[],{"id":261,"documentId":262,"title":263,"sort":18,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":262,"routeId":262,"children":264},2224,"e27cq9n53oiassrm9dusczah","แก้ไขตราประทับ",[],{"id":266,"documentId":267,"title":268,"sort":22,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":267,"routeId":267,"children":269},2300,"nhodhim2gs6b0fnmhai68jl2","ลบตราประทับ",[],{"id":271,"documentId":272,"title":273,"sort":26,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":272,"routeId":272,"children":274},2276,"za70ia3hau1jmhh1odey7648","ค้นหารายการแสตมป์",[],{"id":276,"documentId":277,"title":278,"sort":279,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":277,"routeId":277,"children":280},2563,"vjgy9wyqpueas3ifwl4sqtxo","การเปรียบเทียบสัญญา",49,[281,286],{"id":282,"documentId":283,"title":284,"sort":14,"parent_id":277,"only_as_menu":71,"type":60,"nodeId":283,"routeId":283,"children":285},2589,"ncci0s4sdebcqnpez9hta140","รับหน้าผลการเปรียบเทียบสัญญา",[],{"id":287,"documentId":288,"title":289,"sort":30,"parent_id":277,"only_as_menu":71,"type":60,"nodeId":288,"routeId":288,"children":290},2725,"czpws8dh6ef4ynxxwmgu796b","สอบถามรายละเอียดการเปรียบเทียบสัญญา",[],{"id":292,"documentId":293,"title":294,"sort":104,"parent_id":56,"only_as_menu":71,"type":60,"nodeId":293,"routeId":293,"children":295},1581,"e3esec8grw834hdls3c5uket","เหตุการณ์เรียกกลับ",[296,301,306,311,316,321,326,331,336,341,346],{"id":297,"documentId":298,"title":299,"sort":14,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":298,"routeId":298,"children":300},2430,"oqef89swtse7xva7ihxd4eah","การแจ้งเตือนการเปิดซองจดหมาย",[],{"id":302,"documentId":303,"title":304,"sort":50,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":303,"routeId":303,"children":305},2094,"m2b3cny59zr2019zx101vlq6","การแจ้งเตือนเมื่อผู้ลงนามลงนามเสร็จสิ้น",[],{"id":307,"documentId":308,"title":309,"sort":92,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":308,"routeId":308,"children":310},2068,"ktoxlvvrj5777zxi5oqoebun","แจ้งเตือนการลงนามเสร็จสิ้นของผู้ลงนามทั้งหมด",[],{"id":312,"documentId":313,"title":314,"sort":160,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":313,"routeId":313,"children":315},2042,"c4g7knax4y890stvlk89zrgl","แจ้งเตือนการลงนามซองจดหมายเสร็จสมบูรณ์",[],{"id":317,"documentId":318,"title":319,"sort":206,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":318,"routeId":318,"children":320},2484,"z5a7ce3eu1vayhclx05l4boz","ผู้ลงนามดูการแจ้งเตือนซองจดหมาย",[],{"id":322,"documentId":323,"title":324,"sort":98,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":323,"routeId":323,"children":325},2120,"f6udt0g3kk1ty67u8o9dn0s3","การแจ้งเตือนการเพิกถอนซองจดหมาย",[],{"id":327,"documentId":328,"title":329,"sort":104,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":328,"routeId":328,"children":330},2146,"xn1qw8wfeosuql9e4qd983gx","แจ้งเตือนซองจดหมายหมดอายุ",[],{"id":332,"documentId":333,"title":334,"sort":110,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":333,"routeId":333,"children":335},2172,"hzf0ipligf96y2hsh4yrz8q7","ลงนามในประกาศการหยุดชะงักของงาน",[],{"id":337,"documentId":338,"title":339,"sort":116,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":338,"routeId":338,"children":340},1913,"dkyp87hoikayfcnpi7misr3z","แจ้งผลการรวมไฟล์",[],{"id":342,"documentId":343,"title":344,"sort":122,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":343,"routeId":343,"children":345},2615,"zcv1ch0olb5ecpzo2u7jfw0e","การแจ้งเตือนผลการเปรียบเทียบสัญญา",[],{"id":347,"documentId":348,"title":349,"sort":122,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":348,"routeId":348,"children":350},2693,"il87aup17m7ydala24kjkhev","การส่งซองจดหมายล้มเหลว",[],{"id":352,"documentId":353,"title":354,"sort":110,"parent_id":56,"only_as_menu":71,"type":60,"nodeId":353,"routeId":353,"children":355},1481,"lqqpn7hfhf3xzgf2d9vz9h7u","ตารางรหัสข้อผิดพลาด",[],[357],{"id":358,"documentId":359,"title":360,"sort":14,"parent_id":58,"only_as_menu":59,"type":361,"nodeId":359,"routeId":359,"children":362},558,"kmxyx6s30cspdrb6lpq2vlmw","คู่มือนักพัฒนา","document",[363,368,385,390],{"id":364,"documentId":365,"title":366,"sort":14,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":365,"routeId":365,"children":367},610,"nqxvj8fpudh1phhwzjxyrqie","คู่มือการรวมระบบ",[],{"id":369,"documentId":370,"title":371,"sort":26,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":370,"routeId":370,"children":372},755,"rwuzqa9wdd8ifr9d2psn2oll","คู่มือการเชื่อมต่อสำหรับพันธมิตร ISV ในระบบนิเวศ",[373,379],{"id":374,"documentId":375,"title":376,"sort":377,"parent_id":370,"only_as_menu":71,"type":361,"nodeId":375,"routeId":375,"children":378},738,"stjk6a2euo5bb9rnu5xidl9y","คู่มือการผสานรวม OAuth2.0 แบบโหมดรหัสการอนุญาต",41,[],{"id":380,"documentId":381,"title":382,"sort":383,"parent_id":370,"only_as_menu":71,"type":361,"nodeId":381,"routeId":381,"children":384},774,"i640wop6allavqk5recnkqal","คำอธิบายขอบเขตของอินเทอร์เฟซแอปพลิเคชันในระบบนิเวศ ISV",42,[],{"id":386,"documentId":387,"title":388,"sort":30,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":387,"routeId":387,"children":389},597,"pu5by7nny465eng8uuhqfau6","ข้อควรระวัง",[],{"id":391,"documentId":392,"title":393,"sort":50,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":392,"routeId":392,"children":394},584,"vfj16znziy18o17n4sc5y7ng","เหตุการณ์ Webhook",[395,400,405,411,416,421,426,432],{"id":396,"documentId":397,"title":299,"sort":398,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":397,"routeId":397,"children":399},458,"zf1p4cqkhirgzmjqq9pk0a3i",11,[],{"id":401,"documentId":402,"title":304,"sort":403,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":402,"routeId":402,"children":404},484,"fznrramnzm5xmc8xs34bqck1",12,[],{"id":406,"documentId":407,"title":408,"sort":409,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":407,"routeId":407,"children":410},510,"yiz759dqo68gqbyhvq2zfquk","แจ้งเตือนเมื่อผู้ลงนามทุกคนลงนามเสร็จสิ้น",13,[],{"id":412,"documentId":413,"title":314,"sort":414,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":413,"routeId":413,"children":415},380,"caadherlspjkiayulikfh1og",14,[],{"id":417,"documentId":418,"title":324,"sort":419,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":418,"routeId":418,"children":420},406,"wxwcvoo5k3tx99cf3at6iiwm",15,[],{"id":422,"documentId":423,"title":329,"sort":424,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":423,"routeId":423,"children":425},432,"anv65ys13nincm1kmfp7v512",16,[],{"id":427,"documentId":428,"title":429,"sort":430,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":428,"routeId":428,"children":431},623,"fjy4rotdw8b6r66mkflvur4c","การแจ้งเตือนการอนุมัติการปฏิเสธของผู้ลงนาม",110,[],{"id":433,"documentId":434,"title":349,"sort":435,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":434,"routeId":434,"children":436},536,"gcgzjrnf215vhmixw7obvrtd",120,[],[],{"id":374,"documentId":375,"title":376,"content":439,"sort":377,"is_visible":59,"parent_id":370,"only_as_menu":71,"createdAt":440,"updatedAt":441,"publishedAt":442,"locale":443,"seo":444},"\u003Carticle class=\"4ever-article\" style=\"-webkit-text-stroke-width:0px;caret-color:rgb(0, 0, 0);color:rgb(0, 0, 0);font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-thickness:auto;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;\">\u003Ch2 style=\"font-size:18pt;line-height:20.4px;margin-bottom:9px;margin-left:0px;margin-top:21.333333px;text-align:left;text-indent:0px;\">\u003Cspan style=\"font-size:16pt;\">\u003Cspan data-type=\"text\">\u003Cstrong>ลำดับขั้นตอนการเรียกใช้\u003C/strong>\u003C/span>\u003C/span>\u003C/h2>\u003Cfigure class=\"image\">\u003Cimg alt=\"image.png\" src=\"https://static.esignglobal.com/image_4047164e07.png\" srcset=\"https://static.esignglobal.com/thumbnail_image_4047164e07.png 245w, https://static.esignglobal.com/small_image_4047164e07.png 500w, https://static.esignglobal.com/medium_image_4047164e07.png 750w\" sizes=\"100vw\" width=\"750\">\u003C/figure>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ภาพรวม\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">OAuth 2.0 เป็นโปรโตคอลการอนุญาตที่ใช้กันอย่างแพร่หลาย ซึ่งอนุญาตให้แอปพลิเคชันของบุคคลที่สามเข้าถึงทรัพยากรของผู้ใช้ผ่านการได้รับอนุญาตจากผู้ใช้ โดยไม่ต้องเปิดเผยข้อมูลรับรองของผู้ใช้ ในโหมดรหัสการอนุญาตของ OAuth 2.0 ไคลเอนต์จะต้องนำผู้ใช้ไปยังจุดสิ้นสุดการอนุญาต (Authorization Endpoint) ของเซิร์ฟเวอร์การอนุญาต เพื่อขอรับสิทธิ์การอนุญาตจากผู้ใช้\u003C/span>\u003C/p>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">เอกสารนี้จัดทำขึ้นเพื่ออธิบายรายละเอียดวิธีการสร้างและใช้งาน URL สำหรับการอนุญาตตามโปรโตคอล OAuth 2.0 พร้อมตัวอย่างจริงและข้อควรระวัง\u003C/span>\u003C/p>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:20.4px;margin-bottom:9px;margin-left:0px;margin-top:21.333333px;text-align:left;text-indent:0px;\">\u003Cspan style=\"font-size:16pt;\">\u003Cspan data-type=\"text\">\u003Cstrong>หนึ่ง. การสร้าง URL เพื่อรับรหัสการอนุญาต\u003C/strong>\u003C/span>\u003C/span>\u003C/h2>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">โครงสร้างพื้นฐานของ URL สำหรับการอนุญาต\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">URL สำหรับการอนุญาตคือ URL ที่ไคลเอนต์ใช้ในการส่งคำขอไปยังเซิร์ฟเวอร์การอนุญาต ประกอบด้วยองค์ประกอบต่อไปนี้:\u003C/span>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"plaintext\" data-theme=\"default\">https://&lt;authorization-server-domain&gt;/oauth?\n    response_type=&lt;response_type&gt;&amp;\n    clientId=&lt;client_id&gt;&amp;\n    redirectUri=&lt;redirect_uri&gt;&amp;\n    scope=&lt;scope&gt;&amp;\n    state=&lt;state&gt;\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">คำอธิบายพารามิเตอร์\u003C/span>\u003C/h3>\u003Cfigure class=\"table\" style=\"width:731px;\">\u003Ctable class=\"ck-table-resized\" style=\"border-collapse:collapse;table-layout:fixed;\">\u003Ccolgroup>\u003Ccol style=\"width:33.33%;\" width=\"216\">\u003Ccol style=\"width:33.33%;\" width=\"114\">\u003Ccol style=\"width:33.34%;\" width=\"401\">\u003C/colgroup>\u003Ctbody>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ชื่อพารามิเตอร์\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">จำเป็นต้องกรอกหรือไม่\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">คำอธิบาย\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">response_type\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">จำเป็นต้องกรอก\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ประเภทการอนุญาต มักจะเป็น \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">(แสดงถึงการใช้งานโหมดรหัสการอนุญาต)\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr style=\"height:41px;\">\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">clientId\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">จำเป็นต้องกรอก\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ตัวระบุเอกลักษณ์ของไคลเอนต์,\u003C/span>\u003Cspan style=\"color:rgb(0,0,0);font-size:12pt;\">\u003Cspan data-type=\"text\">นั่นคือ&nbsp;APP ID\u003C/span>\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirectUri\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">จำเป็นต้องกรอก\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ที่อยู่ปลายทางสำหรับการเปลี่ยนเส้นทางหลังจากการอนุญาตเสร็จสิ้น ต้องตรงกับที่อยู่เรียกกลับ (callback URL) ที่ลงทะเบียนไว้ตอนลงทะเบียนไคลเอนต์\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr style=\"height:65px;\">\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">จำเป็นต้องกรอก\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ขอบเขตสิทธิ์ที่ร้องขอ ปัจจุบันรองรับ\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">signature\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">stamp\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">comparisons\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">หลังจากที่ได้รับอนุญาตแล้ว สามารถร้องขอ openapi ที่มีอยู่ของ eSignGlobal ได้ โดยหลาย scope สามารถคั่นด้วยช่องว่างได้\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ไม่บังคับ\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">สตริงสุ่มที่ใช้เพื่อป้องกันการโจมตี CSRF ซึ่งไคลเอนต์เป็นผู้สร้างและจะทำการตรวจสอบความสอดคล้องเมื่อมีการเรียกกลับ (callback)\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\u003C/figure>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ขั้นตอนการสร้าง URL สำหรับการอนุญาต\u003C/span>\u003C/h2>\u003Col style=\"list-style-type:decimal;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>กำหนดที่อยู่เซิร์ฟเวอร์การอนุญาต\u003C/strong> สภาพแวดล้อมแซนด์บ็อกซ์คือ: https://account-sml.esignglobal.com/oauth\u003C/span>\u003C/div>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">สภาพแวดล้อมจริงคือ: https://account.esignglobal.com/oauth\u003C/span>\u003C/p>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>ตั้งค่าค่าพารามิเตอร์\u003C/strong> ตามความต้องการใช้งานจริง ให้ตั้งค่าค่าของแต่ละพารามิเตอร์ ตัวอย่างด้านล่างนี้:\u003C/span>\u003C/div>\u003Cul style=\"list-style-type:circle;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">response_type\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">clientId\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">your-client-id-12345\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirectUri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https://your-app.com/callback\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">signature\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">random-state-value\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>การต่อพารามิเตอร์การค้นหา\u003C/strong> หลังจากนำพารามิเตอร์ข้างต้นมาต่อท้ายที่อยู่เซิร์ฟเวอร์การอนุญาตในรูปแบบคู่คีย์-ค่าแล้ว ให้ใช้ \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">&amp;\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> เพื่อเชื่อมแต่ละพารามิเตอร์ โปรดทราบว่าค่าพารามิเตอร์ต้องทำการเข้ารหัส URL\u003C/span>\u003C/div>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ตัวอย่างผลลัพธ์การต่อพารามิเตอร์:\u003C/span>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"plaintext\" data-theme=\"default\">https://account-sml.esignglobal.com/oauth?\n    response_type=code&amp;\n    clientId=your-client-id-12345&amp;\n    redirectUri=https%3A%2F%2Fyour-app.com%2Fcallback&amp;\n    scope=signature&amp;\n    state=random-state-value\u003C/code>\u003C/pre>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>ตรวจสอบผลลัพธ์การต่อพารามิเตอร์\u003C/strong> ตรวจสอบให้แน่ใจว่าที่อยู่หลังการต่อพารามิเตอร์เป็นไปตามข้อกำหนดต่อไปนี้:\u003C/span>\u003C/div>\u003Cul style=\"list-style-type:circle;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ลำดับของพารามิเตอร์สามารถเรียงลำดับใดก็ได้\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ค่าพารามิเตอร์ได้รับการเข้ารหัส URL อย่างถูกต้องแล้ว\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">พารามิเตอร์ที่จำเป็นทั้งหมดถูกรวมอยู่ครบถ้วนแล้ว\u003C/span>\u003C/div>\u003C/li>\u003C/ul>\u003C/li>\u003C/ol>\u003Cfigure class=\"image\">\u003Cimg alt=\"2.png\" src=\"https://static.esignglobal.com/2_4d2f50b136.png\" srcset=\"https://static.esignglobal.com/thumbnail_2_4d2f50b136.png 245w, https://static.esignglobal.com/small_2_4d2f50b136.png 500w, https://static.esignglobal.com/medium_2_4d2f50b136.png 750w, https://static.esignglobal.com/large_2_4d2f50b136.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C/figure>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ตัวอย่างโค้ด\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ต่อไปนี้คือตัวอย่างโค้ดสำหรับการต่อที่อยู่การอนุญาตในภาษาโปรแกรมทั่วไปบางภาษา:\u003C/span>\u003C/p>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ตัวอย่าง Python\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"python\" data-theme=\"default\">import urllib.parse\n\n# 定义参数\nbase_url = \"https://account-sml.esignglobal.com/oauth\"\nparams = {\n    \"response_type\": \"code\",\n    \"clientId\": \"your-client-id-12345\",\n    \"redirectUri\": \"https://your-app.com/callback\",\n    \"scope\": \"signature\",\n    \"state\": \"random-state-value\"\n}\n\n# 拼接地址\nquery_string = urllib.parse.urlencode(params)\nauthorization_url = f\"{base_url}?{query_string}\"\nprint(authorization_url)\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ตัวอย่าง JavaScript\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"javascript\" data-theme=\"default\">// 定义参数\nconst baseUrl = \"https://account-sml.esignglobal.com/oauth\";\nconst params = new URLSearchParams({\n    response_type: \"code\",\n    clientId: \"your-client-id-12345\",\n    redirectUri: \"https://your-app.com/callback\",\n    scope: \"signature\",\n    state: \"random-state-value\"\n});\n\n// 拼接地址\nconst authorizationUrl = `${baseUrl}?${params.toString()}`;\nconsole.log(authorizationUrl);\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ตัวอย่าง Java\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"java\" data-theme=\"default\">import java.net.URLEncoder;\nimport java.nio.charset.StandardCharsets;\n\npublic class OAuthUrlBuilder {\n\n    public static void main(String[ ] args) throws Exception {\n\n        // 定义参数\n        String baseUrl = \"https://account-sml.esignglobal.com/oauth\";\n        String responseType = \"code\";\n        String clientId = \"your-client-id-12345\";\n        String redirectUri = \"https://your-app.com/callback\";\n        String scope = \"signature\";\n        String state = \"random-state-value\";\n\n        // 拼接查询参数\n        String queryString = String.format(\n            \"response_type=%s&amp;clientId=%s&amp;redirectUri=%s&amp;scope=%s&amp;state=%s\",\n            URLEncoder.encode(responseType, StandardCharsets.UTF_8),\n            URLEncoder.encode(clientId, StandardCharsets.UTF_8),\n            URLEncoder.encode(redirectUri, StandardCharsets.UTF_8),\n            URLEncoder.encode(scope, StandardCharsets.UTF_8),\n            URLEncoder.encode(state, StandardCharsets.UTF_8)\n        );\n\n        // 生成完整的授权地址\n        String authorizationUrl = baseUrl + \"?\" + queryString;\n        System.out.println(authorizationUrl);\n    }\n}\u003C/code>\u003C/pre>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">&nbsp;\u003C/p>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">ข้อควรทราบ\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">เมื่อทำการประกอบและใช้งาน URL สำหรับการอนุญาต ควรระวังประเด็นต่อไปนี้:\u003C/span>\u003C/p>\u003Col style=\"list-style-type:decimal;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>ความถูกต้องของการเข้ารหัส URL\u003C/strong>  ค่าพารามิเตอร์ทั้งหมดต้องผ่านการเข้ารหัส URL （\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">percent-encoding\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">）เพื่อให้แน่ใจว่าอักขระพิเศษ（เช่น \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">:\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">/\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">?\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ฯลฯ）ไม่ทำลายโครงสร้างของ URL ตัวอย่างเช่น\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https://your-app.com/callback\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ควรเข้ารหัสเป็น \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https%3A%2F%2Fyour-app.com%2Fcallback\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">。\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>ความสอดคล้องของที่อยู่การเรียกกลับ (Redirect URI)\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ค่าของพารามิเตอร์ต้องตรงกับที่อยู่การเรียกกลับที่ลงทะเบียนไว้กับเซิร์ฟเวอร์การอนุญาตอย่างสมบูรณ์ รวมถึงโปรโตคอล（\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">http\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> หรือ \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">) ชื่อโฮสต์ พอร์ต และพาธ มิฉะนั้น เซิร์ฟเวอร์การอนุญาตจะปฏิเสธคำขอ。\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">\u003Cstrong>state\u003C/strong>\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">\u003Cstrong> ความปลอดภัยของพารามิเตอร์\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> พารามิเตอร์นี้ใช้เพื่อป้องกันการโจมตีแบบ Cross-Site Request Forgery (CSRF) ไคลเอนต์ควรสร้างสตริงแบบสุ่มและคาดเดาไม่ได้ และหลังจากผู้ใช้ดำเนินการอนุญาตเสร็จสิ้น ให้ตรวจสอบค่าในจุดเรียกกลับว่า \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ตรงกับค่าที่ส่งไปตอนแรกหรือไม่。\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>ความเหมาะสมของขอบเขตสิทธิ์ (Scope)\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> พารามิเตอร์นี้กำหนดขอบเขตสิทธิ์ที่ไคลเอนต์ร้องขอ ควรเลือกขอบเขตสิทธิ์ที่น้อยที่สุดตามความต้องการจริง เพื่อหลีกเลี่ยงการร้องขอทรัพยากรของผู้ใช้เกินจำเป็น ซึ่งจะช่วยเพิ่มความไว้วางใจจากผู้ใช้。\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>การจำแนกสภาพแวดล้อม\u003C/strong> ในช่วงการพัฒนาและทดสอบ มักจะใช้สภาพแวดล้อมแบบแซนด์บ็อกซ์ (เช่น \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">account-sml.esignglobal.com\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">）หลังจากการเปิดให้บริการจริง จำเป็นต้องสลับไปใช้สภาพแวดล้อมการผลิต (เช่น ,\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">account.esignglobal.com\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">）เพื่อให้มั่นใจว่าใช้ที่อยู่เซิร์ฟเวอร์การอนุญาตที่ถูกต้องในแต่ละสภาพแวดล้อม\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>การประมวลผลข้อมูลหลังการอนุญาตสำเร็จ\u003C/strong> หลังจากการอนุญาตเสร็จสิ้น บริการอนุญาตของ eSignGlobal จะดำเนินการผ่าน\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">การต่อพ่วงและส่งกลับ\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">และ\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">baseUrl\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> โดยผ่าน\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">baseUrl\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">สามารถระบุศูนย์ข้อมูลที่จัดเก็บข้อมูลของผู้ได้รับอนุญาตได้ เมื่อทำการส่งคำขอ OpenAPI จะต้องส่งคำขอไปยังศูนย์ข้อมูลที่สอดคล้องกัน\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>การจัดการข้อผิดพลาด\u003C/strong> หากผู้ใช้ปฏิเสธการอนุญาตหรือเกิดข้อผิดพลาดอื่น ๆ เซิร์ฟเวอร์การอนุญาตจะส่งข้อมูลกลับมาผ่าน \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> เพื่อแจ้งข้อมูลข้อผิดพลาด (เช่น \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">error\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> และ \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">error_description\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> พารามิเตอร์) ไคลเอนต์ควรจัดการข้อผิดพลาดเหล่านี้อย่างเหมาะสม และแสดงข้อความตอบกลับที่ชัดเจนให้แก่ผู้ใช้\u003C/span>\u003C/div>\u003C/li>\u003C/ol>\u003C/article>","2026-04-30T10:49:17.431Z","2026-05-07T11:04:18.685Z","2026-05-06T06:12:13.642Z","th-TH",null]