비즈니스용 RCS 파트너로 등록하면 파트너 계정이 생성됩니다. 파트너 계정 설정에 액세스하려면 RCS for Business 개발자 콘솔을 열고 파트너 계정 설정을 클릭합니다. 여기에서 다음 작업을 할 수 있습니다.
파트너 계정 정보 업데이트
설정 페이지에서 파트너 ID를 확인하고 다음 정보를 업데이트할 수 있습니다.
| 필드 | 설명 |
|---|---|
| 파트너 이름 | 파트너 계정 이름 |
| 표시 이름 | 이름은 운송업체가 수신하는
결제 보고서에 owner_name 필드로 표시됩니다. 이 정보는 이동통신사에서 사용자를 신뢰할 수 있는 파트너로 식별하고, 사용자가 RCS for Business를 사용하여 구독자에게 도달하는 데 필요한 올바른 인보이스 정보를 생성하는 데 사용됩니다. 여기에서 제공하는 이름은 이동통신사 메시지 계약에 사용된 이름과 일치해야 합니다. |
| 기술 담당자 | 에이전트에서 기술적 문제가 발생할 경우 Google에서 연락할 담당자입니다. 다음과 같은 정보를 업데이트할 수 있습니다.
|
| 웹훅 | 웹훅 엔드포인트 URL입니다. 구성을 클릭하여 업데이트합니다. 파트너 웹훅을 구성하면 모든 에이전트에 적용됩니다. 개별 상담사에 다른 웹훅을 사용하려면 해당 상담사에만 적용되는 상담사 웹훅을 구성하면 됩니다. |
브랜드 관리
비즈니스용 RCS 파트너는 브랜드를 대신하여 에이전트를 만들 수 있습니다.
계정 설정의 브랜드 페이지를 사용하여 파트너 계정과 연결된 브랜드를 추가, 수정, 삭제합니다.
브랜드 추가
브랜드를 추가하려면 입력란에 이름을 입력하고 추가를 클릭합니다.
브랜드 수정
브랜드를 수정하려면 다음 단계를 따르세요.
- 브랜드 이름 옆에 있는 체크박스를 클릭합니다.
- 버튼을 클릭하고 이름 수정을 클릭합니다.
- 수정 작업을 완료한 후 완료를 클릭합니다.
브랜드 삭제
에이전트가 실행되지 않더라도 브랜드가 에이전트와 연결되어 있으면 삭제할 수 없습니다.
브랜드를 삭제하려면 브랜드 이름 옆에 있는 체크박스를 클릭하고 삭제를 클릭합니다.
사용자 관리
계정 설정의 사용자 페이지에서 파트너 계정의 사용자를 관리합니다. 파트너 계정을 만든 사용자에게는 소유자 역할이 부여됩니다. 신규 사용자에게는 관리자 또는 보기 권한 사용자 역할이 부여될 수 있습니다.
- 관리자는 Developer Console의 모든 기능에 액세스하여 파트너 계정에 속한 모든 상담사를 관리할 수 있습니다.
- 독자는 개발자 콘솔에 대한 읽기 전용 액세스 권한이 있어 파트너 계정에 속한 모든 상담사를 볼 수 있습니다.
사용자 추가하기
사용자를 추가하려면 입력란에 사용자의 이메일 주소를 입력하고 역할을 선택합니다.
새 사용자를 추가하면 파트너 계정에 액세스할 수 있음을 알리는 이메일이 전송됩니다.
사용자 삭제
사용자를 삭제하는 방법은 다음과 같습니다.
- 삭제할 사용자를 찾아 표 행에서 버튼을 클릭합니다.
- 사용자 삭제를 선택합니다.
- 삭제를 확인합니다.
삭제된 사용자에게 파트너 계정에 더 이상 액세스할 수 없다는 알림 이메일이 전송됩니다.
소유자 역할이 있는 사용자는 삭제할 수 없습니다. 소유자를 변경하거나 삭제하려면 지원팀에 문의해야 합니다.
사용자의 역할 변경
사용자의 역할을 업데이트하려면 다음 단계를 따르세요.
- 업데이트할 사용자를 찾아 표 행에서 버튼을 클릭합니다.
- 역할 수정을 선택합니다.
- 드롭다운에서 새 역할을 선택합니다.
- 저장을 클릭합니다.
API 호출을 인증할 서비스 계정 설정
RBM API를 호출할 때 서비스 계정 키로 호출을 인증합니다. 이 키를 사용하면 브랜드와 에이전트를 만들고 관리할 수 있으며, 에이전트로 메시지와 요청을 보낼 수 있습니다. 서비스 계정은 최대 10개의 키를 가질 수 있습니다.
API 호출을 안전하게 인증하려면 oauth2l 명령줄 도구도 필요합니다.
서비스 계정 키를 생성하려면 다음 단계를 따르세요.
- 계정 설정에서 서비스 계정 페이지로 이동합니다.
- 키 만들기를 클릭한 다음 만들기를 클릭합니다. 브라우저에서 서비스 계정 키를 다운로드합니다.
서비스 계정 키를 안전한 비공개 위치에 저장합니다. 키를 공개적으로 공유하지 마세요. 이 키는 나중에 RBM API에 액세스하는 데 필요합니다.
파트너 웹훅 구성
파트너 웹훅을 구성하는 방법을 알아보려면 웹훅 가이드를 참고하세요.
전송 실패를 방지하기 위해 웹훅을 비동기적으로 처리하는 방법에 관한 안내는 메시지 처리를 참고하세요.
수신 메일 확인
웹훅은 모든 발신자로부터 메시지를 수신할 수 있으므로 메시지 콘텐츠를 처리하기 전에 Google에서 수신 메시지를 보냈는지 확인해야 합니다.
Google에서 수신한 메시지를 보냈는지 확인하려면 다음 단계를 따르세요.
- 메시지의
X-Goog-Signature헤더를 추출합니다. 메시지 본문 페이로드의 해시되고 base64로 인코딩된 복사본입니다. - 요청의
message.body요소에서 RBM 페이로드를 Base-64로 디코딩합니다. - 웹훅 설정 시 지정한 웹훅의 클라이언트 토큰을 키로 사용하여 base-64로 디코딩된 메시지 페이로드의 바이트로 SHA512 HMAC를 만들고 결과를 base64로 인코딩합니다.
X-Goog-Signature해시를 생성한 해시와 비교합니다.- 해시가 일치하면 Google에서 메시지를 보냈음을 확인한 것입니다.
해시가 일치하지 않으면 알려진 양호한 메시지에서 해싱 프로세스를 확인합니다.
해싱 프로세스가 올바르게 작동하고 사기로 전송된 것으로 보이는 메시지를 수신한 경우 Google에 문의하세요.
Node.js
if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) { // Validate the received hash to ensure the message came from Google RBM const headerHash = req.header('X-Goog-Signature'); const userEventString = Buffer.from(requestBody.message.data, 'base64'); const hmac = crypto.createHmac('sha512', myClientToken); const genHash = hmac.update(userEventString).digest('base64'); if (headerHash === genHash) { const userEvent = JSON.parse(userEventString); const webhookType = req.header('X-Goog-Webhook-Type'); // Route based on the header type if (webhookType === 'message_callback') { handleMessage(userEvent); } else if (webhookType === 'agent_callback') { handleAgentEvent(userEvent); } } else { console.log('Hash mismatch - ignoring message'); res.sendStatus(401); return; } } res.sendStatus(200);
다음 단계
이제 파트너 계정이 설정되었으니 첫 번째 에이전트를 빌드할 차례입니다.