บันทึกการทำแอป TDAX Thailand (Unofficial) ตอนที่ 1
สวัสดีครับ บทความนี้จะบันทึกการทำแอป TDAX ของผมเอง (ยังไม่สมบูรณ์) โดยจะเล่าถึงปัญหาที่เจอในระหว่างพัฒนา ซึ่งก่อนหน้านี้ผมได้ทำแอปของ BX เป็นแอปประเภทเดียวกันโดยแอป BX ก็ทำการแยกออกมาจาก แอป Cryptostory จากนั้นก็ดัดแปลงแอป BX มาเป็นแอป TDAX ซึ่งมันง่ายกว่าที่คิดไว้ เพราะผมเขียนโปรแกรมไว้สำหรับเหตุการณ์นี้ แต่ก็ไม่แน่ใจว่าตอนทำจริงจะ work ไหม พอมาตอนทำจริงก็ผลออกมาค่อยข้างดี
จะว่าไปแล้ว ก่อนหน้านี้มีท่านนึงทักผมมาทาง facebook บอกว่ามาจาก TDAX อาจจะเป็นทีมงานหรือ dev ในนั้น แล้วอยากจะชวนผมเข้าร่วมทีมเพื่อทำแอป TDAX wallet โดยเขาบอกมาว่ามีคนแนะนำผมมาให้เขาอีกที ฟังแล้วรู้สึกดีทีเดียวที่เขาให้โอกาส แต่ผมก็ต้องปฏิเสธไปเพราะผมมีงานของผมเอง และอยากจะทำงานของผมเองมากกว่า (แล้วก็มาทำแอป TDAX wallet เองเนี่ยนะ) ดังนั้นผมก็ไม่รู้ว่าพอทาง TDAX เปิดตัวแอปของเขาเอง ที่เป็น Official มีฟีเจอร์มากมายที่เขาไม่เปิดให้คนนอกทำ แอปของผมอาจจะไม่มีประโยชน์ และไม่มีคนใช้อีกต่อไป (ตอนนี้ก็ไม่มีใครใช้อยู่แล้วป่ะ)
ดาวน์โหลด
https://play.google.com/store/apps/details?id=com.benzneststudios.tdaxstory
แอปนี้โดน Google แบนไปเรียบร้อยแล้วฮะ
โดยบอกว่า แอปใช้ชื่อและไอคอนแอป โดยไม่ได้รับอนุญาตจากเจ้าของ
เริ่มต้น
ก่อนหน้านี้ TDAX ยังไม่มี api ให้ใช้งานจริง จะเป็นช่วง beta ซึ่งยังไม่สามารถสร้าง API-key เองได้ ต่อมาก็มีผู้ใช้คนนึงในกลุ่มเฟสบุ๊ค cryptostory คอมเม้นบอกว่า TDAX มี api ใช้งานจริงแล้ว ผมเลยไม่รอช้าลองเข้าไปเล่นดู
เท่าที่ดู Api doc ก็เขียนอธิบายได้ดีในส่วนของ Authorization แต่ในรายละเอียดของ request ทำได้ไม่ดีเลย ไม่มีรายละเอียดว่า response ยังไง
Ticker
ผมลองเล่นส่วนของ get balance แล้วก็ public order มันทำงานได้ดี ทำให้ผมทำส่วนของหน้าแสดงราคาได้
แต่พอมาดู api ในส่วนของ getmarkethistory กลับไม่บอกว่ารายการไหนเป็นรายการซื้อ อันไหนขาย มีแต่ราคากับจำนวน แล้วจะทำยังไงละเนี่ย หรือว่าเขาลืม หรือผมงงเอง โอเค คิดไปคิดมาก็ปล่อยว่างไว้ก่อน
เงินคงเหลือ
มาลองเล่น ส่วน user ซึ่งก็ใช้งานได้ดี แต่ก็มีแอบงง ตอนแรกที่บอกว่าใช้ parameter เป็น id
อะไรคือ id ตอนนี้เรามีแค่ API-key มันอันเดียวกันหรือป่าว ไม่มีเขียนบอกไว้เลย และไม่มีบอกว่าจะเอา id จากไหน ผมลองหาในเว็บเมนูต่างๆก็ไม่มีบอก ผมเลยลองใช้ API key แทน id ปรากฏว่าใช้แทนได้
ข้อดีคือ api ของ user อันเดียวตอบกลับมาทั้ง address กับ balance มาให้เลยในทีเดียวทำให้ใช้งานได้ง่าย เพราะบาง exchange จะแยกเป็น 2 api ทำให้เวลาจะแสดง address ต้องไปเรียกอีก api ซึ่งมันยุ่งยากไปอีก
ปัญหาที่ผมพลาดคือ ไม่ได้ดูว่า response ของ TDAX ใช้หน่วยของเหรียญเป็นอะไร เพราะใน doc ไม่มีการเขียนบอกเลย ผมเลยคิดเอาเองว่าเป็นค่าปกติที่แสดงในเว็บ เพราะขี้เกียจโอนเงินเข้าไปเพื่อทดสอบ แล้วผลคือดันใช้ค่าซาโตชิซะงั้น ส่วนเงินบาทก็ดันใช้ค่าสตางค์ พูดง่ายๆคือ จะใช้จำนวนเต็ม จริงๆผมคิดว่ามันโอเคที่จะใช้ค่าประเภทนี้ในการเก็บข้อมูลแต่การนำค่ามาใช้งานกับ api ควรจะเป็นอะไรที่มาตรฐาน คือใช้จำนวนทศนิยมปกติ หรือถ้าจะใช้แบบนั้นจริงๆก็ควรเขียนอธิบายไว้
เรื่องนี้สอนให้รู้ว่าอย่าคิดเองเด็ดขาด สุดท้ายเพื่อความมั่นใจ ผมเลยต้องโอนเงิน 0.001 BTC และ 1 XZC ไป TDAX เพื่อทดสอบ
อันนี้ภาพบัคดังกล่าวจากผู้ใช้ ท่านหนึ่งในแอป CryptoStory ที่มีฟีเจอร์เดียวกัน
การเทรด
ผมพยายามจะใช้งาน api เกี่ยวกับการเทรด เช่น order list
แต่มันใช้งานไม่ได้ ผมลองไปสร้าง order ในเว็บแล้วดูผลของ api ปรากฏว่าใน response บอกว่าไม่มี order
หรือต่อให้ไม่ใส่ parameter ค่าอะไรให้มันก็ตอบกลับมาว่า order ว่างเปล่า ผมว่าผมทำถูกต้องแล้วนะ คิดว่าน่าจะเป็นบัคหรืออะไรสักอย่าง อย่างน้อยถ้ามีอะไรผิดก็น่าจะบอก error ออกมา ผมเจอทางตันในตอนนี้ จนต้องอีเมลไปหา TDAX support เกี่ยวกับเรื่องนี้แต่ไม่มีอะไรตอบกลับมาเลย ผ่านไป 3 วันก็เงียบ ทำให้ผมต้องปิดฟีเจอร์การเทรดไว้ก่อน
ตั้งค่า
หน้าตั้งค่ายังเหมือนของแอป BX ไม่ได้มีการปรับแต่งอะไร
ธีม
ธีมแอปนี้จะใช้โทนสีฟ้า ชื่อธีม Pattaya
สรุป
แอป TDAX ในเวอชันแรกของผมนี้ยังไม่สมบูรณ์เพราะปัญหา API ต้องรอการอัพเดทแก้ไข อีกปัญหานึงของ TDAX คือการทำ API document ที่ค่อนข้างแย่ ไม่มีรายละเอียดที่ควรจะมี เหมือนปล่อยให้ developer จับทางเอง อันนี้ควรปรับปรุง สุดท้ายการ support ที่เหมือนไม่มี support คือไม่มีการตอบอีเมลเลย ผมลองส่งอีเมลว่าลืมรหัสผ่านเพราะในเว็บเขาไม่มีระบบ reset password ทาง support ก็ยังไม่ตอบ เวรและกรรมของผู้ใช้โดยแท้ ทำให้ผมค่อนข้างรู้สึกแย่กับ TDAX แล้วสิ แต่ก็หวังว่าทาง TDAX จะปรับปรุงทั้งเรื่องของ api document และ support นะครับ