케이스 요약
본 프로젝트는 앱시트를 통해 매출과 거래처를 관리하는 클라이언트의 업무 환경을 글로벌 CRM인 세일즈포스와 실시간으로 연동한 시스템 통합 사례입니다.
앱시트의 봇(Automation)과 구글 앱스 스크립트(GAS)를 활용하여 매출, 거래처, 품목 데이터를 세일즈포스로 실시간 전송하고, 반대로 세일즈포스에서 발생하는 신규 정보 역시 API로 앱시트로 수신되는 양방향 파이프라인을 구축했습니다.
클라이언트 소개
2006년 설립된 (주)비에이는 산업용·농업용 특수 타이어 전문 유통업체입니다. 전국 물류창고와 공장 등 산업 현장에 최적화된 타이어를 공급하며 꾸준히 성장하고 있는 강소기업으로, 오토오피스와는 2020년부터 디지털 전환 파트너로서 협력해오고 있습니다.
개발 니즈 및 목표
(주)비에이는 앱시트 도입 후 현장의 빠른 입력 속도와 유연한 인터페이스에 크게 만족했습니다. 이에 더해 전사적 영업 관리 및 고도화된 보고 기능이 강점인 세일즈포스를 결합하기를 원하셨습니다.
그렇게 하려면 독립적인 두 서비스를 연동하는 작업이 필요했습니다. 앱시트에 입력한 거래처, 품목, 매출 데이터가 세일즈포스에도 즉시 반영되어야 했고, 세일즈포스에서 업데이트한 정보도 앱시트에 바로 반영될 수 있도록 API를 만들어야 했습니다.
•
목표 1: 앱시트와 세일즈포스 어느 쪽에서 데이터를 입력하든 즉시 동기화시킬 수 있는 API 구축.
•
목표 2: 세일즈포스의 고정 IP 보안 정책을 충족하는 안정적인 통신 경로 설계.
적용 솔루션
가장 큰 과제는 앱시트와 세일즈포스 각각의 API를 만드는 것과 세일즈포스 API 호출시 고정 IP를 사용해야 하는 문제였습니다. 이를 해결하는 방향으로 솔루션을 기획하고 개발을 진행했습니다.
1.
앱시트 봇 (AppSheet Automation)을 활용한 데이터 변경 감지 및 트리거 구현
•
매출 정보, 거래처 정보, 품목 정보의 신규 추가나 수정이 발생할 때 이를 실시간으로 감지하는 봇을 설정했습니다. 데이터 성격에 따라 개별 봇을 생성하여 정교함을 높였으며, 이벤트 발생 즉시 구글 앱스 스크립트(GAS)를 호출하도록 구현했습니다.
2.
구글 앱스 스크립트(GAS) 기반의 API 개발 및 세일즈포스 API 연동
•
송신: 앱시트 봇으로부터 전달받은 로우 데이터를 세일즈포스 API 규격에 맞게 가공하여 전송하는 스크립트를 개발했습니다. 세일즈포스 API는 세일즈포스를 유지보수하는 개발사에서 만들어서 제공한 것을 사용하였습니다.
•
수신: 세일즈포스에서 발생하는 신규 거래처 정보를 앱시트에 입력하기 위해 앱스 스크립트로 API를 개발했습니다. doPost 함수를 구현하고 이를 웹 앱으로 배포하여 전용 API 엔드포인트를 생성했습니다. 이로 인해 세일즈포스에서 새로운 데이터를 전송하면, API가 이를 수신 후 구글 시트에 자동으로 기록할 수 있게 되었습니다.
3.
고정 IP 중계 서버(PHP)
•
세일즈포스의 API는 보안상 승인된 고정 IP에서만 접근을 허용합니다. 하지만 구글 클라우드 기반인 앱스 스크립트는 실행 IP가 매번 변경되는 문제가 있었습니다. 이를 해결하기 위해 고정 IP를 할당받은 PHP 기반 중계 서버를 구축하여 앱스 스크립트와 세일즈포스 사이에서 데이터 가교 역할을 수행하도록 설정했습니다. 이렇게 세일즈포스의 보안 정책을 충족하면서 데이터 송수신의 안정성을 확보할 수 있었습니다.




