활용 업무분야
후원관리
작성자
장승훈
작업 상태
완료
참여단체
녹색연합
플랫폼
코드
문제 정의
- 녹색연합은 현재 뉴스레터 플랫폼으로 스티비를 쓰고 있고 잠재후원자 관리 목적으로 도너스를 쓰고 있음.
- 뉴스레터 구독자는 가장 큰 잠재후원자 대상이지만 현재 뉴스레터 구독자 데이터와 도너스 회원 데이터 간 동기화가 이루어지고 있지 않음.
- 즉, 도너스를 통한 잠재후원자 관리가 가능해지려면 스티비 뉴스레터 구독자 정보를 수동으로 매번 도너스에 업로드를 해주어야 함.
- 스티비 플랫폼에서 도너스와 연동을 할 수 있는 기능을 제공하지만 스티비→도너스 가 아닌 도너스→스티비 만 가능한 상황.
단체 요청 사항
- 홈페이지를 통해 구독 가능한 뉴스레터 종류는 총 다섯 종류이고 각각 뉴스레터 종류별 구독 정보를 실시간으로 도너스에 입력하고 싶다.
- 도너스에는 뉴스레터 구독을 신청한 사람의 이름, 이메일 정보 입력과 함께 각 회원 별로 활동기록이 누적되었으면 좋겠다.
해결 방법
1. 스티비 웹훅 이벤트 발생
2. 슬러기시 해커스 자체 서버에서 (1. 스티비 웹훅 이벤트) 수신
3. 스티비에서 보낸 이벤트가 *구독신청* 인 경우 경우 구독한 사용자의 이름, 이메일 정보를 도너스에 업데이트
- 동일한 이메일이 없는 경우 새로운 사용자 정보를 도너스에 생성
- 동일한 이메일이 있는 경우 기존 사용자 정보를 활용
4. 3에서 생성한(혹은 기존의) 사용자의 활동 기록에 뉴스레터 구독에 대한 기록 생성
- 활동 기록에는 단체가 사전에 정의해놓은 활동채널, 활동유형, 뉴스레터 주소록 제목, 활동일, 활동분류 정보가 저장.
- 스티비 웹훅이란?
- 스티비 플랫폼에서 뉴스레터 구독과 관련된 이벤트가 발생한 경우 해당 이벤트가 발생했다는 신호를 외부로 보낼 수 있다. 이 때 의미하는 외부는 이 이벤트를 수신하여 처리할 수 있는 서버를 의미한다.
- 예)
- 장승훈(hoonyland.newsletter@gmail.com)님이 슬러기시 해커스 뉴스레터를 구독하였습니다.
- 장승훈(hoonyland.newsletter@gmail.com)님이 슬러기시 해커스 뉴스레터를 구독취소하였습니다.
- 도너스 API (https://developer.donus.org/)
- 도너스에서는 개발자가 활용할 수 있도록 다양한 API를 지원하고 있다.
- 예) 회원 조회, 회원 정보 생성, 회원에 대한 활동 기록 생성 등
- 슬러기시 자체 서버 개발
- 스티비 플랫폼에서 보내는 이벤트 정보를 수신하여 이벤트 유형에 맞게 도너스 API를 호출하기 위한 서버.
- 인프라 비용이나 유지를 위한 자원이 따로 필요하지 않은 Vercel(https://vercel.com) 을 활용하였다.