mcp-erp 1.0.6

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.
Files changed (4) hide show
  1. package/README.md +107 -0
  2. package/docs.md +1425 -0
  3. package/index.js +70 -0
  4. package/package.json +40 -0
package/docs.md ADDED
@@ -0,0 +1,1425 @@
1
+ ## ERSPO Shopify CMS Queries
2
+
3
+ ### 1. Header Navigation
4
+
5
+ **Query**:
6
+
7
+ ```graphql
8
+ query HEADER_NAVIGATION {
9
+ menu(handle: "main-menu") {
10
+ id
11
+ title
12
+ items {
13
+ type
14
+ title
15
+ items {
16
+ id
17
+ title
18
+ items {
19
+ id
20
+ title
21
+ resource {
22
+ ... on Collection {
23
+ handle
24
+ }
25
+ }
26
+ }
27
+ resource {
28
+ __typename
29
+ ... on Collection {
30
+ handle
31
+ }
32
+ }
33
+ }
34
+ }
35
+ itemsCount
36
+ }
37
+ }
38
+ ```
39
+
40
+ **Response**:
41
+
42
+ ```json
43
+ {
44
+ "data": {
45
+ "menu": {
46
+ "id": "gid://shopify/Menu/307302072625",
47
+ "title": "Main menu",
48
+ "items": [
49
+ {
50
+ "type": "FRONTPAGE",
51
+ "title": "New",
52
+ "items": [
53
+ {
54
+ "id": "gid://shopify/MenuItem/770176483633",
55
+ "title": "New Arrivals",
56
+ "items": [],
57
+ "resource": {
58
+ "__typename": "Collection",
59
+ "handle": "new-arrival"
60
+ }
61
+ },
62
+ {
63
+ "id": "gid://shopify/MenuItem/770682782001",
64
+ "title": "Bestsellers",
65
+ "items": [],
66
+ "resource": {
67
+ "__typename": "Collection",
68
+ "handle": "bestsellers"
69
+ }
70
+ },
71
+ {
72
+ "id": "gid://shopify/MenuItem/770682814769",
73
+ "title": "Sale",
74
+ "items": [],
75
+ "resource": {
76
+ "__typename": "Collection",
77
+ "handle": "sale"
78
+ }
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ "type": "COLLECTION",
84
+ "title": "Men",
85
+ "items": [
86
+ {
87
+ "id": "gid://shopify/MenuItem/770682847537",
88
+ "title": "Apparel",
89
+ "items": [
90
+ {
91
+ "id": "gid://shopify/MenuItem/770682945841",
92
+ "title": "T-Shirts",
93
+ "resource": {
94
+ "handle": "t-shirts"
95
+ }
96
+ },
97
+ {
98
+ "id": "gid://shopify/MenuItem/770683076913",
99
+ "title": "Jersey",
100
+ "resource": {
101
+ "handle": "jersey"
102
+ }
103
+ },
104
+ {
105
+ "id": "gid://shopify/MenuItem/770683109681",
106
+ "title": "Jackets",
107
+ "resource": {
108
+ "handle": "jackets"
109
+ }
110
+ }
111
+ ],
112
+ "resource": null
113
+ },
114
+ {
115
+ "id": "gid://shopify/MenuItem/770682880305",
116
+ "title": "Accessories",
117
+ "items": [
118
+ {
119
+ "id": "gid://shopify/MenuItem/770683339057",
120
+ "title": "Headwear",
121
+ "resource": {
122
+ "handle": "headwear"
123
+ }
124
+ },
125
+ {
126
+ "id": "gid://shopify/MenuItem/770683371825",
127
+ "title": "Bandana",
128
+ "resource": {
129
+ "handle": "bandana"
130
+ }
131
+ },
132
+ {
133
+ "id": "gid://shopify/MenuItem/770683404593",
134
+ "title": "Bags",
135
+ "resource": {
136
+ "handle": "bags"
137
+ }
138
+ }
139
+ ],
140
+ "resource": null
141
+ },
142
+ {
143
+ "id": "gid://shopify/MenuItem/770682913073",
144
+ "title": "Footwear",
145
+ "items": [
146
+ {
147
+ "id": "gid://shopify/MenuItem/770685468977",
148
+ "title": "Flight SP",
149
+ "resource": {
150
+ "handle": "flight-sp"
151
+ }
152
+ }
153
+ ],
154
+ "resource": null
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "type": "FRONTPAGE",
160
+ "title": "Shop By",
161
+ "items": [
162
+ {
163
+ "id": "gid://shopify/MenuItem/770683011377",
164
+ "title": "Activity",
165
+ "items": [
166
+ {
167
+ "id": "gid://shopify/MenuItem/770683470129",
168
+ "title": "Running",
169
+ "resource": {
170
+ "handle": "running"
171
+ }
172
+ },
173
+ {
174
+ "id": "gid://shopify/MenuItem/770683502897",
175
+ "title": "Training",
176
+ "resource": {
177
+ "handle": "training"
178
+ }
179
+ }
180
+ ],
181
+ "resource": null
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "type": "FRONTPAGE",
187
+ "title": "Collections",
188
+ "items": [
189
+ {
190
+ "id": "gid://shopify/MenuItem/770684125489",
191
+ "title": "Event",
192
+ "items": [
193
+ {
194
+ "id": "gid://shopify/MenuItem/770684027185",
195
+ "title": "JFW",
196
+ "resource": {
197
+ "handle": "jfw"
198
+ }
199
+ },
200
+ {
201
+ "id": "gid://shopify/MenuItem/770684387633",
202
+ "title": "Pocari Sweat",
203
+ "resource": {
204
+ "handle": "pocari-sweat"
205
+ }
206
+ }
207
+ ],
208
+ "resource": null
209
+ },
210
+ {
211
+ "id": "gid://shopify/MenuItem/770684420401",
212
+ "title": "Collaboration",
213
+ "items": [
214
+ {
215
+ "id": "gid://shopify/MenuItem/770684453169",
216
+ "title": "VR46",
217
+ "resource": {
218
+ "handle": "vr46"
219
+ }
220
+ },
221
+ {
222
+ "id": "gid://shopify/MenuItem/770684485937",
223
+ "title": "BYON",
224
+ "resource": {
225
+ "handle": "byon"
226
+ }
227
+ }
228
+ ],
229
+ "resource": null
230
+ }
231
+ ]
232
+ }
233
+ ],
234
+ "itemsCount": 4
235
+ }
236
+ },
237
+ "extensions": {
238
+ "cost": {
239
+ "requestedQueryCost": 7
240
+ }
241
+ }
242
+ }
243
+ ```
244
+
245
+ ### 2. Footer Navigation
246
+
247
+ **Query**:
248
+
249
+ ```graphql
250
+ query FOOTER_NAVIGATION {
251
+ menu(handle: "footer") {
252
+ title
253
+ items {
254
+ type
255
+ title
256
+ items {
257
+ id
258
+ title
259
+ items {
260
+ id
261
+ title
262
+ resource {
263
+ __typename
264
+ ... on Page {
265
+ handle
266
+ }
267
+ ... on Collection {
268
+ handle
269
+ }
270
+ }
271
+ }
272
+ resource {
273
+ __typename
274
+ ... on Page {
275
+ handle
276
+ }
277
+ ... on Collection {
278
+ handle
279
+ }
280
+ }
281
+ }
282
+ }
283
+ itemsCount
284
+ }
285
+ }
286
+ ```
287
+
288
+ **Response**:
289
+
290
+ ```json
291
+ {
292
+ "data": {
293
+ "menu": {
294
+ "title": "Footer menu",
295
+ "items": [
296
+ {
297
+ "type": "FRONTPAGE",
298
+ "title": "Apparel",
299
+ "items": [
300
+ {
301
+ "id": "gid://shopify/MenuItem/770916679985",
302
+ "title": "T-Shirt",
303
+ "items": [],
304
+ "resource": {
305
+ "__typename": "Collection",
306
+ "handle": "t-shirts"
307
+ }
308
+ },
309
+ {
310
+ "id": "gid://shopify/MenuItem/770916712753",
311
+ "title": "Jersey",
312
+ "items": [],
313
+ "resource": {
314
+ "__typename": "Collection",
315
+ "handle": "jersey"
316
+ }
317
+ },
318
+ {
319
+ "id": "gid://shopify/MenuItem/770916745521",
320
+ "title": "Jackets",
321
+ "items": [],
322
+ "resource": {
323
+ "__typename": "Collection",
324
+ "handle": "jackets"
325
+ }
326
+ },
327
+ {
328
+ "id": "gid://shopify/MenuItem/770916778289",
329
+ "title": "Hoodies",
330
+ "items": [],
331
+ "resource": {
332
+ "__typename": "Collection",
333
+ "handle": "hoodies"
334
+ }
335
+ }
336
+ ]
337
+ },
338
+ {
339
+ "type": "FRONTPAGE",
340
+ "title": "Discover",
341
+ "items": [
342
+ {
343
+ "id": "gid://shopify/MenuItem/770917400881",
344
+ "title": "About Us",
345
+ "items": [],
346
+ "resource": {
347
+ "__typename": "Page",
348
+ "handle": "about-us"
349
+ }
350
+ },
351
+ {
352
+ "id": "gid://shopify/MenuItem/770917171505",
353
+ "title": "The Story Behind",
354
+ "items": [],
355
+ "resource": {
356
+ "__typename": "Page",
357
+ "handle": "the-story-behind"
358
+ }
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ "type": "FRONTPAGE",
364
+ "title": "Support",
365
+ "items": [
366
+ {
367
+ "id": "gid://shopify/MenuItem/770917892401",
368
+ "title": "FAQ",
369
+ "items": [],
370
+ "resource": {
371
+ "__typename": "Page",
372
+ "handle": "faq"
373
+ }
374
+ },
375
+ {
376
+ "id": "gid://shopify/MenuItem/770917925169",
377
+ "title": "Contact Us",
378
+ "items": [],
379
+ "resource": {
380
+ "__typename": "Page",
381
+ "handle": "about-us"
382
+ }
383
+ },
384
+ {
385
+ "id": "gid://shopify/MenuItem/770917957937",
386
+ "title": "Our Store",
387
+ "items": [],
388
+ "resource": {
389
+ "__typename": "Page",
390
+ "handle": "our-store"
391
+ }
392
+ }
393
+ ]
394
+ }
395
+ ],
396
+ "itemsCount": 3
397
+ }
398
+ },
399
+ "extensions": {
400
+ "cost": {
401
+ "requestedQueryCost": 8
402
+ }
403
+ }
404
+ }
405
+ ```
406
+
407
+ ### 8. Blog / Article Detail
408
+
409
+ **URL Pattern**:
410
+
411
+ - Sample URL: `/our-story-behind/erspo-erspo-for-vr46`
412
+ - Pola: `/our-story-behind/<blogHandle>-<articleHandle>`
413
+ - `<blogHandle>`: `erspo`
414
+ - `<articleHandle>`: `erspo-for-vr46`
415
+
416
+ **Query**:
417
+
418
+ ```graphql
419
+ query BLOG_DETAIL($blogHandle: String, $articleHandle: String!) {
420
+ blog(handle: $blogHandle) {
421
+ articleByHandle(handle: $articleHandle) {
422
+ id
423
+ explore_the_collection: metafield(
424
+ namespace: "custom"
425
+ key: "explore_the_collection"
426
+ ) {
427
+ id
428
+ __typename
429
+ reference {
430
+ __typename
431
+ ... on Collection {
432
+ id
433
+ title
434
+ products(first: 4) {
435
+ nodes {
436
+ # ADD FULL PRODUCT CARD QUERY
437
+ id
438
+ }
439
+ }
440
+ }
441
+ }
442
+ }
443
+
444
+ content: metafield(namespace: "custom", key: "main_content") {
445
+ id
446
+ __typename
447
+ reference {
448
+ __typename
449
+ ... on Metaobject {
450
+ id
451
+ fields {
452
+ __typename
453
+ key
454
+ value
455
+ reference {
456
+ __typename
457
+ ... on Collection {
458
+ id
459
+ title
460
+ handle
461
+ }
462
+ ... on Metaobject {
463
+ id
464
+ fields {
465
+ __typename
466
+ key
467
+ value
468
+ reference {
469
+ __typename
470
+ ... on MediaImage {
471
+ id
472
+ image {
473
+ id
474
+ url
475
+ width
476
+ height
477
+ }
478
+ }
479
+ }
480
+ references(first: 100) {
481
+ __typename
482
+ ... on MetafieldReferenceConnection {
483
+ __typename
484
+ }
485
+ }
486
+ }
487
+ }
488
+ }
489
+ references(first: 100) {
490
+ __typename
491
+ ... on MetafieldReferenceConnection {
492
+ nodes {
493
+ __typename
494
+ ... on MediaImage {
495
+ id
496
+ image {
497
+ id
498
+ width
499
+ height
500
+ url
501
+ }
502
+ }
503
+ }
504
+ }
505
+ }
506
+ }
507
+ }
508
+ }
509
+ }
510
+ }
511
+ }
512
+ }
513
+ ```
514
+
515
+ **Sample Response**:
516
+
517
+ ```json
518
+ {
519
+ "data": {
520
+ "blog": {
521
+ "articleByHandle": {
522
+ "id": "gid://shopify/Article/613282382129",
523
+ "explore_the_collection": {
524
+ "id": "gid://shopify/Metafield/55033961513265",
525
+ "__typename": "Metafield",
526
+ "reference": {
527
+ "__typename": "Collection",
528
+ "id": "gid://shopify/Collection/527616770353",
529
+ "title": "Jersey",
530
+ "products": {
531
+ "nodes": [
532
+ {
533
+ "id": "gid://shopify/Product/10585943114033"
534
+ },
535
+ {
536
+ "id": "gid://shopify/Product/10584568070449"
537
+ }
538
+ ]
539
+ }
540
+ }
541
+ },
542
+ "content": {
543
+ "id": "gid://shopify/Metafield/55033989988657",
544
+ "__typename": "Metafield",
545
+ "reference": {
546
+ "__typename": "Metaobject",
547
+ "id": "gid://shopify/Metaobject/349800694065",
548
+ "fields": [
549
+ {
550
+ "__typename": "MetaobjectField",
551
+ "key": "section_1_header_description",
552
+ "value": "A 360° combat sports movement featuring Indonesia’s young fighters and emerging athletes from the global stage.",
553
+ "reference": null,
554
+ "references": null
555
+ },
556
+ {
557
+ "__typename": "MetaobjectField",
558
+ "key": "section_1_header_show_now",
559
+ "value": "gid://shopify/Collection/527616770353",
560
+ "reference": {
561
+ "__typename": "Collection",
562
+ "id": "gid://shopify/Collection/527616770353",
563
+ "title": "Jersey",
564
+ "handle": "jersey"
565
+ },
566
+ "references": null
567
+ },
568
+ {
569
+ "__typename": "MetaobjectField",
570
+ "key": "section_1_header_title",
571
+ "value": "ERSPO x BYON",
572
+ "reference": null,
573
+ "references": null
574
+ },
575
+ {
576
+ "__typename": "MetaobjectField",
577
+ "key": "section_2_banner_description",
578
+ "value": "Erspo x Byon celebrates athletes, creatives, and culture makers who move with purpose and express themselves without limits. Rooted in the energy of modern sport and urban culture, this collaboration brings together performance-driven design and bold creative expression, reflecting the mindset of a new generation that refuses to be defined by a single lane.\n\nMore than just a collection, Erspo x Byon is a movement shaped by diversity, ambition, and the relentless spirit of grind. It draws inspiration from those who push boundaries every day — on the field, in the studio, and in the streets — blending functionality with style to support both peak performance and everyday life.",
579
+ "reference": null,
580
+ "references": null
581
+ },
582
+ {
583
+ "__typename": "MetaobjectField",
584
+ "key": "section_2_banner_image",
585
+ "value": "gid://shopify/Metaobject/323991273777",
586
+ "reference": {
587
+ "__typename": "Metaobject",
588
+ "id": "gid://shopify/Metaobject/323991273777",
589
+ "fields": [
590
+ {
591
+ "__typename": "MetaobjectField",
592
+ "key": "desktop_image",
593
+ "value": "gid://shopify/MediaImage/46527922602289",
594
+ "reference": {
595
+ "id": "gid://shopify/MediaImage/46527922602289",
596
+ "image": {
597
+ "id": "gid://shopify/ImageSource/46527922602289",
598
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865",
599
+ "width": 6204,
600
+ "height": 3489
601
+ }
602
+ },
603
+ "references": null
604
+ },
605
+ {
606
+ "__typename": "MetaobjectField",
607
+ "key": "mobile_image",
608
+ "value": "gid://shopify/MediaImage/46527922602289",
609
+ "reference": {
610
+ "id": "gid://shopify/MediaImage/46527922602289",
611
+ "image": {
612
+ "id": "gid://shopify/ImageSource/46527922602289",
613
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865",
614
+ "width": 6204,
615
+ "height": 3489
616
+ }
617
+ },
618
+ "references": null
619
+ },
620
+ {
621
+ "__typename": "MetaobjectField",
622
+ "key": "title",
623
+ "value": "Banner Home ",
624
+ "reference": null,
625
+ "references": null
626
+ }
627
+ ]
628
+ },
629
+ "references": null
630
+ },
631
+ {
632
+ "__typename": "MetaobjectField",
633
+ "key": "section_3_image_description",
634
+ "value": "Erspo x Byon celebrates athletes, creatives, and culture makers who move with purpose and express themselves without limits. Rooted in the energy of modern sport and urban culture, this collaboration brings together performance-driven design and bold creative expression, reflecting the mindset of a new generation that refuses to be defined by a single lane.\n\nMore than just a collection, Erspo x Byon is a movement shaped by diversity, ambition, and the relentless spirit of grind. It draws inspiration from those who push boundaries every day — on the field, in the studio, and in the streets — blending functionality with style to support both peak performance and everyday life.",
635
+ "reference": null,
636
+ "references": null
637
+ },
638
+ {
639
+ "__typename": "MetaobjectField",
640
+ "key": "section_3_image_list",
641
+ "value": "[\"gid://shopify/MediaImage/46545916821809\",\"gid://shopify/MediaImage/46567732445489\"]",
642
+ "reference": null,
643
+ "references": {
644
+ "__typename": "MetafieldReferenceConnection",
645
+ "nodes": [
646
+ {
647
+ "__typename": "MediaImage",
648
+ "id": "gid://shopify/MediaImage/46545916821809",
649
+ "image": {
650
+ "id": "gid://shopify/ImageSource/46545916821809",
651
+ "width": 1968,
652
+ "height": 1314,
653
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/BYN-19_1_2.jpg?v=1771927292"
654
+ }
655
+ },
656
+ {
657
+ "__typename": "MediaImage",
658
+ "id": "gid://shopify/MediaImage/46567732445489",
659
+ "image": {
660
+ "id": "gid://shopify/ImageSource/46567732445489",
661
+ "width": 1968,
662
+ "height": 1314,
663
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/BYN-19_1_2_163f9c2c-fffc-408b-be77-c9e8ae85b697.jpg?v=1772047355"
664
+ }
665
+ }
666
+ ]
667
+ }
668
+ },
669
+ {
670
+ "__typename": "MetaobjectField",
671
+ "key": "section_4_banner_image",
672
+ "value": "gid://shopify/Metaobject/323990782257",
673
+ "reference": {
674
+ "__typename": "Metaobject",
675
+ "id": "gid://shopify/Metaobject/323990782257",
676
+ "fields": [
677
+ {
678
+ "__typename": "MetaobjectField",
679
+ "key": "desktop_image",
680
+ "value": "gid://shopify/MediaImage/46527922569521",
681
+ "reference": {
682
+ "id": "gid://shopify/MediaImage/46527922569521",
683
+ "image": {
684
+ "id": "gid://shopify/ImageSource/46527922569521",
685
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_6.jpg?v=1771839865",
686
+ "width": 6204,
687
+ "height": 3489
688
+ }
689
+ },
690
+ "references": null
691
+ },
692
+ {
693
+ "__typename": "MetaobjectField",
694
+ "key": "mobile_image",
695
+ "value": "gid://shopify/MediaImage/46527922569521",
696
+ "reference": {
697
+ "id": "gid://shopify/MediaImage/46527922569521",
698
+ "image": {
699
+ "id": "gid://shopify/ImageSource/46527922569521",
700
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_6.jpg?v=1771839865",
701
+ "width": 6204,
702
+ "height": 3489
703
+ }
704
+ },
705
+ "references": null
706
+ },
707
+ {
708
+ "__typename": "MetaobjectField",
709
+ "key": "title",
710
+ "value": "Erspo x VR46",
711
+ "reference": null,
712
+ "references": null
713
+ }
714
+ ]
715
+ },
716
+ "references": null
717
+ }
718
+ ]
719
+ }
720
+ }
721
+ }
722
+ }
723
+ },
724
+ "extensions": {
725
+ "cost": {
726
+ "requestedQueryCost": 68
727
+ }
728
+ }
729
+ }
730
+ ```
731
+
732
+ ### 3. Our Story Behind Page (Blog Articles)
733
+
734
+ **Query**:
735
+
736
+ ```graphql
737
+ query BLOGS($first: Int, $last: Int, $after: String, $before: String) {
738
+ blog(handle: "erspo") {
739
+ id
740
+ handle
741
+ articles(first: $first, last: $last, after: $after, before: $before) {
742
+ pageInfo {
743
+ endCursor
744
+ startCursor
745
+ hasPreviousPage
746
+ }
747
+ nodes {
748
+ id
749
+ handle
750
+ image {
751
+ id
752
+ width
753
+ height
754
+ }
755
+ title
756
+ content
757
+ }
758
+ }
759
+ }
760
+ }
761
+ ```
762
+
763
+ **Query Variables (Pagination)**:
764
+
765
+ | Parameter | Type | Required | Description |
766
+ | --------- | ------ | -------- | ----------------------------------------------- |
767
+ | `first` | number | Tidak | Jumlah artikel dari awal (forward pagination) |
768
+ | `last` | number | Tidak | Jumlah artikel dari akhir (backward pagination) |
769
+ | `after` | string | Tidak | Cursor untuk halaman berikutnya |
770
+ | `before` | string | Tidak | Cursor untuk halaman sebelumnya |
771
+
772
+ **Rules Pagination**:
773
+
774
+ 1. **Next (halaman berikut):** gunakan `first` dan `after`. Nilai `after` diambil dari **`pageInfo.startCursor`** pada response sebelumnya.
775
+ 2. **Prev (halaman sebelumnya):** gunakan `last` dan `before`. Nilai `before` diambil dari **`pageInfo.endCursor`** pada response sebelumnya.
776
+ 3. **`first`** dan **`last`** adalah jumlah artikel yang ingin ditampilkan per halaman.
777
+ 4. **Contoh:**
778
+ - Default / halaman pertama: `first: 12`
779
+ - Next: `first: 12`, `after: "<value dari pageInfo.startCursor>"`
780
+ - Prev: `last: 12`, `before: "<value dari pageInfo.endCursor>"`
781
+
782
+ **Sample Response**:
783
+
784
+ ```json
785
+ {
786
+ "data": {
787
+ "blog": {
788
+ "id": "gid://shopify/Blog/120706498865",
789
+ "handle": "erspo",
790
+ "articles": {
791
+ "pageInfo": {
792
+ "endCursor": "eyJsYXN0X2lkIjo2MTMyODIzODIxMjksImxhc3RfdmFsdWUiOjYxMzI4MjM4MjEyOSwib2Zmc2V0IjowfQ==",
793
+ "startCursor": "eyJsYXN0X2lkIjo2MTMyODIzODIxMjksImxhc3RfdmFsdWUiOjYxMzI4MjM4MjEyOSwib2Zmc2V0IjowfQ==",
794
+ "hasPreviousPage": false
795
+ },
796
+ "nodes": [
797
+ {
798
+ "id": "gid://shopify/Article/613282382129",
799
+ "handle": "erspo-for-vr46",
800
+ "image": {
801
+ "id": "gid://shopify/ArticleImage/246236447025",
802
+ "width": 1296,
803
+ "height": 1644
804
+ },
805
+ "title": "Erspo for VR46",
806
+ "content": "Erspo x VR46 reimagines performance wear with a fashion-forward edge. Built using premium materials and thoughtful design, every piece supports comfort, mobility, and durability — without sacrificing the bold style VR46 is known for."
807
+ }
808
+ ]
809
+ }
810
+ }
811
+ },
812
+ "extensions": {
813
+ "cost": {
814
+ "requestedQueryCost": 14
815
+ }
816
+ }
817
+ }
818
+ ```
819
+
820
+ ### 4. Our Store Page
821
+
822
+ **Query**:
823
+
824
+ ```graphql
825
+ query OUR_STORE_PAGE {
826
+ our_store: metaobject(
827
+ handle: { type: "our_store_page", handle: "our-store" }
828
+ ) {
829
+ id
830
+ fields {
831
+ __typename
832
+ type
833
+ key
834
+ value
835
+ reference {
836
+ __typename
837
+ ... on Metaobject {
838
+ fields {
839
+ type
840
+ key
841
+ value
842
+ reference {
843
+ ... on MediaImage {
844
+ id
845
+ image {
846
+ id
847
+ width
848
+ height
849
+ url
850
+ }
851
+ }
852
+ }
853
+ }
854
+ }
855
+ }
856
+ references(first: 100) {
857
+ __typename
858
+ ... on MetafieldReferenceConnection {
859
+ __typename
860
+ nodes {
861
+ __typename
862
+ ... on Metaobject {
863
+ id
864
+ fields {
865
+ __typename
866
+ key
867
+ type
868
+ value
869
+ reference {
870
+ __typename
871
+ ... on MediaImage {
872
+ id
873
+ image {
874
+ id
875
+ width
876
+ height
877
+ url
878
+ }
879
+ }
880
+ }
881
+ }
882
+ }
883
+ }
884
+ }
885
+ }
886
+ }
887
+ }
888
+ }
889
+ ```
890
+
891
+ **Response**:
892
+
893
+ ```json
894
+ {
895
+ "data": {
896
+ "our_store": {
897
+ "id": "gid://shopify/Metaobject/349796172081",
898
+ "fields": [
899
+ {
900
+ "__typename": "MetaobjectField",
901
+ "type": "metaobject_reference",
902
+ "key": "seo",
903
+ "value": "gid://shopify/Metaobject/349794074929",
904
+ "reference": {
905
+ "__typename": "Metaobject",
906
+ "fields": [
907
+ {
908
+ "type": "multi_line_text_field",
909
+ "key": "metadescription",
910
+ "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
911
+ "reference": null
912
+ },
913
+ {
914
+ "type": "single_line_text_field",
915
+ "key": "metatitle",
916
+ "value": "Default",
917
+ "reference": null
918
+ },
919
+ {
920
+ "type": "file_reference",
921
+ "key": "ogimage",
922
+ "value": "gid://shopify/MediaImage/46527922602289",
923
+ "reference": {
924
+ "id": "gid://shopify/MediaImage/46527922602289",
925
+ "image": {
926
+ "id": "gid://shopify/ImageSource/46527922602289",
927
+ "width": 6204,
928
+ "height": 3489,
929
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
930
+ }
931
+ }
932
+ }
933
+ ]
934
+ },
935
+ "references": null
936
+ },
937
+ {
938
+ "__typename": "MetaobjectField",
939
+ "type": "list.metaobject_reference",
940
+ "key": "store_list",
941
+ "value": "[\"gid://shopify/Metaobject/349796106545\",\"gid://shopify/Metaobject/349796139313\"]",
942
+ "reference": null,
943
+ "references": {
944
+ "__typename": "MetafieldReferenceConnection",
945
+ "nodes": [
946
+ {
947
+ "__typename": "Metaobject",
948
+ "id": "gid://shopify/Metaobject/349796106545",
949
+ "fields": [
950
+ {
951
+ "__typename": "MetaobjectField",
952
+ "key": "address",
953
+ "type": "single_line_text_field",
954
+ "value": "Living World Alam Sutera - UG FLOOR",
955
+ "reference": null
956
+ },
957
+ {
958
+ "__typename": "MetaobjectField",
959
+ "key": "image",
960
+ "type": "file_reference",
961
+ "value": "gid://shopify/MediaImage/46567352762673",
962
+ "reference": {
963
+ "__typename": "MediaImage",
964
+ "id": "gid://shopify/MediaImage/46567352762673",
965
+ "image": {
966
+ "id": "gid://shopify/ImageSource/46567352762673",
967
+ "width": 1296,
968
+ "height": 1644,
969
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/img_store_2.jpg?v=1772044043"
970
+ }
971
+ }
972
+ },
973
+ {
974
+ "__typename": "MetaobjectField",
975
+ "key": "map_url",
976
+ "type": "single_line_text_field",
977
+ "value": "https://maps.app.goo.gl/gwCGgwTdgTspqqbZ9",
978
+ "reference": null
979
+ },
980
+ {
981
+ "__typename": "MetaobjectField",
982
+ "key": "title",
983
+ "type": "single_line_text_field",
984
+ "value": "ERSPO Concept Store",
985
+ "reference": null
986
+ }
987
+ ]
988
+ },
989
+ {
990
+ "__typename": "Metaobject",
991
+ "id": "gid://shopify/Metaobject/349796139313",
992
+ "fields": [
993
+ {
994
+ "__typename": "MetaobjectField",
995
+ "key": "address",
996
+ "type": "single_line_text_field",
997
+ "value": "Gandaria City Mall - UG-05A FLOOR",
998
+ "reference": null
999
+ },
1000
+ {
1001
+ "__typename": "MetaobjectField",
1002
+ "key": "image",
1003
+ "type": "file_reference",
1004
+ "value": "gid://shopify/MediaImage/46567352795441",
1005
+ "reference": {
1006
+ "__typename": "MediaImage",
1007
+ "id": "gid://shopify/MediaImage/46567352795441",
1008
+ "image": {
1009
+ "id": "gid://shopify/ImageSource/46567352795441",
1010
+ "width": 1296,
1011
+ "height": 1644,
1012
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/img_store_1_1.jpg?v=1772044043"
1013
+ }
1014
+ }
1015
+ },
1016
+ {
1017
+ "__typename": "MetaobjectField",
1018
+ "key": "map_url",
1019
+ "type": "single_line_text_field",
1020
+ "value": "https://maps.app.goo.gl/gwCGgwTdgTspqqbZ9",
1021
+ "reference": null
1022
+ },
1023
+ {
1024
+ "__typename": "MetaobjectField",
1025
+ "key": "title",
1026
+ "type": "single_line_text_field",
1027
+ "value": "Erspo Store 2",
1028
+ "reference": null
1029
+ }
1030
+ ]
1031
+ }
1032
+ ]
1033
+ }
1034
+ },
1035
+ {
1036
+ "__typename": "MetaobjectField",
1037
+ "type": "single_line_text_field",
1038
+ "key": "title",
1039
+ "value": "OUR STORE",
1040
+ "reference": null,
1041
+ "references": null
1042
+ }
1043
+ ]
1044
+ }
1045
+ },
1046
+ "extensions": {
1047
+ "cost": {
1048
+ "requestedQueryCost": 81
1049
+ }
1050
+ }
1051
+ }
1052
+ ```
1053
+
1054
+ ### 5. Terms & Conditions / Privacy Policy Page
1055
+
1056
+ **Keterangan handle**:
1057
+
1058
+ - **Terms & Conditions**: `terms-conditions`
1059
+ - **Privacy Policy**: `privacy-policy`
1060
+
1061
+ **Query**:
1062
+
1063
+ ```graphql
1064
+ query TC_PP_PAGE {
1065
+ page(handle: "<handle>") {
1066
+ id
1067
+ body
1068
+ handle
1069
+ createdAt
1070
+ bodySummary
1071
+ seo {
1072
+ title
1073
+ description
1074
+ __typename
1075
+ }
1076
+ }
1077
+ }
1078
+ ```
1079
+
1080
+ **Sample Response** (contoh untuk Privacy Policy):
1081
+
1082
+ ```json
1083
+ {
1084
+ "data": {
1085
+ "page": {
1086
+ "id": "gid://shopify/Page/156969304369",
1087
+ "body": "<h3>The standard Lorem Ipsum passage, used since the 1500s</h3>\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>",
1088
+ "handle": "privacy-policy",
1089
+ "createdAt": "2026-02-25T18:41:04Z",
1090
+ "bodySummary": "The standard Lorem Ipsum passage, used since the 1500s Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut...",
1091
+ "seo": {
1092
+ "title": "Privacy Policy",
1093
+ "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
1094
+ "__typename": "SEO"
1095
+ }
1096
+ }
1097
+ },
1098
+ "extensions": {
1099
+ "cost": {
1100
+ "requestedQueryCost": 3
1101
+ }
1102
+ }
1103
+ }
1104
+ ```
1105
+
1106
+ ### 6. FAQ Page
1107
+
1108
+ **Query**:
1109
+
1110
+ ```graphql
1111
+ query FAQ_PAGE {
1112
+ faq_page: metaobject(handle: { type: "faq_page", handle: "faq" }) {
1113
+ id
1114
+ fields {
1115
+ __typename
1116
+ key
1117
+ type
1118
+ value
1119
+ reference {
1120
+ __typename
1121
+ ... on Metaobject {
1122
+ fields {
1123
+ type
1124
+ key
1125
+ value
1126
+ reference {
1127
+ ... on MediaImage {
1128
+ id
1129
+ image {
1130
+ id
1131
+ width
1132
+ height
1133
+ url
1134
+ }
1135
+ }
1136
+ }
1137
+ }
1138
+ }
1139
+ }
1140
+ references(first: 100) {
1141
+ __typename
1142
+ ... on MetafieldReferenceConnection {
1143
+ nodes {
1144
+ __typename
1145
+ ... on Metaobject {
1146
+ id
1147
+ fields {
1148
+ key
1149
+ type
1150
+ value
1151
+ }
1152
+ }
1153
+ }
1154
+ }
1155
+ }
1156
+ }
1157
+ }
1158
+ }
1159
+ ```
1160
+
1161
+ **Response**:
1162
+
1163
+ ```json
1164
+ {
1165
+ "data": {
1166
+ "faq_page": {
1167
+ "id": "gid://shopify/Metaobject/349792862513",
1168
+ "fields": [
1169
+ {
1170
+ "__typename": "MetaobjectField",
1171
+ "key": "faq_list",
1172
+ "type": "list.metaobject_reference",
1173
+ "value": "[\"gid://shopify/Metaobject/349793190193\",\"gid://shopify/Metaobject/349793124657\",\"gid://shopify/Metaobject/349793026353\"]",
1174
+ "reference": null,
1175
+ "references": {
1176
+ "__typename": "MetafieldReferenceConnection",
1177
+ "nodes": [
1178
+ {
1179
+ "__typename": "Metaobject",
1180
+ "id": "gid://shopify/Metaobject/349793190193",
1181
+ "fields": [
1182
+ {
1183
+ "key": "answer",
1184
+ "type": "multi_line_text_field",
1185
+ "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
1186
+ },
1187
+ {
1188
+ "key": "question",
1189
+ "type": "single_line_text_field",
1190
+ "value": "What payment methods do you accept?"
1191
+ }
1192
+ ]
1193
+ },
1194
+ {
1195
+ "__typename": "Metaobject",
1196
+ "id": "gid://shopify/Metaobject/349793124657",
1197
+ "fields": [
1198
+ {
1199
+ "key": "answer",
1200
+ "type": "multi_line_text_field",
1201
+ "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
1202
+ },
1203
+ {
1204
+ "key": "question",
1205
+ "type": "single_line_text_field",
1206
+ "value": "How do I know my size?"
1207
+ }
1208
+ ]
1209
+ },
1210
+ {
1211
+ "__typename": "Metaobject",
1212
+ "id": "gid://shopify/Metaobject/349793026353",
1213
+ "fields": [
1214
+ {
1215
+ "key": "answer",
1216
+ "type": "multi_line_text_field",
1217
+ "value": "Erspo (Ergonomic Sporty Outfit) is an Indonesian sportswear brand and a sub-brand of Erigo Apparel, launched on January 22, 2024, by Muhammad Sadad. It is the official apparel provider for the Indonesian National Football Team (PSSI) as of 2024, focusing on high-quality, modern, and locally-rooted sports apparel."
1218
+ },
1219
+ {
1220
+ "key": "question",
1221
+ "type": "single_line_text_field",
1222
+ "value": "What is Erspo"
1223
+ }
1224
+ ]
1225
+ }
1226
+ ]
1227
+ }
1228
+ },
1229
+ {
1230
+ "__typename": "MetaobjectField",
1231
+ "key": "seo",
1232
+ "type": "metaobject_reference",
1233
+ "value": "gid://shopify/Metaobject/349794074929",
1234
+ "reference": {
1235
+ "__typename": "Metaobject",
1236
+ "fields": [
1237
+ {
1238
+ "type": "multi_line_text_field",
1239
+ "key": "metadescription",
1240
+ "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
1241
+ "reference": null
1242
+ },
1243
+ {
1244
+ "type": "single_line_text_field",
1245
+ "key": "metatitle",
1246
+ "value": "Default",
1247
+ "reference": null
1248
+ },
1249
+ {
1250
+ "type": "file_reference",
1251
+ "key": "ogimage",
1252
+ "value": "gid://shopify/MediaImage/46527922602289",
1253
+ "reference": {
1254
+ "id": "gid://shopify/MediaImage/46527922602289",
1255
+ "image": {
1256
+ "id": "gid://shopify/ImageSource/46527922602289",
1257
+ "width": 6204,
1258
+ "height": 3489,
1259
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
1260
+ }
1261
+ }
1262
+ }
1263
+ ]
1264
+ },
1265
+ "references": null
1266
+ },
1267
+ {
1268
+ "__typename": "MetaobjectField",
1269
+ "key": "title",
1270
+ "type": "single_line_text_field",
1271
+ "value": "FREQUENTLY ASKED QUESTIONS",
1272
+ "reference": null,
1273
+ "references": null
1274
+ }
1275
+ ]
1276
+ }
1277
+ },
1278
+ "extensions": {
1279
+ "cost": {
1280
+ "requestedQueryCost": 46
1281
+ }
1282
+ }
1283
+ }
1284
+ ```
1285
+
1286
+ ### 7. Contact Us Page
1287
+
1288
+ **Query**:
1289
+
1290
+ ```graphql
1291
+ query CONTACT_US_PAGE {
1292
+ metaobject(handle: { type: "contact_us", handle: "contact-us" }) {
1293
+ id
1294
+ fields {
1295
+ key
1296
+ value
1297
+ __typename
1298
+ reference {
1299
+ __typename
1300
+ ... on Metaobject {
1301
+ fields {
1302
+ type
1303
+ key
1304
+ value
1305
+ reference {
1306
+ ... on MediaImage {
1307
+ id
1308
+ image {
1309
+ id
1310
+ width
1311
+ height
1312
+ url
1313
+ }
1314
+ }
1315
+ }
1316
+ }
1317
+ }
1318
+ ... on MediaImage {
1319
+ id
1320
+ image {
1321
+ id
1322
+ width
1323
+ height
1324
+ url
1325
+ }
1326
+ }
1327
+ }
1328
+ }
1329
+ }
1330
+ }
1331
+ ```
1332
+
1333
+ **Response**:
1334
+
1335
+ ```json
1336
+ {
1337
+ "data": {
1338
+ "metaobject": {
1339
+ "id": "gid://shopify/Metaobject/349794861361",
1340
+ "fields": [
1341
+ {
1342
+ "key": "banner",
1343
+ "value": "gid://shopify/MediaImage/46567250198833",
1344
+ "__typename": "MetaobjectField",
1345
+ "reference": {
1346
+ "__typename": "MediaImage",
1347
+ "id": "gid://shopify/MediaImage/46567250198833",
1348
+ "image": {
1349
+ "id": "gid://shopify/ImageSource/46567250198833",
1350
+ "width": 2280,
1351
+ "height": 2016,
1352
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/img_erspostore_1.jpg?v=1772043052"
1353
+ }
1354
+ }
1355
+ },
1356
+ {
1357
+ "key": "email",
1358
+ "value": "help@erspo.com",
1359
+ "__typename": "MetaobjectField",
1360
+ "reference": null
1361
+ },
1362
+ {
1363
+ "key": "official_store",
1364
+ "value": "Jl. Jenderal Sudirman, Gelora, Kec. Tanah Abang, Kota Jakarta Pusat, DKI Jakarta 10270",
1365
+ "__typename": "MetaobjectField",
1366
+ "reference": null
1367
+ },
1368
+ {
1369
+ "key": "seo",
1370
+ "value": "gid://shopify/Metaobject/349794074929",
1371
+ "__typename": "MetaobjectField",
1372
+ "reference": {
1373
+ "__typename": "Metaobject",
1374
+ "fields": [
1375
+ {
1376
+ "type": "multi_line_text_field",
1377
+ "key": "metadescription",
1378
+ "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
1379
+ "reference": null
1380
+ },
1381
+ {
1382
+ "type": "single_line_text_field",
1383
+ "key": "metatitle",
1384
+ "value": "Default",
1385
+ "reference": null
1386
+ },
1387
+ {
1388
+ "type": "file_reference",
1389
+ "key": "ogimage",
1390
+ "value": "gid://shopify/MediaImage/46527922602289",
1391
+ "reference": {
1392
+ "id": "gid://shopify/MediaImage/46527922602289",
1393
+ "image": {
1394
+ "id": "gid://shopify/ImageSource/46527922602289",
1395
+ "width": 6204,
1396
+ "height": 3489,
1397
+ "url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
1398
+ }
1399
+ }
1400
+ }
1401
+ ]
1402
+ }
1403
+ },
1404
+ {
1405
+ "key": "title",
1406
+ "value": "Contact Us",
1407
+ "__typename": "MetaobjectField",
1408
+ "reference": null
1409
+ },
1410
+ {
1411
+ "key": "whatsapp",
1412
+ "value": "8531111010",
1413
+ "__typename": "MetaobjectField",
1414
+ "reference": null
1415
+ }
1416
+ ]
1417
+ }
1418
+ },
1419
+ "extensions": {
1420
+ "cost": {
1421
+ "requestedQueryCost": 8
1422
+ }
1423
+ }
1424
+ }
1425
+ ```