Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

네이버톡톡과 ec2서버 연결 문의 #229

Open
moonchop opened this issue Oct 5, 2023 · 9 comments
Open

네이버톡톡과 ec2서버 연결 문의 #229

moonchop opened this issue Oct 5, 2023 · 9 comments

Comments

@moonchop
Copy link

moonchop commented Oct 5, 2023

요구사항

zendesk라는 웹사이트에서 네이버톡톡을 연동하기 위해 ec2로 자체적인 서버를 개발하려고 합니다.

궁금한 점은 서버에서 안녕하세요라는 메세지를 담아 네이버 톡톡에게 api request한 경우,
아래의 사진처럼 네이버톡톡 파트너센터에서 상담사 채팅 부분에 메세지 업데이트가 가능한가요? (네이버톡톡 파트너센터의 destination url을 모르는 상태)

image
만약 가능하다면 방법을 알고 싶습니다.

구조

고객 - 기업 - 네이버톡톡 - 자체 서버 - zendesk(외부사이트)

네이버톡톡 :

  • 고객이 네이버톡톡으로 기업에 문의한 메세지 내용(문의)을 자체 서버에게 전달
  • 자체 서버는 zendesk에 고객의 문의사항 채팅 내용(문의) 전달

외부사이트 :

  • zendesk(외부사이트)는 자체 서버에 고객 문의사항에 답변한 메세지(고객센터에 문의해주세요)를 전달
  • 자체 서버는 네이버톡톡에 메세지(고객센터에 문의해주세요)를 전달하여 네이버톡톡 파트너센터의 상담사 채팅내용 업데이트 (아래 사진과 같이)

image

@navertalk
Copy link
Owner

안녕하세요.

문의하신 내용을 정리해 보면 3가지 영역으로 나뉜다고 이해했습니다.

  1. 일반 고객(이하 유저)이 특정 기업계정(이하 파트너)에게 문의한 내용을 자체서버에 저장하고 (유저 → 파트너향 메시지)
  2. 저장된 내용을 젠데스크라는 사이트에 표시하고, 여기에서 문의한 내용에 대한 답변하면 (파트너 → 유저향 메시지)
  3. 답변 내용이 네이버 파트너센터의 채팅창에 업데이트 (톡톡 파트너 센터 채팅창)

우선 챗봇은 파트너를 대신하는 역할을 하므로 파트너가 하는 거의 모든 행위를 챗봇도 할 수 있으며, 유저-파트너 간의 대화나 문맥을 잘 파악할 수 있도록 여러 정보를 웹훅으로 전달하고 있습니다.

1번 영역은 웹훅을 통하여 개별 이벤트(텍스트 메시지, 이미지 전송 등의 일련의 행위들)가 전달되므로 해당 정보를 귀사의 서버에 저장하면 될 것입니다. 저장된 내용을 젠데스크에 표시하고 이를 누군가 답변하면 (2번 영역) 답변한 메시지(텍스트 뿐만 아니라 이미지 등의 여러 종류 메시지를 발송 가능)는 챗봇 API의 규격에 맞춰 호출하시면 됩니다.

이렇게 발생하는 대화는 당연히 톡톡 파트너 센터에 업데이트됩니다. 즉 유저-파트너 간의 대화창에 챗봇이 함께 할 수 있는 상황이라고 이해하시면 될 것 같습니다. 혹시 제가 잘못 이해하고 있는 부분이 있다면 편하게 말씀해 주세요. 감사합니다.

@moonchop
Copy link
Author

moonchop commented Oct 12, 2023 via email

@navertalk
Copy link
Owner

안녕하세요.

유저의 메시지 발송을 대체하는 API는 없습니다. 저희가 제공하는 것은 파트너를 대체하는 API이며 유저는 저희 톡톡 채팅창을 통해서만 메시지를 발송합니다.

감사합니다.

@moonchop
Copy link
Author

안녕하세요. 첫번째 답장에서 이렇게 말씀해주셨습니다.

이를 누군가 답변하면 (2번 영역) 답변한 메시지(텍스트 뿐만 아니라 이미지 등의 여러 종류 메시지를 발송 가능)는 챗봇 API의 규격에 맞춰 호출하시면 됩니다. 이렇게 발생하는 대화는 당연히 톡톡 파트너 센터에 업데이트됩니다. 즉 유저-파트너 간의 대화창에 챗봇이 함께 할 수 있는 상황이라고 이해하시면 될 것 같습니다.

