Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

                 

         
    API By  Traffy  Team
Overview
ภาพรวม  
Traffy  APIs  Overview  
T
ภาพรวมของ Traffy  API  

Real-­‐Time  
  Data  
R
ข้อมูลทันเหตุการณ์  
Applied
  on  your  web  &  applicaCon
A การประยุกต์ใช้บนเว็บและแอปพลิเคชั่น  
 Free  to  ge:ng  started  
F ใช้งานฟรี  
 Fast  to  develop  
F
การใช้งานที่รวดเร็ว  

 Yes  you  can  


Y
 สามารถใช้งานได้  

 
Traffy  API  Introduc:on
บทนํา Traffy  API  
Real-­‐Time  Data
ข้อมูลทันเหตุการณ์  
•  กทม  
•  บก.จร.  
•  การทางพิเศษ  
•  กรมทางหลวง  จังหวัดต่างๆ
•  ผู้ร่วมแบ่งปันข้อมูล
 
Applied on  your  web  &  applica:on  (1)
การประยุกต์ใช้บนเว็บและแอปพลิเคชั่น  (1)  
การใช้งานนั้นสามารถใช้งานได้ทั้งบนเว็บและแอปพลิเคชั่น
จากเว็บ Traffy  นั้นก็ใช้งานจาก API  ที่มีเช่นกัน

การใช้งานในเว็บ การใช้งานในแอปพลิเคชั่น
Applied on  your  web  &  applica:on  (2)
การประยุกต์ใช้บนเว็บและแอปพลิเคชั่น  (2)  

•  getCCTV  

•  getVMS  

•  getIncedent  

•  getCongesCon  
Applied on  your  web  &  applica:on  (3)
การประยุกต์ใช้บนเว็บและแอปพลิเคชั่น (3)  

•  getCCTV  

•  format
(XML,JS,JSON,CSV)  
•  available  (lastupdate)  

•  id  (1-­‐159)  

•  source  (nectec,police,  
exat)  

hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getIncident&key=xx&appid=xx  
Applied on  your  web  &  applica:on  (4)
การประยุกต์ใช้บนเว็บและแอปพลิเคชั่น (4)  

•  getVMS  

•  format  
(XML,JS,JSON,CSV)  
•  width  (pixel)  

•  height  (pixel)  

•  id    (1-­‐40)  

hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getVMS&width=200&height=200&key=xx&a
ppid=xx  
Applied on  your  web  &  applica:on  (5)
การประยุกต์ใช้บนเว็บและแอปพลิเคชั่น (5)  

•  getIncedent  

•  format  
(XML,JS,JSON,CSV)
•  source    
(police,ishare,..)  
•  type  (อุบัติเหตุ ,
ภัยธรรมชาติ)  
•  posiCon  (lat  ,long)
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getIncident&key=xx&appid=xx  
Applied on  your  web  &  applica:on  (6)
การประยุกต์ใช้บนเว็บและแอปพลิเคชั่น (6)  

•  getCongesCon  

•  format  
(XML,JS,JSON,CSV)  
•  source    (bma,  police)  
•  linkid,  link  name  
•  congesCon  level  

   
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCL&source=bma&linkid=1714,1715&key=
xx&appid=xx  
Free*  to  geKng  start
สามารถใช้งานโดยไม่เสียค่าใช้จ่าย*  

 
•  API  เปิดใช้ฟรี*  
•  สมัครใช้งานที่
http://info.traffy.in.th
•  APPID  (=username)  

•  Key  (=password)  
•  StaCc  key  

•  Session  key  
Register  &  Login  (1)
วิธีสมัครและรับ Key  (1)  

•  สําหรับคนที่ยังไม่มี
user  มา register  กัน
แต่ถ้าคนมีแล้ว ก็
Login  ได้เลยนะครับ  
Register  &  Login  (2)
วิธีสมัครและรับ Key  (2)  

กรอกข้อมูลให้ครบถ้วน  
 
Register  &  Login  (3)
วิธีสมัครและรับ Key  (3)  

ขั้นตอนการรับ Key และ


APPID
1.  กด เพิ่ม Key

2.  ทำการเพิ่มเว็บที่จะ
เข้าใช้ แล้วกด ตกลง
ก็จะได้ APPID และ
Key ไปใช้งาน API
แล้วครับ
Fast  to  develop
พัฒนาต่อยอดได้สะดวกและรวดเร็ว  
•  ลดความยุ่งยาก
•  จากหน่วยงานต่างๆ ภาครัฐ ภาคเอกชน

•  Format  ของข้อมูลหลายแบบ

•  ดึงข้อมูลผ่าน API  
•  APPID  

•  Key  

•  Parameters

 
TRAFFY  API  DEMO  
สาธิตการใช้งาน TRAFFY  API

วีรภัทร หยาง
อนุรักษ์ ภูลสวัสดิ์
ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ  
API  Details
ตัวอย่างรายละเอียด API  
การเรียกใช้งาน
•  API  getCCTV  
• 

•  hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  
API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

no  :  หมายเลขกล้อง  
API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

name  :  ชื่อกล้องเป็น
ภาษาอังกฤษ  
API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

Name_th  :  ชื่อกล้อง
เป็นภาษาไทย  
API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

point  :  จะเป็น lat  กับ lng  


API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

available  :  สถานะกล้อง  
API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

url  : ภาพกล้อง  
API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

