@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.
- package/integration-assistant-agent.md +190 -67
- package/package.json +1 -1
@@ -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
|
-
-
|
172
|
-
-
|
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
|
178
|
-
-
|
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
|
-
-
|
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 (
|
196
|
-
- Order Status Update API (
|
197
|
-
- Menu Upload
|
198
|
-
-
|
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 (
|
290
|
-
|
291
|
-
|
292
|
-
-
|
293
|
-
-
|
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
|
-
-
|
302
|
-
-
|
303
|
-
-
|
304
|
-
-
|
305
|
-
-
|
306
|
-
|
307
|
-
|
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
|
-
**
|
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
|
-
-
|
323
|
-
-
|
324
|
-
-
|
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
|
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.
|
330
|
-
3.
|
331
|
-
4.
|
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:
|
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
|
-
-
|
377
|
-
-
|
378
|
-
-
|
379
|
-
-
|
380
|
-
-
|
381
|
-
-
|
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:
|
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
|
-
-
|
409
|
-
-
|
410
|
-
-
|
411
|
-
- Update
|
412
|
-
|
413
|
-
-
|
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
|
-
-
|
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
|
-
|
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
|
-
-
|
473
|
-
-
|
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
|
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
|
-
**
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
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
|
-
**
|
558
|
-
- There is NO `GET /v1/menus` endpoint
|
559
|
-
-
|
560
|
-
-
|
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
|
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.
|
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.
|
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": [
|