2017-12-14 3 views
0

Twilio 채팅 소비 지평선을 동기화하고 자체 서버의 새 메시지 목록으로 이메일 알림을 보내는 올바른 방법은 무엇입니까?Twilio Programmable 채팅에서 새 메시지에 대한 이메일 알림을 설정하는 방법은 무엇입니까?

새로운 메시지에는 프리 후크/포스트 후크를 사용할 수 있지만 모든 메시지와 그 상태를 데이터베이스에 보관하고 싶지는 않습니다.

내 서버에서 알림을 설정하는 더 효과적인 방법이 있습니까?

답변

1

개발자 전도사 Twilio가 여기 있습니다.

이 모든 것을 저장할 필요는 없습니다. REST API를 사용하여이 모든 정보를 얻을 수 있습니다.

사용자 채널을 저장해야합니다. Member Sid. 그런 다음 Member resource으로 전화를 걸어 last_consumed_message_index을받을 수 있습니다.

회원이 채널에서 읽은 마지막 메시지의 색인을 나타내는 정수 인 색인을 사용하면 해당 색인 이후로 Message resource to list all the messages을 호출 할 수 있습니다. 노드에서 그렇게된다면

service 
    .channels(CHANNEL_SID) 
    .members(MEMBER_SID) 
    .fetch() 
    .then(member => { 
    const lastConsumedMessageIndex = member.lastConsumedMessageIndex; 
    return service.channels(CHANNEL_SID).messages.list({ 
     pageSize: lastConsumedMessageIndex, 
     limit: lastConsumedMessageIndex 
    }); 
    }) 
    .then(messages => { 
    console.log(messages); 
    // do something with unread messages 
    }) 
    .catch(error => { 
    console.error(error); 
    }); 

내가 전혀 도움이되는지 알려주세요.

+0

감사합니다. @philnash. 그래서, 나는 모든 채널과 채널 멤버 SID를 저장해야합니까? 그리고 예를 들어 5 분마다 새 메시지가 있는지 확인하고 알림을 보내야합니다. 흠 ... –

+0

오, 난 여전히 webhooks를 사용하여 알림을 트리거 할 수 있지만 채널 및 회원 SID가있는 경우 모든 메시지도 저장할 필요가 없습니다. – philnash

+0

모든 채널과 멤버를 저장하고 SID를 저장 한 다음 webhook 새 메시지에서 lastconsumedindex를 확인하여 모든 회원에게이 채널을 확인하십시오. –

관련 문제