제로웍스 로봇서비스 개발 가이드

제로웍스 로봇이 비스캣 관제와 연동해야 할 인증·미션·메시징 규약을 제공합니다.

이 가이드 구성

아래 두 문서로 나뉩니다. 먼저 시나리오로 전체 흐름을 잡고, API 문서에서 채널·페이로드를 확인하세요.

1. 연동 개요

주문은 오토메타 커머스 앱 → 오토메타 커머스 백엔드 → 비스캣 관제 경로로 진입하고, 관제가 미션을 생성해 대기 큐에 적재합니다. 로봇 서비스는 mode → goal → mission 3계층으로 정의하며, 한 mission(고객 오더 단위)은 여러 goal에 걸칠 수 있습니다(픽업 goal + 하차 goal). 관제가 수행 가능한 후보 로봇에게 MQTT로 미션을 제시(입찰 요청)하면 로봇들이 goal별 예상 도착시간을 입찰하고, 관제가 최소 도착시간 기준으로 배차를 결정해 통보합니다. 단지 인프라(엘리베이터·로비폰) 제어는 관제가 처리하므로, 로봇은 단지 인프라를 직접 호출하지 않습니다.

2. 로봇(제로웍스)이 구현할 책임

구분책임채널
인증비밀키·인증서 발급 수신(REST), 인증서로 MQTT 연결REST
맵 등록UI 버튼으로 지도·노드를 siteId·제시 mapId 기준 업로드(등록 개시 → 업로드 URL에 PUT → commit)REST
미션 입찰입찰 요청(offer) 수신 → goal별 예상 도착시간 자체 계산해 입찰(bid) 회신 → 배차 결과(result) 수신MQTT
배송 가능여부 견적견적 질의(quote/offer, goals/set과 동일 본문) 수신 → goal별 수행 가능 여부·예상 도착시간(available·estArrival) 회신(quote/bid). 입찰과 달리 미션 미생성·낙찰 없음MQTT
goal 수행낙찰 goal을 arrivalOrder 순으로 수행, 진행 상태(ready/going/arrived·progress·estArrival) 발행MQTT
상태·알람상태/배터리/위치 발행(retain) — 도어 상태는 미션 컨텍스트(goal.mission[].door[])로 발행. 이상 시 알람(code·level·msg) 발행·리셋 수신MQTT
PIN 검증goal.mission[].PIN으로 로컬 검증 후 지정 도어 개방, 사용·검증 결과를 관제에 감사 이벤트로 보고MQTT
4칸 적재함관제가 goal.mission[].door로 지정한 칸을 열고/잠금 (칸 선택은 관제가 결정, 점주 임의 선택 불가)MQTT
비대면 상차 감지점주 상차 후 박스 닫힘(mission.door[].status=closed)을 감지·발행 → 이것이 배달 출발 트리거MQTT

3. 선결 조건·협의 항목

아래는 1.5차 결합 전 제로웍스와 확정해야 할 항목입니다. 확정 시 연동 API 문서의 해당 페이로드를 잠급니다.