엘피스 · 기존 홈페이지
- 불일치 행에 [통관정보 요청] 버튼 노출
- 엘피스 백엔드에서 우리 send API 호출
- 주문·수취인·주소 정보를 items로 전달
- 응답 token을 #{토큰} 변수에 넣어 알림톡 발송
- 운송장·수취인명·상품명 템플릿 변수 관리
엘피스가 셀러 화면·주문 데이터·솔라피 알림톡 발송을 맡고, 우리 서버가 토큰·수취인 화면·관세청 검증·결과 반영을 맡습니다. 알림톡은 한쪽, 엘피스에서만 발송합니다.
각자 가진 데이터와 권한 안에서 처리하고, 상대 시스템의 내부 DB에는 직접 접근하지 않습니다.
셀러의 클릭부터 결과 반영까지, 실제 실행 주체를 단계별로 표시했습니다.
버튼은 불일치 행에만 보이고, 여러 건은 items 배열로 한 번에 요청할 수 있습니다.
브라우저에서 직접 호출하지 않습니다. 신청서번호·수취인·우편번호·주소를 전달하고 운영 인증을 함께 보냅니다.
POST /openapi/pccc/send.php가 무작위 토큰을 저장하고 건별 결과를 반환합니다.
템플릿 버튼 URL은 https://pass.quickstar-cs.co.kr/pccc/?t=#{토큰}입니다. 운송장·이름·상품 변수도 엘피스 주문 데이터로 채웁니다.
우리 화면은 토큰으로 해당 건만 찾아 마스킹된 이름·신청서번호를 보여주며, P+숫자 12자리 형식을 검사합니다.
일치·불일치·관세청 오류를 구분하고 토큰 재사용·만료·시도 횟수를 통제합니다.
신청서 식별값과 검증 결과를 API로 전달합니다. 우리 서버는 엘피스 DB를 직접 수정하지 않습니다.
성공한 링크는 즉시 1회용 소멸되어 다시 열어도 제출할 수 없습니다.
알림톡 발송은 엘피스 내부 처리이므로 별도의 세 번째 시스템 간 호출이 아닙니다.
엘피스 백엔드가 items를 보내고 우리 서버가 건별 token/link를 반환합니다. 같은 응답을 받아 엘피스가 바로 솔라피 발송을 수행합니다.
수취인 입력과 UNIPASS 검증이 끝나면 우리 서버가 엘피스 제공 API에 일치/불일치 결과를 반영합니다.
필드명은 현재 구현과 동일한 recipient_* 이름으로 통일합니다.
POST https://pass.quickstar-cs.co.kr/openapi/pccc/send.php
Content-Type: application/json
[운영 인증 헤더]
{
"items": [{
"gr_code": "GR2607...",
"recipient_name": "홍길동",
"recipient_phone": "01012345678",
"recipient_zipcode": "06236",
"recipient_addr1": "서울 강남구 ...",
"recipient_addr2": "1층"
}]
}{
"ok": true,
"sent": [{
"gr_code": "GR2607...",
"ok": true,
"error": null,
"link": "https://pass.quickstar-cs.co.kr/pccc/?t=...",
"token": "..."
}]
}엘피스는 응답의 token 값을 카카오 템플릿 변수 #{토큰}에 넣습니다. 전체 URL이 필요한 구현에서는 같은 응답의 link를 사용할 수 있습니다.
API Key/HMAC 비밀값을 브라우저 JavaScript에 넣지 않습니다. 버튼은 엘피스 백엔드를 거칩니다.
우리 서버는 token/link만 반환합니다. live에서 우리 CoolSMS 발송 경로는 사용하지 않습니다.
X-Mock-Mb-Id는 명시적 전체 mock에서만 허용하고, 하나라도 live면 자동 거부합니다.
배치 전체 ok와 별개로 sent 배열의 각 항목 ok/error를 확인해 성공 건만 발송합니다.
token/link를 화면 로그·분석도구·오류 메시지에 불필요하게 기록하지 않습니다.
버튼 로딩 처리와 서버 멱등성 정책을 적용하고 최신 링크 하나만 사용합니다.