brunch

개발자센터를 사용해 봅시다.

쇼핑몰에서 제공하는 API 를 소개합니다.

by 이재고

앞에 글에서 이어지는 글입니다.


1. 애널리틱스4를 신뢰하지 않는 이유
2. 네이버페이 데이터 수집은 불가능?
3. 서버사이드 GTM이 정답일까요?
4. 개발자센터를 사용해 봅시다.
5. 개발하면서 만난 문제점들
6. 테스트, 테스트, 테스트
7. 리글린(RE:GLEAN)을 소개합니다.






서버GTM 으로 보낼 데이터를 만들기 위해서 쇼핑몰의 주문정보를 가져와야 할 것 같습니다. 가장 먼저 처리할 쇼핑몰은 카페24로 결정했습니다. 제 경험상 의뢰가 가장 많이 들어오는 솔루션이면서, 개발자 친화적이라고 생각하기 때문입니다.


역시나 카페24는 개발자들을 위해서 개발자센터를 제공하고 있습니다.


https://developers.cafe24.com/


카페24 아이디만 있으면 누구나 쉽게 가입이 가능합니다. 그리고, 자사몰의 API 를 사용하는데 제약이 크게 없습니다.


image_005.png 카페24 앱 서비스 제작 FAQ 중에서


오히려 쇼핑몰에 기능을 추가하고 싶다면 카페24 엑스퍼트를 이용하라고 소개하고 있습니다.


https://experts.cafe24.com/


카페24 개발자센터에서 제공하는 가이드가 궁금하신 분은 아래 링크를 참고하시기 바랍니다.


https://developers.cafe24.com/app/front/common

https://developers.cafe24.com/docs/api/






저는 프론트엔드를 다루는 웹개발자라서, API 를 다루는 백엔드 쪽은 익숙하지가 않았습니다. 그래서, 주문정보 수집을 위한 방법부터 확인이 필요했습니다. 해당 내용에 대해서는 인터넷에 아주 쉽게 적은 글이 있어서 많이 참고했습니다.


https://seheeopark.rbind.io/posts/how-to-use-cafe24-api/

https://seheeopark.rbind.io/posts/cafe24-api-token-manager/


개념 잡는데 큰 도움을 받았습니다. 이 자리를 빌어서 진심으로 감사의 말씀을 전합니다.



간단하게 정리를 하자면,


API 를 호출하려면, 액세스 토큰이 필요합니다. 이 인증토큰을 위해서는 인증코드를 발급받아야 합니다. 문제는 이 인증코드는 발급하고, 1분이 지나면 만료됩니다. 이 1분 안에 액세스 토큰을 발급받아야 합니다.


액세스 토큰을 받으면, API 호출이 가능합니다. 하지만, 이 액세스 토큰도 2시간의 유효시간이 있습니다. 만료되면, 같이 발급된 리프레시 토큰을 이용해서 액세스 토큰을 다시 발급받아야 합니다. 리프레시 토큰은 14일의 유효기간이 있지만, 한번 사용하면 폐기되어 다시 사용할 수 없습니다.


4.jpg 액세스 토큰 발급 과정(출처: 카페24 개발자센터)


따라서, 액세스 토큰이 만료되면 자동으로 갱신이 되도록 자동화가 필수입니다. 보통은 토큰 매니저라는 형태로 만들어서 많이들 사용하고 계시더군요. 그래서, 저도 심플하게 만들어서 사용하고 있습니다.(사실 말은 쉬운데, 꽤 많이 업데이트했습니다.)






API 호출해서 받은 데이터중에서 필요한 내용을 가공을 해야 합니다. 그래서, 이 과정에서 정말 엄청나게 많은 응답 JSON 을 분석했습니다. 어떻게 가공해야 원하는 결과에 가장 근접할지, 적용하고 테스트하고 다시 수정하고, 적용하고 테스트하고 다시 수정하고 반복했습니다.


getty-images-hw5-W0-KEj4-unsplash.jpg


기획하고 설계하는 것, 개발에서 가장 중요한 부분이라고 생각합니다.


설계가 탄탄해지는 순간 개발은 쉽게 진행되었습니다.


물론 모든 일들이 그렇듯 테스트하면서 새로운 문제는 계속 튀어나왔습니다. 단순한 것부터, 프로젝트를 포기할 만큼 크리티컬 한 것까지 다양했습니다. 시간이 지나고 돌아보니, 힘들었지만 한편으로는 재미있던 경험이었던 것 같습니다.


성격상 이때부터는 하루에 20시간씩 개발에 몰두했던 것 같습니다. 누워도 잠이 오지 않았습니다. 끝은 보이지 않았지만 그래도 그냥 계속 만들었습니다.


그럼 다음으로 개발하면서 만난 문제점들을 이야기해보겠습니다.

다음 글에서 이어가겠습니다.



➡️ 개발하면서 만난 문제점들

keyword
매거진의 이전글서버사이드 GTM이 정답일까요?