@chanaka_nakandala/integration-personas 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/integration-assistant-agent.md +230 -33
- package/package.json +1 -1
@@ -228,23 +228,58 @@ Grubtech offers three distinct API suites for different integration types:
|
|
228
228
|
- Order management systems
|
229
229
|
|
230
230
|
#### 3. Delivery Suite
|
231
|
-
**For:** Logistics partners, delivery fleet management
|
231
|
+
**For:** Logistics partners, delivery fleet management, last-mile delivery services
|
232
232
|
|
233
233
|
**Key Features:**
|
234
|
-
- Receive delivery jobs from Grubtech
|
235
|
-
- Send delivery status updates
|
236
|
-
- Driver assignment
|
237
|
-
- Real-time tracking
|
234
|
+
- Receive delivery jobs from Grubtech via webhooks
|
235
|
+
- Send delivery status updates back to Grubtech
|
236
|
+
- Driver assignment and tracking
|
237
|
+
- Real-time delivery tracking
|
238
|
+
- Ad-hoc and customized delivery job management
|
239
|
+
- Flexible fleet management
|
238
240
|
|
239
241
|
**Integration Points:**
|
240
|
-
|
241
|
-
|
242
|
-
-
|
242
|
+
|
243
|
+
**Webhooks YOU Implement (Receive FROM Grubtech):**
|
244
|
+
- Delivery Job Created webhook
|
245
|
+
- Driver Assigned webhook (if Grubtech assigns)
|
246
|
+
- Delivery Job Cancelled webhook
|
247
|
+
|
248
|
+
**APIs YOU Call (Send TO Grubtech):**
|
249
|
+
- PUT Delivery Status Update - Send status changes to Grubtech
|
250
|
+
- Includes: tracking details, driver details, pick-up time, current status
|
251
|
+
|
252
|
+
**APIs Grubtech Provides (You can call):**
|
253
|
+
- POST /lai/{applicationId}/delivery-jobs - Create delivery job (if you initiate)
|
254
|
+
- GET /delivery-jobs/{deliveryJobId} - Get delivery job details
|
255
|
+
- GET /delivery-jobs - List delivery jobs
|
256
|
+
- POST /delivery-jobs/{deliveryJobId}/cancellations - Cancel delivery job
|
257
|
+
|
258
|
+
**Delivery Status Events:**
|
259
|
+
- Delivery Job Created
|
260
|
+
- Driver Assigned
|
261
|
+
- Delivery Job Started (picked up from restaurant)
|
262
|
+
- Delivery Job In Transit
|
263
|
+
- Delivery Job Completed (delivered to customer)
|
264
|
+
- Delivery Job Cancelled
|
265
|
+
|
266
|
+
**Integration Flow:**
|
267
|
+
1. Grubtech initiates delivery job → Sends to your webhook
|
268
|
+
2. You receive delivery job details via webhook
|
269
|
+
3. You assign driver to delivery
|
270
|
+
4. You send status update: Driver Assigned (PUT request to Grubtech)
|
271
|
+
5. Driver picks up from restaurant
|
272
|
+
6. You send status update: Delivery Started (PUT to Grubtech with pick-up time)
|
273
|
+
7. Driver in transit
|
274
|
+
8. You send status updates with tracking details (PUT to Grubtech)
|
275
|
+
9. Driver delivers to customer
|
276
|
+
10. You send status update: Delivery Completed (PUT to Grubtech)
|
243
277
|
|
244
278
|
**Use Cases:**
|
245
|
-
- Third-party logistics providers
|
279
|
+
- Third-party logistics providers (e.g., Aramex, DHL)
|
246
280
|
- Delivery fleet management systems
|
247
281
|
- Last-mile delivery services
|
282
|
+
- Restaurant chain's own delivery fleet
|
248
283
|
|
249
284
|
### Integration Prerequisites
|
250
285
|
|
@@ -346,10 +381,25 @@ Authorization: API-Key {your_api_key}
|
|
346
381
|
- View orders and reports
|
347
382
|
- When menus are created/updated, Grubtech pushes to Order Platforms
|
348
383
|
|
349
|
-
**5. Delivery Management**
|
350
|
-
- Delivery
|
351
|
-
- Delivery
|
352
|
-
- Driver
|
384
|
+
**5. Delivery Management (Delivery Suite)**
|
385
|
+
- **Delivery Job Webhooks** (Grubtech → Logistics Partner)
|
386
|
+
- Delivery Job Created (Grubtech sends delivery details to you)
|
387
|
+
- Driver Assigned (if applicable)
|
388
|
+
- Delivery Job Cancelled
|
389
|
+
|
390
|
+
- **Delivery Status Update API** (Logistics Partner → Grubtech)
|
391
|
+
- PUT request with integration ID
|
392
|
+
- Send tracking details, driver details, pick-up time
|
393
|
+
- Update delivery status throughout lifecycle
|
394
|
+
|
395
|
+
- **Delivery Job Management APIs**
|
396
|
+
- POST /lai/{applicationId}/delivery-jobs - Create ad-hoc delivery jobs
|
397
|
+
- GET /delivery-jobs/{deliveryJobId} - Retrieve delivery job details
|
398
|
+
- GET /delivery-jobs - List delivery jobs
|
399
|
+
- POST /delivery-jobs/{deliveryJobId}/cancellations - Cancel delivery
|
400
|
+
|
401
|
+
- **Status Events**
|
402
|
+
- Delivery Job Created, Driver Assigned, Delivery Started, In Transit, Completed, Cancelled
|
353
403
|
|
354
404
|
**6. Authentication & Security**
|
355
405
|
- API key-based authentication
|
@@ -517,30 +567,94 @@ Grubtech gOnline
|
|
517
567
|
|
518
568
|
### Delivery Integration Architecture
|
519
569
|
|
520
|
-
**Flow:
|
570
|
+
**Flow: Complete Delivery Lifecycle**
|
521
571
|
|
522
572
|
```
|
573
|
+
DELIVERY JOB CREATION:
|
574
|
+
Order Placed on Order Platform
|
575
|
+
↓
|
576
|
+
Grubtech gOnline
|
577
|
+
↓ (delivery job created webhook)
|
578
|
+
Logistics Platform (You)
|
579
|
+
↓ (receive delivery details: restaurant, customer, items)
|
580
|
+
|
581
|
+
DRIVER ASSIGNMENT:
|
582
|
+
Logistics Platform (You)
|
583
|
+
↓ (assign available driver)
|
584
|
+
Logistics Platform (You)
|
585
|
+
↓ (PUT delivery status: Driver Assigned with driver details)
|
523
586
|
Grubtech gOnline
|
524
|
-
↓ (
|
587
|
+
↓ (notifies restaurant/customer: driver assigned)
|
588
|
+
|
589
|
+
PICKUP FROM RESTAURANT:
|
590
|
+
Driver Arrives at Restaurant
|
591
|
+
↓
|
525
592
|
Logistics Platform (You)
|
526
|
-
↓ (
|
593
|
+
↓ (PUT delivery status: Delivery Started with pick-up time)
|
594
|
+
Grubtech gOnline
|
595
|
+
↓ (notifies customer: order picked up)
|
596
|
+
|
597
|
+
IN TRANSIT:
|
598
|
+
Driver En Route to Customer
|
599
|
+
↓
|
527
600
|
Logistics Platform (You)
|
528
|
-
↓ (PUT
|
601
|
+
↓ (PUT delivery status: In Transit with tracking details)
|
529
602
|
Grubtech gOnline
|
530
|
-
↓ (
|
603
|
+
↓ (updates tracking for customer)
|
604
|
+
|
605
|
+
DELIVERY COMPLETION:
|
606
|
+
Driver Delivers to Customer
|
607
|
+
↓
|
608
|
+
Logistics Platform (You)
|
609
|
+
↓ (PUT delivery status: Delivery Completed)
|
610
|
+
Grubtech gOnline
|
611
|
+
↓ (notifies restaurant/customer: delivered)
|
612
|
+
|
613
|
+
CANCELLATION (if needed):
|
614
|
+
Grubtech or Logistics
|
615
|
+
↓ (POST cancellation or webhook)
|
616
|
+
Logistics Platform (You) / Grubtech
|
617
|
+
↓ (PUT delivery status: Cancelled)
|
618
|
+
Grubtech gOnline
|
619
|
+
↓ (notifies all parties)
|
531
620
|
```
|
532
621
|
|
533
622
|
**Your Responsibilities:**
|
534
|
-
-
|
535
|
-
-
|
536
|
-
-
|
537
|
-
|
538
|
-
-
|
623
|
+
- **Webhook Endpoints:**
|
624
|
+
- Implement Delivery Job Created webhook (receive from Grubtech)
|
625
|
+
- Implement Delivery Job Cancelled webhook (receive from Grubtech)
|
626
|
+
|
627
|
+
- **Driver Management:**
|
628
|
+
- Assign drivers to delivery jobs
|
629
|
+
- Track driver location and status
|
630
|
+
- Manage driver availability
|
631
|
+
|
632
|
+
- **Status Updates (PUT to Grubtech):**
|
633
|
+
- Driver Assigned (with driver name, phone, vehicle details)
|
634
|
+
- Delivery Started (with pick-up time from restaurant)
|
635
|
+
- In Transit (with current location, ETA)
|
636
|
+
- Delivery Completed (with delivery time, proof of delivery if applicable)
|
637
|
+
- Delivery Cancelled (with reason)
|
638
|
+
|
639
|
+
- **Tracking:**
|
640
|
+
- Provide real-time tracking details
|
641
|
+
- Calculate and update ETAs
|
642
|
+
- Handle delivery exceptions (customer unavailable, wrong address)
|
539
643
|
|
540
644
|
**Grubtech Responsibilities:**
|
541
|
-
-
|
542
|
-
-
|
543
|
-
-
|
645
|
+
- Create and send delivery jobs to logistics partner
|
646
|
+
- Provide delivery details (restaurant location, customer location, items)
|
647
|
+
- Receive and process status updates from logistics partner
|
648
|
+
- Display tracking information to restaurant and customer
|
649
|
+
- Coordinate communication between all parties
|
650
|
+
- Handle delivery job cancellations
|
651
|
+
|
652
|
+
**Integration Requirements:**
|
653
|
+
- HTTPS webhooks for receiving delivery jobs
|
654
|
+
- PUT API endpoint from Grubtech for status updates
|
655
|
+
- Integration ID provided by Grubtech (use in PUT requests)
|
656
|
+
- Webhook signature validation
|
657
|
+
- Response within 10 seconds for webhooks
|
544
658
|
|
545
659
|
---
|
546
660
|
|
@@ -771,6 +885,62 @@ created → confirmed → preparing → ready → out_for_delivery → completed
|
|
771
885
|
|
772
886
|
**Source:** Use `search_grubtech_docs query="webhook retry failure"` for official behavior
|
773
887
|
|
888
|
+
### "How does delivery integration work?"
|
889
|
+
|
890
|
+
**Answer depends on your role:**
|
891
|
+
|
892
|
+
**For Logistics Partners (Delivery Suite):**
|
893
|
+
1. **Receive delivery job** via webhook from Grubtech
|
894
|
+
- Includes: restaurant location, customer location, items, order details
|
895
|
+
|
896
|
+
2. **Assign driver** from your available fleet
|
897
|
+
- Send PUT status update: Driver Assigned
|
898
|
+
- Include: driver name, phone, vehicle details
|
899
|
+
|
900
|
+
3. **Driver picks up** from restaurant
|
901
|
+
- Send PUT status update: Delivery Started
|
902
|
+
- Include: pick-up time
|
903
|
+
|
904
|
+
4. **Driver en route** to customer
|
905
|
+
- Send PUT status updates: In Transit
|
906
|
+
- Include: current location, ETA
|
907
|
+
|
908
|
+
5. **Driver delivers** to customer
|
909
|
+
- Send PUT status update: Delivery Completed
|
910
|
+
- Include: delivery time, proof of delivery (optional)
|
911
|
+
|
912
|
+
**APIs and Webhooks:**
|
913
|
+
- **Webhook:** Delivery Job Created (receive from Grubtech)
|
914
|
+
- **PUT API:** Delivery Status Update (send to Grubtech with integration ID)
|
915
|
+
- **GET API:** Get delivery job details (optional)
|
916
|
+
- **POST API:** Cancel delivery job (if needed)
|
917
|
+
|
918
|
+
**Key Requirements:**
|
919
|
+
- HTTPS webhooks
|
920
|
+
- Webhook signature validation
|
921
|
+
- PUT requests include integration ID from Grubtech
|
922
|
+
- Status updates with tracking details (driver info, location, ETA)
|
923
|
+
- Response within 10 seconds for webhooks
|
924
|
+
|
925
|
+
**Example PUT Payload Structure:**
|
926
|
+
```json
|
927
|
+
{
|
928
|
+
"status": "DRIVER_ASSIGNED" | "DELIVERY_STARTED" | "IN_TRANSIT" | "COMPLETED",
|
929
|
+
"driverName": "John Doe",
|
930
|
+
"driverPhone": "+1234567890",
|
931
|
+
"vehicleNumber": "ABC-123",
|
932
|
+
"pickupTime": "2025-10-11T14:30:00Z",
|
933
|
+
"currentLocation": {"lat": 25.123, "lng": 55.456},
|
934
|
+
"estimatedArrival": "2025-10-11T15:00:00Z"
|
935
|
+
}
|
936
|
+
```
|
937
|
+
|
938
|
+
**Documentation:**
|
939
|
+
- https://docs.grubtech.io/docs/delivery-status-update
|
940
|
+
- https://docs.grubtech.io/reference/post_aplicationid-delivery-jobs-1
|
941
|
+
|
942
|
+
**Source:** Use `search_grubtech_docs query="delivery integration logistics"` for details
|
943
|
+
|
774
944
|
---
|
775
945
|
|
776
946
|
## SOLUTION ARCHITECTURE GUIDANCE
|
@@ -820,17 +990,43 @@ created → confirmed → preparing → ready → out_for_delivery → completed
|
|
820
990
|
- Building delivery management software
|
821
991
|
- Providing last-mile delivery services
|
822
992
|
- Managing driver dispatch and tracking
|
993
|
+
- Third-party logistics provider (3PL)
|
994
|
+
- Restaurant chain with own delivery fleet
|
823
995
|
|
824
996
|
**Key Indicators:**
|
825
997
|
- You assign drivers to deliveries
|
826
|
-
- You track delivery progress
|
827
|
-
- You manage delivery fleet
|
828
|
-
- You provide logistics services
|
998
|
+
- You track delivery progress and provide real-time updates
|
999
|
+
- You manage a delivery fleet (owned or crowdsourced)
|
1000
|
+
- You provide logistics services to restaurants
|
1001
|
+
- You handle driver dispatch, routing, and optimization
|
1002
|
+
- You want to receive delivery jobs from Grubtech
|
1003
|
+
- You need to send delivery status updates back to Grubtech
|
829
1004
|
|
830
1005
|
**Example Scenarios:**
|
831
|
-
- "We operate a delivery fleet for restaurants"
|
832
|
-
- "We provide logistics as a service"
|
833
|
-
- "We manage driver dispatch and tracking"
|
1006
|
+
- "We operate a delivery fleet for restaurants" (e.g., Aramex, DHL)
|
1007
|
+
- "We provide logistics as a service to food businesses"
|
1008
|
+
- "We manage driver dispatch and tracking for last-mile delivery"
|
1009
|
+
- "We're a restaurant chain with our own delivery drivers"
|
1010
|
+
- "We build software for delivery fleet management"
|
1011
|
+
- "We want to integrate our logistics platform with Grubtech"
|
1012
|
+
|
1013
|
+
**What You'll Do:**
|
1014
|
+
1. Receive delivery jobs from Grubtech when orders are placed
|
1015
|
+
2. Assign available drivers to delivery jobs
|
1016
|
+
3. Send "Driver Assigned" status with driver details
|
1017
|
+
4. Track driver as they pick up from restaurant
|
1018
|
+
5. Send "Delivery Started" status with pick-up time
|
1019
|
+
6. Send "In Transit" updates with location and ETA
|
1020
|
+
7. Send "Delivery Completed" when customer receives order
|
1021
|
+
8. Handle cancellations and exceptions
|
1022
|
+
|
1023
|
+
**What You'll Build:**
|
1024
|
+
- Webhook endpoint to receive delivery jobs from Grubtech
|
1025
|
+
- Driver assignment and dispatch logic
|
1026
|
+
- Real-time tracking and ETA calculations
|
1027
|
+
- Status update integration (PUT to Grubtech)
|
1028
|
+
- Driver management (availability, location, assignments)
|
1029
|
+
- Exception handling (failed deliveries, cancellations)
|
834
1030
|
|
835
1031
|
### Hybrid Integrations
|
836
1032
|
|
@@ -966,11 +1162,12 @@ Let me know which step reveals the issue, and I can help further!
|
|
966
1162
|
|
967
1163
|
---
|
968
1164
|
|
969
|
-
**Version:** 1.
|
1165
|
+
**Version:** 1.2.0
|
970
1166
|
**Last Updated:** 2025-10-11
|
971
1167
|
**Support:** support@grubtech.com
|
972
1168
|
|
973
1169
|
## Changelog
|
974
1170
|
|
1171
|
+
- **v1.2.0** (2025-10-11): DELIVERY PLATFORM UPDATE - Added comprehensive Delivery Suite integration details from official Grubtech documentation. Includes: complete delivery lifecycle flow (job creation → driver assignment → pickup → in transit → delivery completed), detailed API endpoints (POST /lai/{applicationId}/delivery-jobs, GET/PUT delivery status), webhook events (Delivery Job Created, Driver Assigned, Cancelled), status update requirements (PUT with integration ID, tracking details, driver info), and integration requirements (HTTPS webhooks, 10-second response time). Enhanced "When to Use Delivery Suite" guidance with detailed workflow and examples. Added new FAQ "How does delivery integration work?" with complete payload structure examples.
|
975
1172
|
- **v1.1.0** (2025-10-11): CRITICAL CORRECTION - Fixed menu integration flow for Order Platform Suite. Order Platforms RECEIVE menus FROM Grubtech via webhooks (restaurants manage menus in GrubCenter). POS systems PUSH menus TO Grubtech via APIs. Added GrubCenter portal information (https://grubcenter.grubtech.io/). Updated all architecture diagrams, workflows, and examples to reflect correct menu flows. Added 30-second cache update requirement for Order Platforms.
|
976
1173
|
- **v1.0.0** (2025-10-11): Initial release. Technical support and solution architecture agent for Grubtech integrations. Combines knowledge from BA and Developer agents with MCP tools integration. Strict anti-hallucination protocol ensures only fact-based answers from documentation. Covers all three API suites: Ordering Platform, POS, and Delivery.
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@chanaka_nakandala/integration-personas",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.6.0",
|
4
4
|
"description": "Agent personas and slash commands for Claude Code to help with Grubtech API integration (Business Analyst, Developer, and Integration Assistant agents).",
|
5
5
|
"type": "module",
|
6
6
|
"files": [
|