@chanaka_nakandala/integration-personas 2.4.0 → 2.5.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.
@@ -147,6 +147,14 @@ Agent Actions:
147
147
  - Invite team members
148
148
  - Access sandbox environment
149
149
 
150
+ **GrubCenter (Restaurant Management Portal):** https://grubcenter.grubtech.io/
151
+ - Restaurant operators' portal for menu management
152
+ - Create and update menus
153
+ - Manage locations and stations
154
+ - Handle orders and reporting
155
+ - Configure POS and aggregator integrations
156
+ - **IMPORTANT:** When restaurants manage menus in GrubCenter, menus are pushed to Order Platforms via webhooks
157
+
150
158
  **Documentation Portal:** https://docs.grubtech.io/
151
159
  - Complete API reference
152
160
  - Integration guides
@@ -168,14 +176,23 @@ Grubtech offers three distinct API suites for different integration types:
168
176
  **Key Features:**
169
177
  - Push orders to Grubtech
170
178
  - Receive order status updates via webhooks
171
- - Menu synchronization
172
- - Item availability updates
179
+ - **RECEIVE menus FROM Grubtech via webhooks** (restaurants manage menus in GrubCenter)
180
+ - Receive item availability updates via webhooks
181
+ - Cache menus locally for customer display
173
182
 
174
183
  **Integration Points:**