Lastupdate:ข้อมูลล่าสุด  
API  Details
ตัวอย่างรายละเอียด  API  
การเรียกใช้งาน
•  API  getCCTV  
• 
hXp://athena.traffy.in.th/apis/apitraffy.php?
format=XML&api=getCCTV&available=t&key=XXXXXXXX&
appid=XXXXXXXX    

•  Output  

src:  ผู้ให้ข้อมูล  
How  to  Use  (1)
ใช้งานอย่างไร (1)  

•  Web  
•  APPID  

•  Key  

•  Referrer  

•  ApplicaCon

•  APPID  

•  Session  Key    (1  วัน)  


How  to  Using  (2)  –  Web  Example  w/  PHP
ใช้งานอย่างไร (2)  

ตัวอย่าง เว็บ ที่ใช้งาน API  

ภาพ CCTV

Dropdown  รายชื่อ
กล้องCCTV
How  to  Use  (3)  –  Coding  Example  
ใช้งานอย่างไร (3)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


1.  ส่วนติดต่อกับ API  
Code
How  to  Use  (3)  –  Coding  Example  
ใช้งานอย่างไร (3)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


1.  ส่วนติดต่อกับ API  
Code
สร้าง Header  
ในการเชื่อมต่อ  
เพื่อให้เกิด Referrer  
How  to  Use  (3)  –  Coding  Example
ใช้งานอย่างไร (3)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


1.  ส่วนติดต่อกับ API  

Code

ทําการเชื่อมต่อไปที่ API  
ที่ต้องการใช้  
How  to  Use  (3)  –  Coding  Example
ใช้งานอย่างไร (3)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


1.  ส่วนติดต่อกับ API  

Code
ทําการอ่านข้อมูลและ
แสดงข้อมูลของ API  
ทั้งหมด  
How  to  Use  (4)  –  Coding  Example
ใช้งานอย่างไร (4)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


2.  ส่วนแสดงผลในเว็บ  
How  to  Use  (4)  –  Coding  Example
ใช้งานอย่างไร (4)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


2.  ส่วนแสดงผลในเว็บ  

Code ทําการอ่านข้อมูล API  ที่


ได้แสดงผลจากเวปที่
เขียนในส่วนของการอ่าน
API  
How  to  Use  (4)  –  Coding  Example
ใช้งานอย่างไร (4)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


2.  ส่วนแสดงผลในเว็บ  

Code

ทําการอ่าน node  ข้อมูล


ที่ต้องการใช้  
How  to  Use  (4)  –  Coding  Example
ใช้งานอย่างไร (4)  

ตัวอย่าง code  ที่ใช้บนเว็บ (php)  มีสองส่วน


2.  ส่วนแสดงผลในเว็บ  
Code

แสดงข้อมูลเป็น
Dropdown  
How  to  Use  (5)  –  Mobile  App  w/  Python
ใช้งานอย่างไร (5)  
ตัวอย่าง แอปพลิเคชั่นที่ใช้งาน CCTV  API  

เมนูชื่อภาพ ภาพ CCTV


CCTV
How  to  Use(6)  –  Keys  Acquisi:on
ใช้งานอย่างไร (6)  

def  getRandom_key(appid):   1 Get section Key


1
login_url=urllib.urlopen('hXp://athena.traffy.in.th/  
apis/getKey.php?appid=%s'%appid)  
secConkey=login_url.read()  
login_url.close()  
return  secConkey   AppID+section Key Key+section Key
secConkey=  getRandom_key(appid)   2 MD5 3 MD5

 
2 k1=md5.new("%s%s"%(appid,  randomkey)).hexdigest()   4
3 k2=md5.new("%s%s"%(key,  randomkey)).hexdigest()  
PassKey
 
4 passkey  ="%s%s"%(k1,k2)  

How  to  Use(7)  –  CCTV  API  Parameters
ใช้งานอย่างไร (7)  
URL:  hXp://athena.traffy.in.th/apis/apitraffy.php?
Parameters  :
•  format  =  รูปแบบของการแสดงผล (XML,  JSON,  CSV,  JS)        
•  api  =    ประเภทของ api  ที่ต้องการ (getCCTV)  
•  available  =  เลือกข้อมูลที่ต้องการแสดงผล (available=t  
เลือกเฉพาะกล้องที่ทํางานปกติ)
•  key  =  รหัสที่ได้รับจากการลงทะเบียน  
•  appid  =  id  ที่ได้รับจากการลงทะเบียน
ตัวอย่าง
hXp://athena.traffy.in.th/apis/apitraffy.php?format=XML  
&available=t&api=getCCTV&key=xx&appid=xx
How  to  Use(7)  –  Get  Names  and  Images  
ใช้งานอย่างไร (7)  
Follow  
ApplicaCon CCTV  API

1 Request
  CCTV   & AppID
Check Key

2 Data CCTV Prepare Data

Code
def  get(passkey,  appid):  
1 login_url=urllib.urlopen('hXp://athena.traffy.in.th/apis/apitraffy.php?
format=CSV&available=t  
&api=getCCTV&key=%s&appid=%s'%(passkey,appid))  
2        csv=login_url.read()  
       csv  =  unicode(csv,"UTF-­‐8")  
       login_url.close()  
       return  csv  
Q  &  A
•  API  request  
•  Feature  request  
•  …  
•  …  
Traffy  API
hXp://www.traffy.in.th  
hXp://www.facebook.com/traffy.in.th  
 
Contact  
  us  
Wasan  PaXara-­‐aCkom  
086-­‐901-­‐6124  
wasan@nectec.or.th  
 
 

You might also like