본문 바로가기

Collaboration/WebEx Cloud

스파크 봇 (시스코 스파크 API)를 활용하여 앱을 만들어 보자

시작하며

시스코 스파크 (Cisco Spark)를 이용하는 사용자가 늘어나면서 기존 협업 솔루션 또는 그룹웨어 등과 스파크를 연동하려는 요구가 증가하고 있습니다. 시스코 스파크는 초기 단계에서는 API를 별도로 제공하지 않았지만, 제품이 안정화되고 다양한 기능들을 수용할 수 있는 환경이 되면서 시스코 스파크 API를 제공하기 시작했습니다.  


이번 글은 시스코 스파크 API에 대한 자세한 설명과 사용법을 제공하는 웹페이지를 설명하면서 시스코 스파크 API를 설명할 것입니다. 시스코 스파크를 모르는 분들은 먼저 아래 글을 읽을 것을 권합니다. 


2015/05/08 - [Collaboration/Cisco Spark] - 시스코 스파크, 이메일이 사라진다 [무삭제판]



시스코 스파크 API의 개요 
API는 Application Programming Interface 이 약어로 소프트웨어나 애플리케이션 개발을 손쉽게 할 수 있도록 도와주는 함수 및 프로토콜의 세트이자 인터페이스입니다. 



Salesforce.com 앱을 활용하여 개발자가 시스코 스파크를 호출하여 참가자를 추가하여 방을 개설한 후 새로운 메세지를 포스팅하려고 할 때 필요한 것이 바로 시스코 스파크 API입니다. Cisco Spark API를 이용하면 기업의 그룹웨어나 앱을 스파크와 손쉽게 연동할 수 있습니다.


현재 Cisco Spark API 가 제공하는 기능은 다음과 같지만, 시간이 지나면서 다양한 기능들이 추가될 것입니다.

  • 스파크 회의실 개설 및 참석자 초대 

  • 회사내 직원 검색 

  • 특정 회의실에 메세지 포스팅

  • 회의실의 컨텐츠를 가져 오기 또는 새로운 메세지가 업로드 될때 실시간 통지 



시스코 스파크 API 웹페이지 가기 

www.ciscospark.com 웹페이지에 접속한 후에 상단의 빨간색 박스의 "Developers" 메뉴를 클릭합니다. 





아래와 같이 "Spark for Developers" 라는 웹페이지가 뜨면 "Get Started" 버튼을 클릭하거나 위의 "Document"탭을 클릭합니다. 



Cisco Spark API에 대해 자세히 살펴보겠습니다.

 


Cisco Spark 웹페이지에서 제공하는 기본 데모

스파크 개발자 웹페이지에서 제공하는 스파크방을 만들고 메세지를 전달하는 것을 해보겠습니다. 


처음 접속하면 "Getting Started" 웹페이지는 아래 그림과 같이 빨간 박스에 "You're not logged in. Sign in to run the demo"라는 메세지가 보입니다. 




데모를 위해 로그인을 하라는 메세지입니다. 로그인 후에는 빨간 박스가 사라지고 "Run"이라는 녹색 박스가 표시됩니다.  



"Run" 버튼은 검은색 박스의 XML 메세지를 스파크 클라우드로 전달합니다. 이제 "Run" 버튼을 실행하고 자신의 스파크 앱을 엽니다.  




"Sparky"라는 방이 생성되었고, Sparky 사용자와 대화를 할 수 있습니다. 신기해서 여러 질문을 해 보았지만 Sparky는 항상 "Woof"라고만 대답합니다. 이때 Message API를 이용한 것이며, 자세한 정보를 얻고 싶다면 왼쪽 탭의 "API REFERENCE >> Message" 메뉴를 선택합니다. 



인증 (Authentication)
위의 검은색 박스에 있는 Authorization 헤더는 Spark API 호출을 요청하는 사용자를 식별하고 검증합니다.  API 함수를 호출하는 사용자의 인증 및 권한 설정은 Authorization 헤더에 표시된 Access Token (접근 토큰)으로 진행됩니다.  