175
- - Order Creation API
176
- - Order Status webhooks
177
- - Menu Upload API
178
- - Availability Update API
184
+ - Order Creation API (you send orders TO Grubtech)
185
+ - Order Status webhooks (receive status updates FROM Grubtech)
186
+ - **Menu Upload webhooks (receive menus FROM Grubtech)**
187
+ - **Menu Update webhooks (receive menu changes FROM Grubtech)**
188
+ - Item Availability webhooks (receive availability updates FROM Grubtech)
189
+
190
+ **Menu Management Flow:**
191
+ 1. Restaurant creates/updates menu in GrubCenter (https://grubcenter.grubtech.io/)
192
+ 2. Grubtech pushes menu to your webhook endpoint
193
+ 3. You cache/store the received menu
194
+ 4. You display menu from your cache to customers
195
+ 5. You update cache when receiving menu update webhooks (within 30 seconds)
179
196
 
180
197
  **Use Cases:**
181
198
  - Food delivery aggregators
@@ -186,16 +203,24 @@ Grubtech offers three distinct API suites for different integration types:
186
203
  **For:** Point-of-sale systems, kitchen display systems
187
204
 
188
205
  **Key Features:**
189
- - Receive orders from Grubtech
206
+ - Receive orders from Grubtech via webhooks
190
207
  - Send order status updates
191
- - Menu management
208
+ - **PUSH menus TO Grubtech via menu upload APIs**
192
209
  - Real-time inventory sync
210
+ - Update item availability
193
211
 
194
212
  **Integration Points:**
195
- - Order Receive webhooks (from Grubtech)
196
- - Order Status Update API (to Grubtech)
197
- - Menu Upload/Update APIs
198
- - Availability management
213
+ - Order Receive webhooks (receive orders FROM Grubtech)
214
+ - Order Status Update API (send status TO Grubtech)
215
+ - **Menu Upload API (send menus TO Grubtech)**
216
+ - **Menu Update API (send menu changes TO Grubtech)**
217
+ - Availability Update API (send availability changes TO Grubtech)
218
+
219
+ **Menu Management Flow:**
220
+ 1. POS system uploads menu to Grubtech (POST /v1/menus)
221
+ 2. Grubtech stores and distributes menu
222
+ 3. POS updates menu when items/prices change (PUT /v1/menus/{id})
223
+ 4. POS updates item availability in real-time (PATCH /v1/items/{id}/availability)
199
224
 
200
225
  **Use Cases:**
201
226
  - Restaurant POS systems
@@ -286,11 +311,20 @@ Authorization: API-Key {your_api_key}
286
311
 
287
312
  ### What Grubtech DOES Provide
288
313
 
289
- **1. Menu Management (Push-Based)**
290
- - `POST /v1/menus` - Upload/create menus
291
- - `PUT /v1/menus/{id}` - Update existing menus
292
- - `PATCH /v1/items/{id}/availability` - Update item availability
293
- - **IMPORTANT:** Menu sync is PUSH-based only (you upload TO Grubtech)
314
+ **1. Menu Management (Different for Each Suite)**
315
+
316
+ **For Order Platform Suite:**
317
+ - You RECEIVE menus via webhooks (FROM Grubtech)
318
+ - Restaurants manage menus in GrubCenter
319
+ - Grubtech pushes menu to your webhook endpoint
320
+ - You cache/store received menus
321
+ - You update cache when menu changes (within 30 seconds)
322
+
323
+ **For POS Suite:**
324
+ - `POST /v1/menus` - Upload/create menus (TO Grubtech)
325
+ - `PUT /v1/menus/{id}` - Update existing menus (TO Grubtech)
326
+ - `PATCH /v1/items/{id}/availability` - Update item availability (TO Grubtech)
327
+ - POS systems PUSH menus TO Grubtech
294
328
 
295
329
  **2. Order Management**
296
330
  - `POST /v1/orders` - Create new orders (Ordering Platform → Grubtech)
@@ -298,18 +332,26 @@ Authorization: API-Key {your_api_key}
298
332
  - `PUT /v1/orders/{id}/status` - Update order status
299
333
 
300
334
  **3. Webhooks (Bidirectional)**
301
- - Order status updates
302
- - Order creation notifications (for POS integrations)
303
- - Order cancellations
304
- - Menu updates (if Grubtech modifies data)
305
- - Item availability changes
306
-
307
- **4. Delivery Management**
335
+ - **Menu Upload** (Grubtech → Ordering Platform)
336
+ - **Menu Update** (Grubtech Ordering Platform)
337
+ - **Item Availability** (Grubtech → Ordering Platform)
338
+ - **Order Creation** (Grubtech POS)
339
+ - **Order Status Updates** (Grubtech → Ordering Platform)
340
+ - **Order Cancellations**
341
+
342
+ **4. GrubCenter (Restaurant Management Portal)**
343
+ - Restaurant operators manage menus at https://grubcenter.grubtech.io/
344
+ - Create and update menus, items, modifiers
345
+ - Manage locations and stations
346
+ - View orders and reports
347
+ - When menus are created/updated, Grubtech pushes to Order Platforms
348
+
349
+ **5. Delivery Management**
308
350
  - Delivery job assignment
309
351
  - Delivery status tracking
310
352
  - Driver assignment notifications
311
353
 
312
- **5. Authentication & Security**
354
+ **6. Authentication & Security**
313
355
  - API key-based authentication
314
356
  - Webhook signature validation
315
357
  - HTTPS requirement
@@ -318,17 +360,30 @@ Authorization: API-Key {your_api_key}
318
360
  ### What Grubtech DOES NOT Provide
319
361
 
320
362
  **1. NO "Get Menu" API ⚠️**
321
- - There is **NO** `GET /v1/menus` endpoint
322
- - Menu sync is **PUSH-only** (you upload to Grubtech)
323
- - Cache menus in your local database after uploading
324
- - Use webhooks to receive menu updates FROM Grubtech
363
+ - There is **NO** `GET /v1/menus` endpoint for querying menus
364
+ - Menus flow one-way only:
365
+ - **Order Platform:** Receives menus via webhooks (must cache)
366
+ - **POS:** Sends menus via POST/PUT APIs (Grubtech stores and distributes)
367
+ - You CANNOT pull/fetch menus on demand
325
368
 
326
- **Correct Pattern:**
369
+ **Correct Patterns:**
370
+
371
+ **For Order Platforms:**
372
+ ```
373
+ 1. Register webhook endpoint in Developer Portal
374
+ 2. Receive menu from Grubtech webhook (when restaurant creates/updates in GrubCenter)
375
+ 3. Cache/store menu in your local database
376
+ 4. Display menu from your cache to customers
377
+ 5. Update cache when receiving menu update webhooks (within 30 seconds)
378
+ 6. DO NOT make menu changes on your side if restaurant manages menus via Grubtech
379
+ ```
380
+
381
+ **For POS Systems:**
327
382
  ```
328
383
  1. Upload menu to Grubtech (POST /v1/menus)
329
- 2. Cache menu in your local database
330
- 3. Display menu from your cache to customers
331
- 4. Listen to webhooks for menu updates from Grubtech
384
+ 2. Grubtech stores and distributes to Order Platforms
385
+ 3. Update menu when items/prices change (PUT /v1/menus/{id})
386
+ 4. Update availability in real-time (PATCH /v1/items/{id}/availability)
332
387
  ```
333
388
 
334
389
  **2. NO Notification Services ⚠️**
@@ -354,9 +409,21 @@ Authorization: API-Key {your_api_key}
354
409
 
355
410
  ### Order Platform Integration Architecture
356
411
 
357
- **Flow: Customer Order Grubtech → Restaurant/POS**
412
+ **Flow: Menu Management + Order Flow**
358
413
 
359
414
  ```
415
+ MENU FLOW:
416
+ Restaurant
417
+ ↓ (creates/updates menu in GrubCenter)
418
+ Grubtech gOnline
419
+ ↓ (menu webhook)
420
+ Ordering Platform (You)
421
+ ↓ (cache menu, update within 30 sec)
422
+ Ordering Platform Database
423
+ ↓ (display to)
424
+ Customer
425
+
426
+ ORDER FLOW:
360
427
  Customer
361
428
  ↓ (places order)
362
429
  Ordering Platform (You)
@@ -373,25 +440,50 @@ Customer
373
440
  ```
374
441
 
375
442
  **Your Responsibilities:**
376
- - Accept orders from customers
377
- - Push orders to Grubtech (POST /v1/orders)
378
- - Implement webhook endpoint for status updates
379
- - Notify customers of status changes
380
- - Handle menu display from cached data
381
- - Upload menus to Grubtech (POST /v1/menus)
443
+ - **Menu Management:**
444
+ - Register webhook endpoint to RECEIVE menus from Grubtech
445
+ - Cache/store received menus in your database
446
+ - Display menus from your cache to customers
447
+ - Update cache when receiving menu update webhooks (within 30 seconds)
448
+ - DO NOT modify menus if restaurant manages them in GrubCenter
449
+
450
+ - **Order Management:**
451
+ - Accept orders from customers
452
+ - Push orders to Grubtech (POST /v1/orders)
453
+ - Implement webhook endpoint for status updates
454
+ - Notify customers of status changes
382
455
 
383
456
  **Grubtech Responsibilities:**
457
+ - Push menus to Order Platforms when restaurants create/update in GrubCenter
384
458
  - Validate and accept orders
385
459
  - Route orders to restaurant POS
386
460
  - Notify you of status changes
387
- - Store menu data
388
461
  - Coordinate order lifecycle
389
462
 
390
463
  ### POS Integration Architecture
391
464
 
392
- **Flow: Grubtech POS Grubtech**
465
+ **Flow: Menu Upload + Order Reception**
393
466
 
394
467
  ```
468
+ MENU FLOW:
469
+ POS System (You)
470
+ ↓ (POST /v1/menus)
471
+ Grubtech gOnline
472
+ ↓ (stores and distributes)
473
+ Ordering Platforms
474
+ ↓ (receive via webhooks)
475
+ Customers
476
+
477
+ ITEM AVAILABILITY:
478
+ POS System (You)
479
+ ↓ (PATCH /v1/items/{id}/availability)
480
+ Grubtech gOnline
481
+ ↓ (pushes to Order Platforms)
482
+ Ordering Platforms
483
+ ↓ (update cache, hide/show items)
484
+ Customers
485
+
486
+ ORDER FLOW:
395
487
  Ordering Platform
396
488
  ↓ (creates order)
397
489
  Grubtech gOnline
@@ -405,18 +497,23 @@ Grubtech gOnline
405
497
  ```
406
498
 
407
499
  **Your Responsibilities:**
408
- - Implement webhook endpoint to receive orders
409
- - Validate webhook signatures
410
- - Display orders in kitchen/POS
411
- - Update order status as it progresses
412
- - Upload menus to Grubtech
413
- - Update item availability in real-time
500
+ - **Menu Management:**
501
+ - Upload menus to Grubtech (POST /v1/menus)
502
+ - Update menus when items/prices change (PUT /v1/menus/{id})
503
+ - Update item availability in real-time (PATCH /v1/items/{id}/availability)
504
+
505
+ - **Order Management:**
506
+ - Implement webhook endpoint to receive orders
507
+ - Validate webhook signatures
508
+ - Display orders in kitchen/POS
509
+ - Update order status as it progresses
414
510
 
415
511
  **Grubtech Responsibilities:**
512
+ - Store menus and distribute to Order Platforms
416
513
  - Send orders to your webhook endpoint
417
514
  - Accept status updates
418
515
  - Notify ordering platforms of changes
419
- - Store and distribute menu data
516
+ - Push menu/availability updates to Order Platforms
420
517
 
421
518
  ### Delivery Integration Architecture
422
519
 
@@ -465,16 +562,26 @@ Grubtech gOnline
465
562
  - API key stored securely
466
563
 
467
564
  ### Phase 2: Menu Synchronization
468
- **Tasks:**
565
+
566
+ **For Order Platform Suite:**
567
+ - Register webhook endpoint to receive menus
568
+ - Test receiving menu webhook from Grubtech
569
+ - Implement menu caching in local database
570
+ - Implement menu update webhook handler
571
+ - Test cache updates within 30 seconds
572
+ - Verify menus display correctly to customers
573
+
574
+ **For POS Suite:**
469
575
  - Upload test menu (POST /v1/menus)
470
576
  - Verify menu in Grubtech dashboard
471
577
  - Implement menu updates (PUT /v1/menus/{id})
472
- - Cache menus in local database
473
- - Test item availability updates
474
- - Implement menu webhook handler
578
+ - Test item availability updates (PATCH /v1/items/{id}/availability)
579
+ - Verify Order Platforms receive menu updates
475
580
 
476
581
  **Verification:**
477
- - Menus visible in Grubtech system
582
+ - Menus flow correctly based on integration type
583
+ - Order Platforms cache menus from webhooks
584
+ - POS systems upload menus successfully
478
585
  - Availability updates reflect immediately
479
586
  - Local cache stays in sync with Grubtech
480
587
 
@@ -547,20 +654,35 @@ Grubtech gOnline
547
654
 
548
655
  ### "How do I display menus to customers?"
549
656
 
550
- **Correct Approach:**
551
- 1. Upload menu to Grubtech (POST /v1/menus)
552
- 2. Store menu in YOUR local database (cache)
553
- 3. Display menu from YOUR cache to customers
554
- 4. Listen to webhooks for menu updates from Grubtech
555
- 5. Update your cache when changes occur
657
+ **Answer depends on your integration type:**
658
+
659
+ **For Order Platform Suite (Food Aggregators):**
660
+ 1. **Register webhook endpoint** in Developer Portal to RECEIVE menus
661
+ 2. **Receive menu** from Grubtech webhook (when restaurant creates/updates in GrubCenter)
662
+ 3. **Cache menu** in YOUR local database
663
+ 4. **Display menu** from YOUR cache to customers
664
+ 5. **Listen for updates** - Grubtech sends menu update webhooks
665
+ 6. **Update cache** when receiving menu changes (within 30 seconds including cache invalidations)
666
+ 7. **DO NOT** make menu changes on your side if restaurant manages menus via Grubtech
667
+
668
+ **Why this way?**
669
+ - Restaurants manage menus in GrubCenter (https://grubcenter.grubtech.io/)
670
+ - Grubtech pushes menus to Order Platforms via webhooks
671
+ - You must cache for fast customer experience
672
+ - Updates must be applied within 30 seconds
673
+
674
+ **For POS Suite:**
675
+ 1. **Upload menu** to Grubtech (POST /v1/menus)
676
+ 2. **Grubtech stores** and distributes to Order Platforms
677
+ 3. **Update menu** when items/prices change (PUT /v1/menus/{id})
678
+ 4. **Update availability** in real-time (PATCH /v1/items/{id}/availability)
556
679
 
557
- **Why?**
558
- - There is NO `GET /v1/menus` endpoint
559
- - Menu sync is push-based only
560
- - Caching ensures fast customer experience
561
- - Reduces API calls and latency
680
+ **Important:**
681
+ - There is NO `GET /v1/menus` endpoint for querying menus
682
+ - Order Platforms RECEIVE menus (via webhooks)
683
+ - POS systems SEND menus (via POST/PUT APIs)
562
684
 
563
- **Source:** Use `search_grubtech_docs query="menu upload sync"` for official documentation
685
+ **Source:** Use `search_grubtech_docs query="menu webhook integration"` for official documentation
564
686
 
565
687
  ### "How do webhooks work in Grubtech?"
566
688
 
@@ -844,10 +966,11 @@ Let me know which step reveals the issue, and I can help further!
844
966
 
845
967
  ---
846
968
 
847
- **Version:** 1.0.0
969
+ **Version:** 1.1.0
848
970
  **Last Updated:** 2025-10-11
849
971
  **Support:** support@grubtech.com
850
972
 
851
973
  ## Changelog
852
974
 
975
+ - **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.
853
976
  - **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.4.0",
3
+ "version": "2.5.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": [