[OSSCA] Challengers 4주차 NHN Cloud API 분석

뚜비·2022년 8월 16일
0

2022 OSSCA

목록 보기
8/14

2022 오픈소스 컨트리뷰션 아카데미 "NHN Toast Power Platform Connector" 프로젝트에 참여하면서 Challengers 기간동안 배운 내용을 기록하였습니다.



✅ NHN Cloud API 분석

환경설정


먼저 멘토님이 해당 조직 콘솔에 NHN Cloud에 가입한 계정으로 회원 등록을 해주셨다. (따라서 우리는 결제를 안 해도 된다)

NHN Console에 들어가서 SMS 발송 서비스를 사용해보았다. 발신번호는 멘토님의 번호를 사용했고 내용과 수신자 정보(내 번호)를 입력하고 보내기 하면

이렇게 해당 내용으로 문자 메시지가 도착했다.



실습

URL & AppKey 눌러서 복사 해두고 포스트맨에 등록해야 한다. (Secret Key는 아마 멘토님이 따로 알려주셨다) RESTFUL API를 호출하기 위해서는 App Key와 Secret Key가 필요하기 때문이다. API 가이드를 참고!


App Key와 Secret Key가 필요한 이유
REST API의 이해와 설계-#3 API 보안
REST API 제작시 꼭 알고 있어야 할 HMAC 기반 인증
비대칭 암호화
간단히 요약하자면 App Key는 API를 호출하는 대상을 확인하기 위해, 인증(Authentication)을 위해 사용한다. 이때 Secret Key는 공개키 암호(Public-key cryptography)에서 보낼 데이터를 암호화하는 개인 키에 해당하는 키다.


포스트맨을 열고 Collections를 만든 후 Collection의 Variables에 appKey, secretKey, baseUrl을 각각 입력하고 아까 복사한 값을 붙여넣기 한다.



단문 SMS 발송

NHN Cloud Document
해당 API는 POST request로 작성해야 하고 parameter로 appKey, header로 X-Secret-Key가 필요함을 알 수 있다. 포스트맨에 위의 사진과 같이 작성해주자


{
   "templateId":"TemplateId",
   "body":"본문",
   "sendNo":"15446859",
   "requestDate":"2018-08-10 10:00",
   "senderGroupingKey":"SenderGroupingKey",
   "recipientList":[
      {
         "recipientNo":"01000000000",
         "countryCode":"82",
         "internationalRecipientNo":"821000000000",
         "templateParameter":{
            "key":"value"
         },
         "recipientGroupingKey":"recipientGroupingKey"
      }
   ],
   "userId":"UserId",
   "statsId":"statsId"
}

위의 코드를 request body에 복붙하고 필수로 값이 필요한 property를 확인하고 값을 적어준다.


request를 보내고 이렇게 Status : 200 나오면 성공이다!!


이때 문제는 해당 API는 request에 실패해도 무조건 Status : 200이 뜬다.


recipentNo에 내 번호를 적어서 내 맘대로 작성해보고 request를 보내보면

실제로 내 번호로 문자 메세지가 이렇게 왔다!



단문 SMS 발송 단일 검색

NHN Cloud Document

  • requestId : 위의 표의 요청 ID다!!

  • recipientSeq : 한번에 발송한 문자들의 index를 의미한다. 한번에 문자 메세지를 10명의 사람에게 보냈다면 문자 메세지의 index는 1부터 10까지의 숫자가 존재한다.



단문 SMS 발송 목록 검색

NHN Cloud Document
위에 보이는 표처럼 SMS 발송 정보들을 확인할 수 있다.

  • 여기서 requestId 또는 startRequestDate + endRequestDate 또는 startCreateDate + endCreateDate 중 하나를 필수로 작성하면 된다.
  • Request(발송) : 실제로 문자 메세지를 보내는 시점
  • Create(생성) : 문자 메세지를 만든 날짜



등록된 발신번호 목록 검색 API

NHN Cloud Document

  • 파라미터가 필수인지 아닌지 설명이 없는데.. 다 옵션이다.
profile
SW Engineer 꿈나무 / 자의식이 있는 컴퓨터

0개의 댓글