Sendgo
인증된 제출자cms-orbit/sendgo
Orbit SendGo 통합: 관리자 GUI, 템플릿 동기화, 캠페인 기록, 전화번호 인증 기능을 제공합니다.
CMS Orbit SendGo
cms-orbit/sendgo는 Orbit 관리자와 SendGo API를 연결하는 동반 패키지입니다.
Hub 대시보드, AlimTalk 템플릿 동기화, SMS·AlimTalk·FriendTalk 캠페인 기록, 발신번호·카카오 프로필 조회, 휴대폰 인증 발송까지 Orbit 설정 화면 하나로 묶어줍니다.
주요 기능
- SendGo Hub — 최근 30일 캠페인 요약, 메시지 유형 차트, 발신번호·카카오 프로필·동기화 템플릿 현황
- Orbit 설정 그룹 —
sendgo.*자격 증명을 Settings → SendGo에서 관리 (.env값은 UI에서 잠금·마스킹) - AlimTalk 템플릿 동기화 — SendGo API → 로컬
sendgo_templates테이블, 관리자에서 Sync 액션 - 캠페인 기록 — SendGo API v2 기준 SMS / AlimTalk / FriendTalk 목록·상세 (읽기 전용)
- 발신자 조회 — SMS 발신번호, Kakao 프로필 목록
- 휴대폰 인증 —
techigh/sendgo-notification연동, SMS 또는 AlimTalk 채널 선택
요구사항
- PHP
^8.3 cms-orbit/core^4.0.1techigh/sendgo-notification^1.2
설치
composer require cms-orbit/sendgo:^4.0php artisan migratephp artisan sendgo:migrate-config # auth_sendgo.* 키에서 업그레이드 시php artisan sendgo:sync-templates # 선택: AlimTalk 템플릿 초기 동기화NOTE
cms-orbit/core가 먼저 설치·설정(orbit:install)되어 있어야 합니다.
설정
우선순위
설정 값은 다음 순서로 적용됩니다. 상위 항목이 하위 항목을 덮어씁니다.
.env— 값이 있으면 Orbit 설정 UI에서 잠금·마스킹되어 관리자 화면에서 수정 불가orbit_config('sendgo.*')— Settings → SendGo에서 관리자가 직접 입력한 값config/sendgo.php— 패키지 기본값
환경 변수
SENDGO_URL=https://api.sendgo.io
SENDGO_ACCESS_KEY=
SENDGO_SECRET_KEY=
SENDGO_SENDER_KEY=
SENDGO_KAKAO_SENDER_KEY=
SENDGO_API_VERSION=v2
SENDGO_PHONE_VERIFICATION_TEMPLATE_CODE=| 키 | ENV | 기본값 | 설명 |
|---|---|---|---|
url | SENDGO_URL | https://api.sendgo.io | SendGo API 베이스 URL |
access_key | SENDGO_ACCESS_KEY | — | API Access Key |
secret_key | SENDGO_SECRET_KEY | — | API Secret Key |
sms_sender_key | SENDGO_SENDER_KEY | — | SMS 발신번호 키 |
kakao_sender_key | SENDGO_KAKAO_SENDER_KEY | — | 카카오 발신 프로필 키 |
api_version | SENDGO_API_VERSION | v2 | API 버전 |
phone_verification_template_code | SENDGO_PHONE_VERIFICATION_TEMPLATE_CODE | — | AlimTalk 인증 템플릿 코드 |
레거시 설정 마이그레이션
기존에 auth_sendgo.* 키를 사용하던 설치는 아래 명령으로 sendgo.*로 일괄 이전할 수 있습니다.
php artisan sendgo:migrate-config| 레거시 키 | 새 키 |
|---|---|
auth_sendgo.url | sendgo.url |
auth_sendgo.access_key | sendgo.access_key |
auth_sendgo.secret_key | sendgo.secret_key |
auth_sendgo.sms_sender_key | sendgo.sms_sender_key |
auth_sendgo.kakao_sender_key | sendgo.kakao_sender_key |
auth_sendgo.phone_verification_template_code | sendgo.phone_verification_template_code |
휴대폰 인증
Orbit Authentication & Security에서 auth_methods.phone.enabled가 활성화되어 있으면 Settings → SendGo에 Phone verification 섹션이 표시됩니다.
| 채널 | 조건 |
|---|---|
| SMS | sendgo.sms_sender_key가 설정된 경우 인증번호를 SMS로 발송 |
| AlimTalk | sendgo.phone_verification_template_code가 추가로 필요 |
| local / testing | SendGo 자격 증명이 없으면 로그로 fallback (실제 발송 없음) |
관리자 화면
설치 후 Orbit Integrations 섹션에 SendGo 메뉴가 자동으로 등록됩니다.
| 화면 | 라우트 이름 | 권한 |
|---|---|---|
| SendGo Hub | orbit.sendgo.index | sendgo.dashboard |
| SMS 캠페인 | orbit.sendgo.messages.* | sendgo.campaigns |
| AlimTalk 캠페인 | orbit.sendgo.notices.* | sendgo.campaigns |
| FriendTalk 캠페인 | orbit.sendgo.friends.* | sendgo.campaigns |
| SMS 발신번호 | orbit.sendgo.senders.index | sendgo.senders |
| Kakao 프로필 | orbit.sendgo.kakao-senders.index | sendgo.senders |
| AlimTalk 템플릿 | orbit.entities.sendgo-templates.* | Entity 권한 |
Artisan 명령
# AlimTalk 템플릿을 SendGo API에서 로컬 DB로 동기화php artisan sendgo:sync-templates# auth_sendgo.* 설정 키를 sendgo.* 로 마이그레이션php artisan sendgo:migrate-config데이터베이스
php artisan migrate 실행 시 sendgo_templates 테이블이 생성됩니다.
SendGo API에서 동기화한 AlimTalk 템플릿 메타데이터(코드, 제목, 상태, 변수 등)를 로컬에 캐시하여, API 호출 없이 관리자 화면에서 빠르게 조회할 수 있습니다.
업데이트 노트
4.0.4
-
프런트 매니페스트 추가:
resources/orbit/frontend.json을 제공해orbit:frontend-sync가@cms-orbit/sendgoVite alias를 자동 관리하도록 했습니다.이전에는 매니페스트가 없어, 순정 호스트에서
orbit:frontend-sync실행 시 sendgo alias가 누락되어 아래와 같은 빌드 오류가 발생했습니다.Rolldown failed to resolve import "@cms-orbit/sendgo"
라이선스
MIT