brunch

You can make anything
by writing

C.S.Lewis

by 앤더슨 Jan 27. 2023

카카오톡 소셜 API 탐방기. (친구 목록 가져오기)

오픈 API 알아보기 [코드스테이츠 PMB 16기]


모든 구성원들과 원활하고 능숙한 커뮤니케이션하기라는 나의 원대한 욕심을 채우기 위한

루키 PM의 개발 지식 향상하기 프로젝트는 아직 현재 진행형이다.


그래서 오늘 알아볼 것은 바로, API이다.




API란?


API란 Application Programming Interface의 줄임말로

'애플리케이션'을 ‘프로그래밍’ 하는데 필요한 ‘인터페이스’이다.

인터페이스란, 상호 정보 소통을 돕기 위해 경계에 존재하는 시스템을 의미한다.

보다 쉽게 정리하자면, API는 분리되어 있다고 생각되는 것들을 (클라이언트와 서버)

서로 상호 작용 할 수 있도록 이어주는 매개체라고 생각하면 된다.


쉽고, 재미있게 Api의 개념을 이해해 볼 수 있는 영상이 있어서, 링크를 남깁니다.


▶︎ 엄마에게 API를 가르쳐보았다



클라이언트와 서버를 이어주는 매개체, API / 이미지 출처 = Kakao Enterprise Tech blog





Open API란?


하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스이다.

그렇다면 기껏, 그들이 리소스를 부어가며 힘들게 잘 설계한 API를 오픈해 제공하는 이유는 무엇일까?

자사의 서비스 기능을 다양한 서비스에서 활용할 수 있도록 해 서비스의 저변을 넓히는 목적이 있다.

메타 서비스를 제공하는 대기업들의 시장 확대를 목적으로 오픈 API를 운영하거나,

공공의 목적으로 비영리기관에서 무료로 API를 제공하는 경우도 다수 존재한다.


KaKao 오픈 API의 특징이자, 오픈 API의 속성 / 이미지 출처 = 카카오 디벨로퍼스





RESTful API란?


API를 아무리 잘 설계한다고 하더라도, 각자 입맛에 맞게, 각자 필요한 방식에 맞게

다양하게 설계한다면, 추후에 유지보수 하는데 큰 어려움이 생길 수 있다. 

이런 문제를 해결하기 위해 일정한 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 만들어 사용하기로 하였는데, 그중 대표적인 방식이 RESTful API이다.



RESTful API의 요청 종류   


C : Create : 타임라인에 사진을 '올리는' 요청

R : Read : 사진을 '불러오는' 요청

U : Update : 사진을 '바꾸는' 요청

D : Delete : 사진을 '지우는' 요청


RESTful API의 명령 종류   


Create(생성) : POST

Read(읽어오기) : GET

Update(변경) : PUT(전체)/PATCH(일부)

Delete(삭제) : DELETE



사실, PM이 Restful API 정도까지 자세히 알지는 않아도 된다.

PM이 직접 API를 만들거나 설계하는 경우는 많지 않기 때문이다.

다만 API의 구조가 곧 제품의 정보 교환의 구조를 의미하는 만큼,

제품 기능을 이해하고 관리하는 목적에서 자사 제품의 API를 파악하고

분석할 수준의 능력을 갖추는 것은 중요하기 때문에 알아두면 분명 큰 도움이 된다.





카카오의 Open API 종류 살펴보기


kakao developers 홈페이지에서 카카오의 다양한 Open API의 종류들과,

연동 정보와 방법에 대해서 자세히 살펴볼 수 있다.



카카오에서 제공하고있는 다양한 Open API


오늘은 많은 카카오의 API 중에서, 카카오톡 소셜이라는 API에 대해서 이야기를 해보려 한다.





카카오톡 소셜 API (친구 목록 가져오기 API)


보다 자세한 내용은 여기를 눌러 확인하실 수 있습니다.



기능 소개


카카오톡 소셜 API는 서비스의 소셜 기능 구현을 위한 사용자의 카카오톡 프로필과 친구 정보를 제공합니다. 제공받은 카카오톡 친구 정보를 토대로 카카오톡 메시지를 보낼 수도 있습니다.


카카오톡 프로필 및 친구 정보를 활용한 서비스 UI 예시 / 사진 출처 = kakao developers



친구 목록 가져오기 API



- 친구 목록 가져오기 기능이란?


서비스의 API 요청 및 응답을 통해

사용자의 카카오톡 친구 목록 데이터 제공하는 것을 말한다.



- 친구 목록 가져오기 기능을 활용하는 경우는?


서비스 UI에 맞춘 친구 목록을 직접 구현하여 제공하고 싶은 경우 활용한다.



- 친구 목록 가져오기 기능을 사용할 수 있는 환경은?


서버, 웹, 앱에서 이용 가능하다.



- 친구 목록 가져오기 기능 API의 지원 범위는?


REST API

Kakao SDK for JavaScript, Android, iOS, Flutter를 지원한다.




친구 목록 가져오기 API는 그러면 정확히 어떻게 활용할 수 있을까?


당장 떠오르는 것은 게임에 카카오톡 친구를 연동하여 다양한 기능을 활용하는 것과

카카오 서비스 내에 여러 가지 기능에서 친구 목록을 불러오고 무언가를 전달하는 상황 

(카카오 뱅크 계좌 송금, 카카오톡 선물하기 등)이 생각한다.


API를 사용하는 서비스의 입장에서는

카카오톡은 대부분 사용하는 서비스이기 때문에 접근성과 활용도가 매우 뛰어나

자사 서비스 내에서 손쉽게 고객들 간의 바이럴(공유 및 전달)이 일어날 수 있어서 유용하고,


제공하는 카카오의 입장에서는 

카카오톡을 사용하고 있는 사람들 간의 편의성을 증대시키고, 그 생태계를 확장 혹은 유지하는 데에

효과적으로 이용되고 있다는 것을 알 수 있다.





친구 목록 가져오기 API의 Rest API


보다 자세한 내용은 여기를 눌러 확인하실 수 있습니다.



친구 목록 가져오기 API의 Rest API의 기본 정보


친구 목록 가져오기 API의 Rest API 기본 정보 설명



친구 목록 가져오기 API의 명령 종류는 Read(읽어오기) : GET이며,

Read : Get은 서버에서 원하는 자원을 가져오는 명령 방식 뜻한다.


자세한 친구 목록 가져오기 Rest API 전문


요약하자면, Get 명령 방식을 통해서 데이터를 요청할 수 있으며

파라미터를 선택적으로 사용하며 설정하고 이용할 수 있다는 이야기이다.


응답은 JSON이라는 데이터 포맷을 통해 받으며, 여러 가지 상황에 따른 응답 값을 받는다.


파라미터 중 친구 정보를 정렬할 수 있는 기준은 Order와 friend_order으로 설정할 수 있으며,

다양한 정렬 방법으로 친구 목록을 나타낼 수 있다.


아래는 그 명령구조와, 응답과 파라미터를 정리해 놓은 도식표이다.


명령 구조 파라미터


응답, 정렬 구조와 파라미터



친구 목록 가져오기 API의 Rest API의 사용 Sample



친구 목록 가져오기 Rest API의 코드 sample







매거진의 이전글 스포티파이의 앱 유형 톺아보기, In IOS
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari