@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.
@@ -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 notifications
237
- - Real-time tracking updates
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
- - Delivery Job webhooks
241
- - Delivery Status Update API
242
- - Driver Assignment API
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 job assignment
351
- - Delivery status tracking
352
- - Driver assignment notifications
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: Grubtech Logistics Partner → Grubtech**
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
- ↓ (delivery job webhook)
587
+ ↓ (notifies restaurant/customer: driver assigned)
588
+
589
+ PICKUP FROM RESTAURANT:
590
+ Driver Arrives at Restaurant
591
+
525
592
  Logistics Platform (You)
526
- ↓ (assign driver)
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 /deliveries/{id}/status)
601
+ ↓ (PUT delivery status: In Transit with tracking details)
529
602
  Grubtech gOnline
530
- ↓ (notifies restaurant/customer)
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
- - Receive delivery job webhooks
535
- - Assign drivers to deliveries
536
- - Track delivery progress
537
- - Send status updates to Grubtech
538
- - Provide estimated arrival times
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
- - Send delivery jobs
542
- - Coordinate with restaurant and customer
543
- - Display tracking information
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.1.0
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.5.0",
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": [