외부에서 발생되는 대화가 톡톡 파트너센터에 업데이트되는 방법이 존재한다고 이해했는데, 잘못이해하고 있는지 말씀해주시면 감사하겠습니다. 더불어 가능하다면 어떤 방법이 있는지 궁금합니다.

@navertalk
Copy link
Owner

인용하신 부분에서 말씀드린 "누군가"는 "파트너"를 의미합니다. 저희 톡톡의 구조를 먼저 이해하고 질문하셨으면 좋겠습니다. 저희 시스템은 유저와 파트너가 명확하게 구분되어 있고, 유저의 메시지 발송을 대체할 수 있는 API는 없으며 파트너를 대체할 수 있는 API가 있다고 말씀드린 것입니다.

A(유저), B(파트너)라고 가정하고 말씀드리면 아래와 같은 형태가 될 것입니다.

A가 문의 : 웹훅으로 전달됨 (외부 시스템에서 조회 가능, 톡톡 파트너센터에 대화 업데이트)
B가 답변 : 챗봇 API로 호출 (외부 시스템에서 API 호출 가능, 톡톡 파트너센터에 대화 업데이트, 유저가 파트너의 답변 확인)
A가 다시 이어 답변 : 웹훅으로 전달됨 (외부 시스템에서 조회 가능, 톡톡 파트너센터에 대화 업데이트)
B가 답변 : 챗봇 API로 호출 (외부 시스템에서 API 호출 가능, 톡톡 파트너센터에 대화 업데이트, 유저가 파트너의 답변 확인)
... (대화)

A는 저희 톡톡 채팅창을 통해서 문의하고 B는 저희가 제공하는 시스템과 귀사의 시스템 연동을 통해서 대화할 수 있게 된다는 것입니다. 이 위에서 문의하신 것은 A 또한 외부 시스템을 통해서 톡톡 채팅창에 업데이트하기 위한 API가 있냐는 것으로 이해했고, 이를 위한 API는 없고 제공할 계획도 없다고 답변드린 것입니다. 감사합니다.

@moonchop
Copy link
Author

moonchop commented Oct 17, 2023

저도 파트너로 이해하고, 질문드린 것이었는데 , 이후 답변에 대해 유저를 파트너로 생각하여 혼란이 있었던 것 같습니다.
위의 요구사항에 대해 모두 성공적으로 작동하는 것을 테스트했습니다.

감사합니다. 좋은 하루 보내세요.

@moonchop
Copy link
Author

안녕하세요. 보내기 API 관련하여 궁금한 점이 있습니다.
현재는 네이버 파트너센터에서 유저가 직접 보내기 API의 Authorization을 발급해야 하고, expire 될 경우 재설정 버튼을 통해 재발급받아야합니다.

nodejs, curl 등을 통해 api통신으로 보내기 API의 Authorization을 발급받을 순 없나요?

@navertalk
Copy link
Owner

navertalk commented Oct 18, 2023

네 유저는 문의하는 사람과 답변하는 상담자 모두 가리킬 수 있는 용어라서 이를 구분하기 위해 용어를 먼저 정의하고 안내드렸지만, 각 도메인의 특징에 따라 가리키는 대상을 헷갈릴 여지가 항상 있는 것 같습니다. 😭 아무쪼록 요구사항에 부합하는 기능이라고 하시니 다행입니다.

Authorization을 발급하는 API는 제공하고 있지 않습니다. 챗봇 구현을 하시면 아시겠지만 Authorization을 업데이트해야 하는 상황은 거의 없으며, 만약 부득이 하게 Authorization을 변경해야 할 때 서버상의 Authorization반영이 늦어져 챗봇의 API 호출이 되지 않는 것을 우려하실 수 있는데요. Authorization이 변경되면 직전에 사용되던 Authorization이 24시간동안 유효합니다.

따라서 개발 담당자께서 직접 갱신하고 새로 얻은 값을 서버에 반영하여 배포하여도 기존 챗봇 동작에는 영향이 없는 점을 참고부탁드립니다. 감사합니다.

아 그리고 Authorization은 만료되지 않습니다. 저희가 구현하는 챗봇들도 동일한 룰에 의해서 발급하여 사용하고 있으며 2018년 이후 동일하게 사용하고 있는 챗봇들이 있습니다.

@moonchop
Copy link
Author

moonchop commented Oct 18, 2023

refresh token처럼 n(24)시간이 지나면 expire 되는 것이 아니라, Authorization을 재설정하기 전에는 expire와 관련이 없군요.

이해했습니다. 답변 감사드립니다 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants