본 가이드는 세콤(에스원) 출입 통제 시스템의 데이터를 샤플(Shopl)의 출퇴근 데이터로 자동 연동하기 위한 설정 방법을 안내합니다.
시작 전 확인 사항
📌설치된 세콤매니저 프로그램이 <세콤링크> 기능을 지원하지 않는 경우에는 연동이 어렵습니다.
📌Note!
세콤(에스원) 출입 통제 시스템 연동에는 샤플에서 발급해 드리는 DB 정보가 필요합니다.
연동을 희망하시는 경우 샤플 팀으로 문의해 주세요!
세콤(에스원) 출입 통제 시스템의 데이터를 샤플 DB로 전송하기 위한 통로를 만드는 과정입니다.
샤플 DB는 PostgreSQL 기반입니다. 세콤 서버 PC에 드라이버를 설치해 주세요.
1. Windows 시작 메뉴에서 [ODBC 데이터 원본(32비트)]를 찾아 실행합니다.
2. [시스템 DSN] 탭으로 이동합니다.
3. [추가] 버튼을 클릭합니다.
4. [새 데이터 원본 만들기] 에서 [PostgreSQL Unicode(x86)] 을 선택합니다.
5. PostgreSQL ANSI ODBC Driver (psqlODBC) Setup 창에서 아래 데이터를 입력합니다.
6. [Test] 버튼을 클릭해서 “Connection successful” 메시지가 나오면, [Save] 버튼을 클릭하여 저장합니다.

세콤매니저 프로그램에서 샤플 DB로 출퇴근 데이터를 전송해주는 설정입니다.
1. 세콤매니저 실행 후 상단 메뉴 [파일] → [ERP 설정] → [세콤링크] 메뉴를 클릭합니다.
2. Provider를 ODBC로 선택합니다.
3. /DSN/User/Password에 1.2단계에서 설정한 정보를 동일하게 입력합니다.
4. [접속확인] 버튼을 클릭하고, “접속성공” 메시지가 뜨는 걸 확인합니다.

1. [자동 전송설정] 우측의 [쿼리 관리] 버튼을 클릭하여 아래 두 가지 쿼리를 신규 등록합니다.

2. 보여지는 항목에 아래 정보를 입력하여 쿼리를 신규 등록합니다.
SELECT REPLACE(REPLACE(REPLACE(AlarmDateTime, '-', ''), ' ', ''), ':', '') AS ATime,
(CASE SUBSTR(Status, 1, 2) WHEN 'W-' THEN 1 WHEN 'FD' THEN 1 ELSE 0 END) AS ID,
EqCodeID,
Master,
(CASE SUBSTR(Status, 1, 2) WHEN 'W-' THEN 0 WHEN 'FD' THEN 1 END) AS Param,
(CASE IFNULL(ALARM.UpdateDate, 0) WHEN 0 THEN 0 ELSE 1 END) AS Ack,
(CASE IFNULL(ALARM.UpdateDate, 0) WHEN 0 THEN NULL ELSE UserID END) AS AckUser,
REPLACE(REPLACE(REPLACE(ALARM.UpdateDate, '-', ''), ' ', ''), ':', '') AS AckTime,
AckContent,
0 AS Transfer,
AckFlag AS AckMode,
(CASE WHEN ALARM.CardNo LIKE '20000000000000%' THEN ALARM.CardNo
WHEN LENGTH(ALARM.CardNo) = 18 THEN
(CASE SUBSTR(ALARM.CardNo, 1, 1)
WHEN '0' THEN UPPER(SUBSTR(ALARM.CardNo, 12, 4))
WHEN '1' THEN UPPER(SUBSTR(ALARM.CardNo, 12, 4))
ELSE ALARM.CardNo END)
ELSE ALARM.CardNo END) AS CardNo,
PERSON.Name AS Name,
SUBSTR(Status, 1, 1) AS `State`,
CAST(SUBSTR(Status, CASE SUBSTR(Status, 1, 1) WHEN 'W' THEN 3 ELSE 4 END, 1) AS INTEGER) AS Flag1,
CAST(SUBSTR(Status, CASE SUBSTR(Status, 1, 1) WHEN 'W' THEN 4 ELSE 5 END, 1) AS INTEGER) AS Flag2,
CAST(SUBSTR(Status, CASE SUBSTR(Status, 1, 1) WHEN 'W' THEN 5 ELSE 6 END, 1) AS INTEGER) AS Flag3,
CAST(SUBSTR(Status, CASE SUBSTR(Status, 1, 1) WHEN 'W' THEN 6 ELSE 7 END, 1) AS INTEGER) AS Flag4,
PERSON.Sabun as Sabun,
ALARM.UpdateDate AS Utime,
PERSON.PID AS PersonId
FROM ALARM
INNER JOIN PERSON ON ALARM.PID = PERSON.PID
OUTER LEFT JOIN EQUSER ON ALARM.UpdateID = EQUSER.EqUserID
WHERE ID = 1
INSERT INTO 샤플에서 발급 후 제공드리는 테이블명 입력
(event_datetime, terminal_id, ack_mode, ack_datetime, card_no, employee_id, employee_name,
employee_number, event_type, auth_type)
VALUES ('_VAR0_', '_VAR3_', '_VAR4_', '_VAR19_', (case when length('_VAR11_') <= 4 then LPAD(x'_VAR11_'::integer::text, 5, '0') else '_VAR11_' end), '_VAR20_', '_VAR12_', '_VAR18_', '_VAR14_',
'_VAR17_' );
3. 모두 입력하셨다면, [추가] 버튼을 클릭해서 쿼리를 추가하도록 합니다.
(정상적으로 추가되었다면, 좌측 쿼리 목록에 shopl_연동쿼리가 보여집니다.)
1. [닫기] 버튼을 클릭하여, [사용자 쿼리 관리] 창을 닫습니다.
2. [자동 전송설정] 에 보여지는 사용자 쿼리 목록 중 조금 전 추가하신 shopl_연동쿼리를 체크하고 [저장] 버튼을 클릭합니다.
3. 이후 세콤 데이터가 정상적으로 샤플 DB로 전송되면 [최종 전송 시간] 에 값이 업데이트 됩니다.

1. 모든 설정을 마친 후 [저장] 및 [닫기] 버튼을 클릭합니다.
2. 세콤 단말기에 태그를 했을 때 세콤매니저 상의 [최종 전송 시간]이 현재 시간으로 업데이트되는지 확인합니다.
3. 샤플 테크팀에서 데이터 수신 여부를 최종 확인한 후, 샤플 앱의 출퇴근 기록에 반영됩니다.
세콤 기술지원팀 연동 프로세스가 완료되었습니다!
📌Note!
세콤매니저 프로그램이 설치된 PC는 항상 전원이 켜져 있고 인터넷에 연결된 상태를 유지해주세요.
절전 모드에 빠지지 않도록 항상 전원 케이블을 연결하고, 시스템 설정에서 절전 모드로 빠지지 않도록 설정해주세요.

이제 샤플 운영 담당자(관리자)분께서 아래 단계를 진행해주시면 됩니다.
세콤 사용자와 샤플 사용자 연결을 위해 '사번' 설정이 필요합니다.
1. 세콤매니저 프로그램에서 [등록관리 > 사원관리] 메뉴 선택
2. 각 사용자 별로 [기본 정보 > 사원번호] 필드에 샤플 대시보드에 등록된 사번과 동일한 값을 입력하고 저장
📌사번이 일치하지 않을 경우 출퇴근 기록이 연동되지 않습니다.
세콤 단말기ID와 샤플 근무지 연결이 필요합니다.
예시) ‘0001’ 단말기에 출근 태깅하면, 샤플에 등록된 ‘ABC스토어 강남점’에 출근 기록 자동 연동
1. 세콤매니저 프로그램에서 [단말기] 메뉴 선택해서 단말기ID 확인
2. 링크를 통해 세콤단말기ID-샤플근무지매핑.xlsx 파일 다운로드 : ▶ 파일 다운로드하러 가기
3. Excel에 단말기ID를 나열하고, 샤플 대시보드에 등록된 근무지(=해당 단말기가 설치된 근무지) 명칭 입력
4. 해당 파일을 product@shoplworks.com 으로 전달
💡 주의사항 (FAQ)