강좌
클라우드/리눅스에 관한 강좌입니다.
기타 분류

[PHP] 네이버 웍스 알림봇 발송하기 1-2

작성자 정보

  • 캘리포니아 작성
  • 작성일

컨텐츠 정보

본문

[PHP]네이버 웍스 알림봇(Bot) 발송하기

#NAVERWORKS #Bot #API2.0

알림봇 생성하기와 이어서 봐주시면 됩니다.


먼저 NAVER WORKS Developer Console 페이와 같이 작업을 진행합니다. 


이 작업은 코딩작업보단 저번에 말했던 api 프로그램

postman, insomnia 작업을 더 많이 하게 됩니다.


1. Developer Console 페이지에서 사용목적에 맞는 Bot 을 등록합니다.

0e021a9bd38f0bc0679c831e26d4e12e_1661474881_6222.png
등록후 확인하는 정보는 Bot ID 정보가 있습니다. 

ID, DomainID(도메인ID) 정보를 기억해주세요.

아래코드 요청은 postman 프로그램으로 실행 하였습니다.


2. 봇 목록 확인 

GET: https://www.worksapis.com/v1.0/bots 

헤더값 Authorization 값만 넣으면 됩니다.

{
"botId": 1234567,
"botName": "땡땡요청서",
"i18nBotNames": [],
"i18nPhotoUrls": []
},

등록된 봇 목록이 출력됩니다.



3. 구성원 목록

GET: https://www.worksapis.com/v1.0/users

헤더값 Authorization 값만 넣으면 됩니다. 

여기서 참고할 점은 이전페이지에서 `인가코드` 값 요청시 scope값을 bot,bot.read,user,user.read,directory,directory.read

으로해야 구성원 목록이 출력이 됩니다.

{
    "responseMetaData": {
        "nextCursor": null
    },
    "users": [
        {
            "domainId": 123123123,
            "userExternalKey": null,
            "email": "asdfasdfasdf@domain.com",
            "userName": {
                "lastName": "홍",
                "firstName": "길동",
                "phoneticLastName": "",
                "phoneticFirstName": ""
            },
            "i18nNames": [],
            "nickName": null,
            "privateEmail": "00@gmail.com",
            "aliasEmails": [],
            "employmentTypeId": "d1111111111111111111111",
            "searchable": true,
            "organizations": [
                {
                    "domainId": 123123123,
                    "primary": true,
                    "userExternalKey": null,
                    "email": "",
                    "levelId": "b111110-a1111-111-1111e-03e1111111112",
                    "executive": true,
                    "orgUnits": [],
                    "organizationName": "회사명",
                    "levelExternalKey": null,
                    "levelName": "사원"
                }
            ],
            "telephone": "070-",
            "cellPhone": "+82 010-",
            "fax": null,
            "location": "",
            "task": null,
            "messenger": null,
            "birthdayCalendarType": "",
            "birthday": "",
            "hiredDate": null,
            "locale": "ko_KR",
            "timeZone": "Asia/Seoul",
            "customFields": [],
            "relations": [],
            "userId": "ac11111-ab11-1111-111-0111111111d",
            "isAdministrator": true,
            "isPending": false,
            "isSuspended": false,
            "leaveOfAbsence": {
                "startTime": null,
                "endTime": null,
                "isLeaveOfAbsence": false
            },
            "isDeleted": false,
            "suspendedReason": null,
            "employmentTypeExternalKey": null,
            "employmentTypeName": "정규직"
        },

구성원 목록을 확인 가능합니다.


4. Bot이 포함된 메시지방 생성

https://developers.worksmobile.com/kr/reference/bot-channel-create?lang=ko 

위에서 봇(botId), 구성원정보(userId) 를 확인하였으니, 봇과 구성원을 선택하여 채널을 생성합니다.

0e021a9bd38f0bc0679c831e26d4e12e_1661494721_2546.png
 

https://www.worksapis.com/v1.0/bots/{botId}/channels 

URL에 Authorization, Headers 값 포함 POST로 Body JSON형태로 

메시지방 이름정해서 채널을 생성합니다.

{
  "channelId": "300001",
  "title": "set01"
}

정상적으로 channelId값이 확인이 됩니다.


5.메시지 전송 - 채널 대상

https://developers.worksmobile.com/kr/reference/bot-channel-message-send?lang=ko 

이제는 위에서 생성한 channelId에 메시지를 보내겠습니다. 

0e021a9bd38f0bc0679c831e26d4e12e_1661495235_9402.png

위 형식으로 메시지를 보내면 정상적으로 네이버웍스에 메시지가 전송이 됩니다.

코드로는


0e021a9bd38f0bc0679c831e26d4e12e_1661496402_9998.png
 

 

위 처럼 코드가 작성이 됩니다.

위 코드 역시 postman에서 자동으로 작성해 줍니다. 그래서 스샷으로 작업하였습니다.

복사하기 어렵다고 머라하지 말아주세요.ㅠ 양해 부탁드리겠습니다. ㅠㅠ


0e021a9bd38f0bc0679c831e26d4e12e_1661495909_0686.png
 


이상입니다.

메시지 전송은 다양한 형태로 전송이 가능합니다. `버튼`, `이미지`,`텍스트`등이 있습니다.

제가 작업한 건 다양한 방식 중에 하나일 뿐입니다.

조금이나마 도움이 되길 바라겠습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,156 명
  • 현재 강좌수 :  36,510 개
  • 현재 접속자 :  226 명