AUV 智能取餐柜 Java SDK
Java SDK for AUV Smart Locker API. Maven + JDK 8 + Apache HttpClient 4.5 + Jackson.
Quick Start
AuvClient client = AuvClient.builder()
.appId("66666")
.secretKey("mySecret")
.build();
// 存取业务 API
CreateOrderResponse resp = client.storage().createOrder(request);
// 辅助功能 API
DeviceStatusResponse status = client.aux().queryDeviceStatus(request);
client.close();
Project Structure
auv-locker-sdk/
├── src/main/java/com/auv/locker/
│ ├── AuvClient.java # Unified entry point
│ ├── config/
│ │ ├── AuvConfig.java # Configuration (appId, secretKey, timeouts)
│ │ └── GatewayType.java # Gateway enum (STORAGE / AUX)
│ ├── http/
│ │ ├── AuvHttpClient.java # Apache HttpClient wrapper
│ │ └── HmacMD5Util.java # HmacMD5 signature utility
│ ├── model/
│ │ ├── common/ # AuvRequest, AuvResponse
│ │ ├── storage/ # Storage API request/response models (11 pairs)
│ │ └── aux/ # Aux API request/response models
│ └── service/
│ ├── StorageApiService.java # Storage API interface (11 endpoints)
│ ├── StorageApiServiceImpl.java
│ ├── AuxApiService.java # Aux API interface (4 endpoints)
│ └── AuxApiServiceImpl.java
└── src/test/java/com/auv/locker/
├── HmacMD5UtilTest.java # Signature tests
└── AuvClientTest.java # Builder & config tests
API Overview
Storage API (11 endpoints)
| method | Description |
|---|---|
createOrder |
Create storage order |
addCell |
Add cell to existing order |
cancelOrder |
Cancel storage order |
createPreOrder |
Create pre-order |
changePreorderToFormal |
Convert pre-order to formal |
takeByOrder |
Take by order ID |
takeByCode |
Take by pickup code |
reOpenDoor |
Re-open door (within 60s of order) |
getDeviceInfo |
Get device info |
getCellList |
Get cell list |
getOrderList |
Query orders (paginated) |
Aux API (4 endpoints)
| method | Description |
|---|---|
device.cell.op |
Single cell operation |
device.cells.ops |
Batch cell operations (Android only) |
device.status.query |
Query device status & cell details |
device.list.query |
Paginated device list |
Gateway URLs
| API | HTTP | HTTPS |
|---|---|---|
| Storage | http://plat.58auv.com/OpenApi |
https://plat.58auv.com/OpenApi |
| Aux | http://openapi.58auv.com/gateway.do |
https://openapi.58auv.com/gateway.do |
Success Codes
- Storage API:
code == 10000 - Aux API:
code == 1 && success == true
Error Codes
| Code | Description |
|---|---|
| 10000 / 1 | Success |
| 10010 | Missing parameters |
| 10011 | bizData parameter error |
| 10012 | Device not exists / offline |
| 10013 | Order already exists |
| 10014 | No available cell |
| 10015 | Invalid order |
| 10016 | Unsupported operation |
| 10020 | Signature error |
| 10021 | Duplicate pickup code, use takeByOrder |
| 10027 | Please complete previous order first |
| 10029 | Non-existent cell |
| 10030 | Same request in progress |
| 30002 | Cell allocation failed |
Signature Algorithm (HmacMD5)
- Collect all request parameters (except
digest) - Sort keys by ASCII order, join with
&askey=valuepairs - Compute HmacMD5 with
secretKey - URL-encode
bizDatabefore sending
Notifications (Callbacks)
| notifyType | Source | Description |
|---|---|---|
orderCompleted |
Storage API | Order completed |
orderCancel |
Storage API | Order cancelled |
cell_status_sync |
Aux API | Cell status change |
device_status_sync |
Aux API | Device online/offline |
Description
Languages
Java
100%