자신의 Access Token을 확인하기 위해서 지금 보는 developer.cisco.com 페이지에 로그인한 후 "Getting Started" 웹페이지에서 "Copy" 버튼을 누르거나 자신의 사진을 클릭하면 됩니다.  




물론, 이것은 간단하게 만들 때 이용하는 것이며 많은 사용자들을 위해서는 Oath 2와 같은 SSO 기법을 이용합니다. 



각각의 API 테스트하기 

개발자를 위한 웹페이지에서는 모든 API를 개별적으로 테스트할 수 있습니다. 시스코 스파크 API는 크게 5 가지 종류가 있으며 HTTP 매쏘드로 구현됩니다. 

  • /People 스파크에 등록된 사용자

  • /Rooms 회의실

  • /Membership 회의실과 사용자의 관계를 표시 

  • /Message 텍스트 및 파일 업데이트

  • /Webhooks 스파크의 이벤트가 외부의 앱으로 전달 




"Spark for Developers"웹페이지의 왼쪽 탭에 "Membership"을 클릭하면 API로 구현 가능한 HTTP 메쏘드가 표시됩니다. 



첫번째 "List Memberships"를 클릭하면 API에 대한 설명및 관련 파라미터를 확인할 수 있으며, 예제도 보여줍니다. 






상단의  "Test Mode"를 "ON"으로 클릭한 후에 파라미터를 변경하여 "RUN"버튼을 크릭하면 응답을 받을 수 있습니다.  





시스코 스파크 API 연동을 도와주는 SDK

개발을 편리하게 해주는 SDK (Software Developer Kit)가 Java와 JavaScript 두 가지로 제공됩니다. 추후에 더 많은 SDK가 제공될 예정입니다.  




시스코 스파크를 활용한 다양한 애플리케이션

지금도 시스코 스파크와 연계한 다양한 앱이 만들어지고 있습니다. 




앱들 중에 "IFTTT" 라는 앱을 이용하여 정해진 스파크 방에 일기예보 메세지를 포스팅해 보겠습니다. 아래와 같이 아침 8시마다 서울의 날씨를 알려주도록 설정했습니다. 



    




IF앱은 앱과 앱간의 조건을 연동하여 메세지를 표시하도록 합니다. 




스파크 봇의 활용한 무궁무진합니다.   

지금까지 시스코 스파크 API를 이용하여 무엇을 할 수 있는 지를 살펴보았습니다. 요즘 기업들이 저렴한 메세징 서비스를 사용하기 위해 카카오톡을 이용합니다. 대한항공을 이용하여 비행기를 예매했더니 예약 내역과 여행에 유용한 정보를 카카오톡으로 자동으로 보내주었습니다. 



일반 고객을 대상으로 할 때는 카카오톡이 좀 더 현실적일 수 있겠으나 회사의 Syslog 서버에서 수집한 정보를 바탕으로 긴급 알람을 스파크로 보내거나 아웃룩 또는 그룹웨어의 미팅 정보를 시스코 스파크로 전달할 수도 있습니다. 또한, 스파크 봇인 Chester는 사용자들이 요청한 메세지를 구글 이미지 검색을 통해 찾아줍니다. 


   



이제는 상상할 수 있는 것들을 만들어 봅시다.  



마치며 - 문제는 구현이 아니라 상상력이다. 

시스코 스파크 API는 개발자 분들이 소프트웨어나 애플리케이션 개발을 손쉽게 해줍니다. 지금 잘 사용하고 있는 그룹웨어나 모바일앱에 간단하게 적용해 봅시다. 스마트한 업무 환경이 구현됩니다.  




라인하
 유씨누스 (CCIEV #18487)
  _________________________________________________ 
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (UC를 공부하는 사람들이 모인 구글 구룹스) 
세상을 이롭게 하는 기술을 지향합니다. _______________________________________________