@cloudcart/dev-mcp 0.2.3 → 0.2.5

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/data/admin.json CHANGED
@@ -57,6 +57,33 @@
57
57
  "isDeprecated": false,
58
58
  "deprecationReason": null
59
59
  },
60
+ {
61
+ "name": "orderPayment",
62
+ "description": "Fetch a single order-payment record by its id. Includes the linked gateway-side payment via `gatewayPayment`. Admin agents use this before calling capturePayment / refundPayment / markPaymentPaid to confirm the current status of the payment.",
63
+ "args": [
64
+ {
65
+ "name": "id",
66
+ "description": "Order payment ID.",
67
+ "type": {
68
+ "kind": "NON_NULL",
69
+ "name": null,
70
+ "ofType": {
71
+ "kind": "SCALAR",
72
+ "name": "ID",
73
+ "ofType": null
74
+ }
75
+ },
76
+ "defaultValue": null
77
+ }
78
+ ],
79
+ "type": {
80
+ "kind": "OBJECT",
81
+ "name": "OrderPayment",
82
+ "ofType": null
83
+ },
84
+ "isDeprecated": false,
85
+ "deprecationReason": null
86
+ },
60
87
  {
61
88
  "name": "orderedProducts",
62
89
  "description": "Get aggregated ordered products across orders (for inventory/reporting).",
@@ -12010,6 +12037,94 @@
12010
12037
  "isDeprecated": false,
12011
12038
  "deprecationReason": null
12012
12039
  },
12040
+ {
12041
+ "name": "shippingCountries",
12042
+ "description": "List the countries a shipping provider services. Each provider's `listCountries()` is the source — for Speedy/DpdBulgaria/Sameday the list is populated, for providers that don't expose countries the list is empty. Combine with `shippingOffices(key, filter: {country: \"BG\"})` to narrow down to offices in a specific country.",
12043
+ "args": [
12044
+ {
12045
+ "name": "key",
12046
+ "description": "Provider app key (e.g. 'econt', 'speedy').",
12047
+ "type": {
12048
+ "kind": "NON_NULL",
12049
+ "name": null,
12050
+ "ofType": {
12051
+ "kind": "SCALAR",
12052
+ "name": "String",
12053
+ "ofType": null
12054
+ }
12055
+ },
12056
+ "defaultValue": null
12057
+ },
12058
+ {
12059
+ "name": "query",
12060
+ "description": "Optional name-fragment filter (uses each provider's `findCountries()` when supplied).",
12061
+ "type": {
12062
+ "kind": "SCALAR",
12063
+ "name": "String",
12064
+ "ofType": null
12065
+ },
12066
+ "defaultValue": null
12067
+ }
12068
+ ],
12069
+ "type": {
12070
+ "kind": "NON_NULL",
12071
+ "name": null,
12072
+ "ofType": {
12073
+ "kind": "LIST",
12074
+ "name": null,
12075
+ "ofType": {
12076
+ "kind": "NON_NULL",
12077
+ "name": null,
12078
+ "ofType": {
12079
+ "kind": "OBJECT",
12080
+ "name": "ShippingCountry",
12081
+ "ofType": null
12082
+ }
12083
+ }
12084
+ }
12085
+ },
12086
+ "isDeprecated": false,
12087
+ "deprecationReason": null
12088
+ },
12089
+ {
12090
+ "name": "shippingPdfFormats",
12091
+ "description": "List PDF output formats a shipping provider supports for waybill printing. Derived zero-config from the provider's pdf-select.tpl admin view, so newly added providers expose their formats without any GraphQL change. Agents pass the returned `type` to `getShippingWaybillPdf`.",
12092
+ "args": [
12093
+ {
12094
+ "name": "key",
12095
+ "description": "Provider app key.",
12096
+ "type": {
12097
+ "kind": "NON_NULL",
12098
+ "name": null,
12099
+ "ofType": {
12100
+ "kind": "SCALAR",
12101
+ "name": "String",
12102
+ "ofType": null
12103
+ }
12104
+ },
12105
+ "defaultValue": null
12106
+ }
12107
+ ],
12108
+ "type": {
12109
+ "kind": "NON_NULL",
12110
+ "name": null,
12111
+ "ofType": {
12112
+ "kind": "LIST",
12113
+ "name": null,
12114
+ "ofType": {
12115
+ "kind": "NON_NULL",
12116
+ "name": null,
12117
+ "ofType": {
12118
+ "kind": "OBJECT",
12119
+ "name": "ShippingPdfFormat",
12120
+ "ofType": null
12121
+ }
12122
+ }
12123
+ }
12124
+ },
12125
+ "isDeprecated": false,
12126
+ "deprecationReason": null
12127
+ },
12013
12128
  {
12014
12129
  "name": "dhlSettings",
12015
12130
  "description": "Get DHL extended settings (services, boxes, label sizes, currencies, regions, package types, countries).",
@@ -12866,6 +12981,47 @@
12866
12981
  "isDeprecated": false,
12867
12982
  "deprecationReason": null
12868
12983
  },
12984
+ {
12985
+ "name": "shippingWaybillSchema",
12986
+ "description": "Describe the full input schema for generating a waybill with a specific shipping provider. Call this before `createShippingWaybill` to discover provider-specific fields, validation rules, dependencies and example values. The schema is auto-generated from the provider's own WaybillRequest rules and Manager metadata, so newly added providers are supported without any GraphQL changes.",
12987
+ "args": [
12988
+ {
12989
+ "name": "key",
12990
+ "description": "Provider app key (e.g. 'econt', 'speedy', 'dpdbulgaria').",
12991
+ "type": {
12992
+ "kind": "NON_NULL",
12993
+ "name": null,
12994
+ "ofType": {
12995
+ "kind": "SCALAR",
12996
+ "name": "String",
12997
+ "ofType": null
12998
+ }
12999
+ },
13000
+ "defaultValue": null
13001
+ },
13002
+ {
13003
+ "name": "orderId",
13004
+ "description": "Optional order ID. When provided, schema is order-aware (e.g. service options are actual calculated options, pallet-flag reflects provider settings, COD default is the order's COD total).",
13005
+ "type": {
13006
+ "kind": "SCALAR",
13007
+ "name": "ID",
13008
+ "ofType": null
13009
+ },
13010
+ "defaultValue": null
13011
+ }
13012
+ ],
13013
+ "type": {
13014
+ "kind": "NON_NULL",
13015
+ "name": null,
13016
+ "ofType": {
13017
+ "kind": "OBJECT",
13018
+ "name": "ShippingWaybillSchema",
13019
+ "ofType": null
13020
+ }
13021
+ },
13022
+ "isDeprecated": false,
13023
+ "deprecationReason": null
13024
+ },
12869
13025
  {
12870
13026
  "name": "nitroStorefronts",
12871
13027
  "description": "List all Nitro storefronts for the current store.",
@@ -15677,8 +15833,8 @@
15677
15833
  "deprecationReason": null
15678
15834
  },
15679
15835
  {
15680
- "name": "generateInvoiceNumber",
15681
- "description": "Generate an invoice number for an order.",
15836
+ "name": "sendManualOrderCheckoutLink",
15837
+ "description": "Send the checkout link for a manually-created order to the customer by email. Used when the order is a manual draft paid with an online payment provider — the customer receives a link to complete the payment themselves. Mirrors the admin UI's `send_confirmed_order` / `send_notification_url` buttons on the order detail page.",
15682
15838
  "args": [
15683
15839
  {
15684
15840
  "name": "id",
@@ -15695,14 +15851,14 @@
15695
15851
  "defaultValue": null
15696
15852
  },
15697
15853
  {
15698
- "name": "input",
15699
- "description": "Invoice generation input.",
15854
+ "name": "confirm",
15855
+ "description": "When true, also confirm the order (removes is_draft meta). Mirrors the admin flow's `is_confirmed=1` flag. Default: true.",
15700
15856
  "type": {
15701
- "kind": "INPUT_OBJECT",
15702
- "name": "GenerateInvoiceNumberInput",
15857
+ "kind": "SCALAR",
15858
+ "name": "Boolean",
15703
15859
  "ofType": null
15704
15860
  },
15705
- "defaultValue": null
15861
+ "defaultValue": "true"
15706
15862
  }
15707
15863
  ],
15708
15864
  "type": {
@@ -15718,129 +15874,8 @@
15718
15874
  "deprecationReason": null
15719
15875
  },
15720
15876
  {
15721
- "name": "issueCreditNote",
15722
- "description": "Issue a credit note for an order.",
15723
- "args": [
15724
- {
15725
- "name": "id",
15726
- "description": "Order ID.",
15727
- "type": {
15728
- "kind": "NON_NULL",
15729
- "name": null,
15730
- "ofType": {
15731
- "kind": "SCALAR",
15732
- "name": "ID",
15733
- "ofType": null
15734
- }
15735
- },
15736
- "defaultValue": null
15737
- }
15738
- ],
15739
- "type": {
15740
- "kind": "NON_NULL",
15741
- "name": null,
15742
- "ofType": {
15743
- "kind": "OBJECT",
15744
- "name": "Order",
15745
- "ofType": null
15746
- }
15747
- },
15748
- "isDeprecated": false,
15749
- "deprecationReason": null
15750
- },
15751
- {
15752
- "name": "toggleNotifyCustomer",
15753
- "description": "Toggle customer notification setting on an order.",
15754
- "args": [
15755
- {
15756
- "name": "id",
15757
- "description": "Order ID.",
15758
- "type": {
15759
- "kind": "NON_NULL",
15760
- "name": null,
15761
- "ofType": {
15762
- "kind": "SCALAR",
15763
- "name": "ID",
15764
- "ofType": null
15765
- }
15766
- },
15767
- "defaultValue": null
15768
- },
15769
- {
15770
- "name": "enabled",
15771
- "description": "Enable (true) or disable (false) notifications.",
15772
- "type": {
15773
- "kind": "NON_NULL",
15774
- "name": null,
15775
- "ofType": {
15776
- "kind": "SCALAR",
15777
- "name": "Boolean",
15778
- "ofType": null
15779
- }
15780
- },
15781
- "defaultValue": null
15782
- }
15783
- ],
15784
- "type": {
15785
- "kind": "NON_NULL",
15786
- "name": null,
15787
- "ofType": {
15788
- "kind": "OBJECT",
15789
- "name": "Order",
15790
- "ofType": null
15791
- }
15792
- },
15793
- "isDeprecated": false,
15794
- "deprecationReason": null
15795
- },
15796
- {
15797
- "name": "toggleRecalculateLock",
15798
- "description": "Lock or unlock order price recalculation.",
15799
- "args": [
15800
- {
15801
- "name": "id",
15802
- "description": "Order ID.",
15803
- "type": {
15804
- "kind": "NON_NULL",
15805
- "name": null,
15806
- "ofType": {
15807
- "kind": "SCALAR",
15808
- "name": "ID",
15809
- "ofType": null
15810
- }
15811
- },
15812
- "defaultValue": null
15813
- },
15814
- {
15815
- "name": "locked",
15816
- "description": "Lock (true) or unlock (false) recalculation.",
15817
- "type": {
15818
- "kind": "NON_NULL",
15819
- "name": null,
15820
- "ofType": {
15821
- "kind": "SCALAR",
15822
- "name": "Boolean",
15823
- "ofType": null
15824
- }
15825
- },
15826
- "defaultValue": null
15827
- }
15828
- ],
15829
- "type": {
15830
- "kind": "NON_NULL",
15831
- "name": null,
15832
- "ofType": {
15833
- "kind": "OBJECT",
15834
- "name": "Order",
15835
- "ofType": null
15836
- }
15837
- },
15838
- "isDeprecated": false,
15839
- "deprecationReason": null
15840
- },
15841
- {
15842
- "name": "addOrderDiscount",
15843
- "description": "Add a manual order-level discount.",
15877
+ "name": "generateInvoiceNumber",
15878
+ "description": "Generate an invoice number for an order.",
15844
15879
  "args": [
15845
15880
  {
15846
15881
  "name": "id",
@@ -15858,15 +15893,11 @@
15858
15893
  },
15859
15894
  {
15860
15895
  "name": "input",
15861
- "description": "Discount input.",
15896
+ "description": "Invoice generation input.",
15862
15897
  "type": {
15863
- "kind": "NON_NULL",
15864
- "name": null,
15865
- "ofType": {
15866
- "kind": "INPUT_OBJECT",
15867
- "name": "AddOrderDiscountInput",
15868
- "ofType": null
15869
- }
15898
+ "kind": "INPUT_OBJECT",
15899
+ "name": "GenerateInvoiceNumberInput",
15900
+ "ofType": null
15870
15901
  },
15871
15902
  "defaultValue": null
15872
15903
  }
@@ -15884,8 +15915,8 @@
15884
15915
  "deprecationReason": null
15885
15916
  },
15886
15917
  {
15887
- "name": "applyExistingOrderDiscount",
15888
- "description": "Apply an existing store discount to an order (use discountsForOrder query to get eligible targets).",
15918
+ "name": "issueCreditNote",
15919
+ "description": "Issue a credit note for an order.",
15889
15920
  "args": [
15890
15921
  {
15891
15922
  "name": "id",
@@ -15900,20 +15931,6 @@
15900
15931
  }
15901
15932
  },
15902
15933
  "defaultValue": null
15903
- },
15904
- {
15905
- "name": "discountTargetId",
15906
- "description": "Discount target ID from discountsForOrder query.",
15907
- "type": {
15908
- "kind": "NON_NULL",
15909
- "name": null,
15910
- "ofType": {
15911
- "kind": "SCALAR",
15912
- "name": "ID",
15913
- "ofType": null
15914
- }
15915
- },
15916
- "defaultValue": null
15917
15934
  }
15918
15935
  ],
15919
15936
  "type": {
@@ -15929,8 +15946,250 @@
15929
15946
  "deprecationReason": null
15930
15947
  },
15931
15948
  {
15932
- "name": "removeOrderDiscount",
15933
- "description": "Remove an order-level discount.",
15949
+ "name": "getOrderInvoicePdf",
15950
+ "description": "Download the invoice PDF for an order. Returns the binary as base64 in `pdfContent`. The order must already have an invoice number — call `generateInvoiceNumber` first if `Order.documents.invoiceNumber` is null.",
15951
+ "args": [
15952
+ {
15953
+ "name": "id",
15954
+ "description": "Order ID.",
15955
+ "type": {
15956
+ "kind": "NON_NULL",
15957
+ "name": null,
15958
+ "ofType": {
15959
+ "kind": "SCALAR",
15960
+ "name": "ID",
15961
+ "ofType": null
15962
+ }
15963
+ },
15964
+ "defaultValue": null
15965
+ }
15966
+ ],
15967
+ "type": {
15968
+ "kind": "NON_NULL",
15969
+ "name": null,
15970
+ "ofType": {
15971
+ "kind": "OBJECT",
15972
+ "name": "OrderDocumentPdfResult",
15973
+ "ofType": null
15974
+ }
15975
+ },
15976
+ "isDeprecated": false,
15977
+ "deprecationReason": null
15978
+ },
15979
+ {
15980
+ "name": "getOrderReceiptPdf",
15981
+ "description": "Download the fiscal receipt PDF for an order. Returns the binary as base64 in `pdfContent`. The order must already have a receipt number (`Order.documents.receiptNumber`).",
15982
+ "args": [
15983
+ {
15984
+ "name": "id",
15985
+ "description": "Order ID.",
15986
+ "type": {
15987
+ "kind": "NON_NULL",
15988
+ "name": null,
15989
+ "ofType": {
15990
+ "kind": "SCALAR",
15991
+ "name": "ID",
15992
+ "ofType": null
15993
+ }
15994
+ },
15995
+ "defaultValue": null
15996
+ }
15997
+ ],
15998
+ "type": {
15999
+ "kind": "NON_NULL",
16000
+ "name": null,
16001
+ "ofType": {
16002
+ "kind": "OBJECT",
16003
+ "name": "OrderDocumentPdfResult",
16004
+ "ofType": null
16005
+ }
16006
+ },
16007
+ "isDeprecated": false,
16008
+ "deprecationReason": null
16009
+ },
16010
+ {
16011
+ "name": "toggleNotifyCustomer",
16012
+ "description": "Toggle customer notification setting on an order.",
16013
+ "args": [
16014
+ {
16015
+ "name": "id",
16016
+ "description": "Order ID.",
16017
+ "type": {
16018
+ "kind": "NON_NULL",
16019
+ "name": null,
16020
+ "ofType": {
16021
+ "kind": "SCALAR",
16022
+ "name": "ID",
16023
+ "ofType": null
16024
+ }
16025
+ },
16026
+ "defaultValue": null
16027
+ },
16028
+ {
16029
+ "name": "enabled",
16030
+ "description": "Enable (true) or disable (false) notifications.",
16031
+ "type": {
16032
+ "kind": "NON_NULL",
16033
+ "name": null,
16034
+ "ofType": {
16035
+ "kind": "SCALAR",
16036
+ "name": "Boolean",
16037
+ "ofType": null
16038
+ }
16039
+ },
16040
+ "defaultValue": null
16041
+ }
16042
+ ],
16043
+ "type": {
16044
+ "kind": "NON_NULL",
16045
+ "name": null,
16046
+ "ofType": {
16047
+ "kind": "OBJECT",
16048
+ "name": "Order",
16049
+ "ofType": null
16050
+ }
16051
+ },
16052
+ "isDeprecated": false,
16053
+ "deprecationReason": null
16054
+ },
16055
+ {
16056
+ "name": "toggleRecalculateLock",
16057
+ "description": "Lock or unlock order price recalculation.",
16058
+ "args": [
16059
+ {
16060
+ "name": "id",
16061
+ "description": "Order ID.",
16062
+ "type": {
16063
+ "kind": "NON_NULL",
16064
+ "name": null,
16065
+ "ofType": {
16066
+ "kind": "SCALAR",
16067
+ "name": "ID",
16068
+ "ofType": null
16069
+ }
16070
+ },
16071
+ "defaultValue": null
16072
+ },
16073
+ {
16074
+ "name": "locked",
16075
+ "description": "Lock (true) or unlock (false) recalculation.",
16076
+ "type": {
16077
+ "kind": "NON_NULL",
16078
+ "name": null,
16079
+ "ofType": {
16080
+ "kind": "SCALAR",
16081
+ "name": "Boolean",
16082
+ "ofType": null
16083
+ }
16084
+ },
16085
+ "defaultValue": null
16086
+ }
16087
+ ],
16088
+ "type": {
16089
+ "kind": "NON_NULL",
16090
+ "name": null,
16091
+ "ofType": {
16092
+ "kind": "OBJECT",
16093
+ "name": "Order",
16094
+ "ofType": null
16095
+ }
16096
+ },
16097
+ "isDeprecated": false,
16098
+ "deprecationReason": null
16099
+ },
16100
+ {
16101
+ "name": "addOrderDiscount",
16102
+ "description": "Add a manual order-level discount.",
16103
+ "args": [
16104
+ {
16105
+ "name": "id",
16106
+ "description": "Order ID.",
16107
+ "type": {
16108
+ "kind": "NON_NULL",
16109
+ "name": null,
16110
+ "ofType": {
16111
+ "kind": "SCALAR",
16112
+ "name": "ID",
16113
+ "ofType": null
16114
+ }
16115
+ },
16116
+ "defaultValue": null
16117
+ },
16118
+ {
16119
+ "name": "input",
16120
+ "description": "Discount input.",
16121
+ "type": {
16122
+ "kind": "NON_NULL",
16123
+ "name": null,
16124
+ "ofType": {
16125
+ "kind": "INPUT_OBJECT",
16126
+ "name": "AddOrderDiscountInput",
16127
+ "ofType": null
16128
+ }
16129
+ },
16130
+ "defaultValue": null
16131
+ }
16132
+ ],
16133
+ "type": {
16134
+ "kind": "NON_NULL",
16135
+ "name": null,
16136
+ "ofType": {
16137
+ "kind": "OBJECT",
16138
+ "name": "Order",
16139
+ "ofType": null
16140
+ }
16141
+ },
16142
+ "isDeprecated": false,
16143
+ "deprecationReason": null
16144
+ },
16145
+ {
16146
+ "name": "applyExistingOrderDiscount",
16147
+ "description": "Apply an existing store discount to an order (use discountsForOrder query to get eligible targets).",
16148
+ "args": [
16149
+ {
16150
+ "name": "id",
16151
+ "description": "Order ID.",
16152
+ "type": {
16153
+ "kind": "NON_NULL",
16154
+ "name": null,
16155
+ "ofType": {
16156
+ "kind": "SCALAR",
16157
+ "name": "ID",
16158
+ "ofType": null
16159
+ }
16160
+ },
16161
+ "defaultValue": null
16162
+ },
16163
+ {
16164
+ "name": "discountTargetId",
16165
+ "description": "Discount target ID from discountsForOrder query.",
16166
+ "type": {
16167
+ "kind": "NON_NULL",
16168
+ "name": null,
16169
+ "ofType": {
16170
+ "kind": "SCALAR",
16171
+ "name": "ID",
16172
+ "ofType": null
16173
+ }
16174
+ },
16175
+ "defaultValue": null
16176
+ }
16177
+ ],
16178
+ "type": {
16179
+ "kind": "NON_NULL",
16180
+ "name": null,
16181
+ "ofType": {
16182
+ "kind": "OBJECT",
16183
+ "name": "Order",
16184
+ "ofType": null
16185
+ }
16186
+ },
16187
+ "isDeprecated": false,
16188
+ "deprecationReason": null
16189
+ },
16190
+ {
16191
+ "name": "removeOrderDiscount",
16192
+ "description": "Remove an order-level discount.",
15934
16193
  "args": [
15935
16194
  {
15936
16195
  "name": "id",
@@ -35454,6 +35713,16 @@
35454
35713
  }
35455
35714
  },
35456
35715
  "defaultValue": null
35716
+ },
35717
+ {
35718
+ "name": "autoFulfill",
35719
+ "description": "Automatically mark order as fulfilled (shipped) after generating waybill.",
35720
+ "type": {
35721
+ "kind": "SCALAR",
35722
+ "name": "Boolean",
35723
+ "ofType": null
35724
+ },
35725
+ "defaultValue": "false"
35457
35726
  }
35458
35727
  ],
35459
35728
  "type": {
@@ -35469,26 +35738,26 @@
35469
35738
  "deprecationReason": null
35470
35739
  },
35471
35740
  {
35472
- "name": "calculateShipping",
35473
- "description": "Calculate shipping rates for an order.",
35741
+ "name": "changeOrderShippingProvider",
35742
+ "description": "Change the shipping provider on an order. Mirrors the admin UI's 'Change shipping provider' flow: swaps the provider, recreates shipping-related taxes for the new zone, and fires the OrderShippingChange event. To swap the provider without recalculating any part of the shipping price, use `swapOrderShippingProvider` instead.",
35474
35743
  "args": [
35475
35744
  {
35476
- "name": "key",
35477
- "description": "The shipping provider app key.",
35745
+ "name": "orderId",
35746
+ "description": "Order ID.",
35478
35747
  "type": {
35479
35748
  "kind": "NON_NULL",
35480
35749
  "name": null,
35481
35750
  "ofType": {
35482
35751
  "kind": "SCALAR",
35483
- "name": "String",
35752
+ "name": "ID",
35484
35753
  "ofType": null
35485
35754
  }
35486
35755
  },
35487
35756
  "defaultValue": null
35488
35757
  },
35489
35758
  {
35490
- "name": "orderId",
35491
- "description": "Order ID.",
35759
+ "name": "shippingProviderId",
35760
+ "description": "ID of the new shipping provider. Must belong to the current site.",
35492
35761
  "type": {
35493
35762
  "kind": "NON_NULL",
35494
35763
  "name": null,
@@ -35501,11 +35770,11 @@
35501
35770
  "defaultValue": null
35502
35771
  },
35503
35772
  {
35504
- "name": "input",
35505
- "description": "Calculation parameters.",
35773
+ "name": "pickupPointId",
35774
+ "description": "Optional pickup point id (office/locker/marketplace) if the new provider requires one. When omitted and the provider needs a pickup, the mutation returns `requiresPickup=true` with the expected `pickupType` so the agent can re-invoke with the id.",
35506
35775
  "type": {
35507
- "kind": "INPUT_OBJECT",
35508
- "name": "ShippingCalculateInput",
35776
+ "kind": "SCALAR",
35777
+ "name": "String",
35509
35778
  "ofType": null
35510
35779
  },
35511
35780
  "defaultValue": null
@@ -35515,40 +35784,18 @@
35515
35784
  "kind": "NON_NULL",
35516
35785
  "name": null,
35517
35786
  "ofType": {
35518
- "kind": "LIST",
35519
- "name": null,
35520
- "ofType": {
35521
- "kind": "NON_NULL",
35522
- "name": null,
35523
- "ofType": {
35524
- "kind": "OBJECT",
35525
- "name": "ShippingCalculation",
35526
- "ofType": null
35527
- }
35528
- }
35787
+ "kind": "OBJECT",
35788
+ "name": "ChangeShippingProviderResult",
35789
+ "ofType": null
35529
35790
  }
35530
35791
  },
35531
35792
  "isDeprecated": false,
35532
35793
  "deprecationReason": null
35533
35794
  },
35534
35795
  {
35535
- "name": "changeShippingPickup",
35536
- "description": "Change the pickup point for an order's shipment.",
35796
+ "name": "swapOrderShippingProvider",
35797
+ "description": "Swap the shipping provider on an order WITHOUT recalculating the shipping price. The entire shipping price breakdown (order_amount, provider_amount, VAT variants, insurance) is captured before and restored after the swap. Use this when the carrier changes but the customer has already been charged and the shipping total must not move. For a fresh quote from the new provider, use `changeOrderShippingProvider` instead.",
35537
35798
  "args": [
35538
- {
35539
- "name": "key",
35540
- "description": "The shipping provider app key.",
35541
- "type": {
35542
- "kind": "NON_NULL",
35543
- "name": null,
35544
- "ofType": {
35545
- "kind": "SCALAR",
35546
- "name": "String",
35547
- "ofType": null
35548
- }
35549
- },
35550
- "defaultValue": null
35551
- },
35552
35799
  {
35553
35800
  "name": "orderId",
35554
35801
  "description": "Order ID.",
@@ -35564,30 +35811,26 @@
35564
35811
  "defaultValue": null
35565
35812
  },
35566
35813
  {
35567
- "name": "type",
35568
- "description": "Pickup type.",
35814
+ "name": "shippingProviderId",
35815
+ "description": "ID of the new shipping provider. Must belong to the current site.",
35569
35816
  "type": {
35570
35817
  "kind": "NON_NULL",
35571
35818
  "name": null,
35572
35819
  "ofType": {
35573
- "kind": "ENUM",
35574
- "name": "ShippingPickupType",
35820
+ "kind": "SCALAR",
35821
+ "name": "ID",
35575
35822
  "ofType": null
35576
35823
  }
35577
35824
  },
35578
35825
  "defaultValue": null
35579
35826
  },
35580
35827
  {
35581
- "name": "input",
35582
- "description": "Pickup details.",
35828
+ "name": "pickupPointId",
35829
+ "description": "Optional pickup point id (office/locker/marketplace) if the new provider requires one. When omitted and the provider needs a pickup, the mutation returns `requiresPickup=true` with the expected `pickupType` so the agent can re-invoke with the id.",
35583
35830
  "type": {
35584
- "kind": "NON_NULL",
35585
- "name": null,
35586
- "ofType": {
35587
- "kind": "INPUT_OBJECT",
35588
- "name": "ShippingPickupInput",
35589
- "ofType": null
35590
- }
35831
+ "kind": "SCALAR",
35832
+ "name": "String",
35833
+ "ofType": null
35591
35834
  },
35592
35835
  "defaultValue": null
35593
35836
  }
@@ -35597,7 +35840,7 @@
35597
35840
  "name": null,
35598
35841
  "ofType": {
35599
35842
  "kind": "OBJECT",
35600
- "name": "ShippingMutationResult",
35843
+ "name": "ChangeShippingProviderResult",
35601
35844
  "ofType": null
35602
35845
  }
35603
35846
  },
@@ -35605,32 +35848,18 @@
35605
35848
  "deprecationReason": null
35606
35849
  },
35607
35850
  {
35608
- "name": "bulkPrintShippingWaybills",
35609
- "description": "Bulk print waybills for multiple orders.",
35851
+ "name": "cancelShippingWaybill",
35852
+ "description": "Cancel a waybill (bill of lading) for an order.",
35610
35853
  "args": [
35611
35854
  {
35612
- "name": "key",
35613
- "description": "The shipping provider app key.",
35855
+ "name": "orderId",
35856
+ "description": "Order ID.",
35614
35857
  "type": {
35615
35858
  "kind": "NON_NULL",
35616
35859
  "name": null,
35617
35860
  "ofType": {
35618
35861
  "kind": "SCALAR",
35619
- "name": "String",
35620
- "ofType": null
35621
- }
35622
- },
35623
- "defaultValue": null
35624
- },
35625
- {
35626
- "name": "input",
35627
- "description": "Print parameters.",
35628
- "type": {
35629
- "kind": "NON_NULL",
35630
- "name": null,
35631
- "ofType": {
35632
- "kind": "INPUT_OBJECT",
35633
- "name": "ShippingBulkPrintInput",
35862
+ "name": "ID",
35634
35863
  "ofType": null
35635
35864
  }
35636
35865
  },
@@ -35642,7 +35871,7 @@
35642
35871
  "name": null,
35643
35872
  "ofType": {
35644
35873
  "kind": "OBJECT",
35645
- "name": "ShippingBulkPrintResult",
35874
+ "name": "ShippingMutationResult",
35646
35875
  "ofType": null
35647
35876
  }
35648
35877
  },
@@ -35650,8 +35879,189 @@
35650
35879
  "deprecationReason": null
35651
35880
  },
35652
35881
  {
35653
- "name": "getShippingWaybillPdf",
35654
- "description": "Get the PDF for a specific order's waybill.",
35882
+ "name": "calculateShipping",
35883
+ "description": "Calculate shipping rates for an order.",
35884
+ "args": [
35885
+ {
35886
+ "name": "key",
35887
+ "description": "The shipping provider app key.",
35888
+ "type": {
35889
+ "kind": "NON_NULL",
35890
+ "name": null,
35891
+ "ofType": {
35892
+ "kind": "SCALAR",
35893
+ "name": "String",
35894
+ "ofType": null
35895
+ }
35896
+ },
35897
+ "defaultValue": null
35898
+ },
35899
+ {
35900
+ "name": "orderId",
35901
+ "description": "Order ID.",
35902
+ "type": {
35903
+ "kind": "NON_NULL",
35904
+ "name": null,
35905
+ "ofType": {
35906
+ "kind": "SCALAR",
35907
+ "name": "ID",
35908
+ "ofType": null
35909
+ }
35910
+ },
35911
+ "defaultValue": null
35912
+ },
35913
+ {
35914
+ "name": "input",
35915
+ "description": "Calculation parameters.",
35916
+ "type": {
35917
+ "kind": "INPUT_OBJECT",
35918
+ "name": "ShippingCalculateInput",
35919
+ "ofType": null
35920
+ },
35921
+ "defaultValue": null
35922
+ }
35923
+ ],
35924
+ "type": {
35925
+ "kind": "NON_NULL",
35926
+ "name": null,
35927
+ "ofType": {
35928
+ "kind": "LIST",
35929
+ "name": null,
35930
+ "ofType": {
35931
+ "kind": "NON_NULL",
35932
+ "name": null,
35933
+ "ofType": {
35934
+ "kind": "OBJECT",
35935
+ "name": "ShippingCalculation",
35936
+ "ofType": null
35937
+ }
35938
+ }
35939
+ }
35940
+ },
35941
+ "isDeprecated": false,
35942
+ "deprecationReason": null
35943
+ },
35944
+ {
35945
+ "name": "changeShippingPickup",
35946
+ "description": "Change the pickup point for an order's shipment.",
35947
+ "args": [
35948
+ {
35949
+ "name": "key",
35950
+ "description": "The shipping provider app key.",
35951
+ "type": {
35952
+ "kind": "NON_NULL",
35953
+ "name": null,
35954
+ "ofType": {
35955
+ "kind": "SCALAR",
35956
+ "name": "String",
35957
+ "ofType": null
35958
+ }
35959
+ },
35960
+ "defaultValue": null
35961
+ },
35962
+ {
35963
+ "name": "orderId",
35964
+ "description": "Order ID.",
35965
+ "type": {
35966
+ "kind": "NON_NULL",
35967
+ "name": null,
35968
+ "ofType": {
35969
+ "kind": "SCALAR",
35970
+ "name": "ID",
35971
+ "ofType": null
35972
+ }
35973
+ },
35974
+ "defaultValue": null
35975
+ },
35976
+ {
35977
+ "name": "type",
35978
+ "description": "Pickup type.",
35979
+ "type": {
35980
+ "kind": "NON_NULL",
35981
+ "name": null,
35982
+ "ofType": {
35983
+ "kind": "ENUM",
35984
+ "name": "ShippingPickupType",
35985
+ "ofType": null
35986
+ }
35987
+ },
35988
+ "defaultValue": null
35989
+ },
35990
+ {
35991
+ "name": "input",
35992
+ "description": "Pickup details.",
35993
+ "type": {
35994
+ "kind": "NON_NULL",
35995
+ "name": null,
35996
+ "ofType": {
35997
+ "kind": "INPUT_OBJECT",
35998
+ "name": "ShippingPickupInput",
35999
+ "ofType": null
36000
+ }
36001
+ },
36002
+ "defaultValue": null
36003
+ }
36004
+ ],
36005
+ "type": {
36006
+ "kind": "NON_NULL",
36007
+ "name": null,
36008
+ "ofType": {
36009
+ "kind": "OBJECT",
36010
+ "name": "ShippingMutationResult",
36011
+ "ofType": null
36012
+ }
36013
+ },
36014
+ "isDeprecated": false,
36015
+ "deprecationReason": null
36016
+ },
36017
+ {
36018
+ "name": "bulkPrintShippingWaybills",
36019
+ "description": "Bulk print waybills for multiple orders.",
36020
+ "args": [
36021
+ {
36022
+ "name": "key",
36023
+ "description": "The shipping provider app key.",
36024
+ "type": {
36025
+ "kind": "NON_NULL",
36026
+ "name": null,
36027
+ "ofType": {
36028
+ "kind": "SCALAR",
36029
+ "name": "String",
36030
+ "ofType": null
36031
+ }
36032
+ },
36033
+ "defaultValue": null
36034
+ },
36035
+ {
36036
+ "name": "input",
36037
+ "description": "Print parameters.",
36038
+ "type": {
36039
+ "kind": "NON_NULL",
36040
+ "name": null,
36041
+ "ofType": {
36042
+ "kind": "INPUT_OBJECT",
36043
+ "name": "ShippingBulkPrintInput",
36044
+ "ofType": null
36045
+ }
36046
+ },
36047
+ "defaultValue": null
36048
+ }
36049
+ ],
36050
+ "type": {
36051
+ "kind": "NON_NULL",
36052
+ "name": null,
36053
+ "ofType": {
36054
+ "kind": "OBJECT",
36055
+ "name": "ShippingBulkPrintResult",
36056
+ "ofType": null
36057
+ }
36058
+ },
36059
+ "isDeprecated": false,
36060
+ "deprecationReason": null
36061
+ },
36062
+ {
36063
+ "name": "getShippingWaybillPdf",
36064
+ "description": "Get the PDF for a specific order's waybill.",
35655
36065
  "args": [
35656
36066
  {
35657
36067
  "name": "key",
@@ -35776,6 +36186,96 @@
35776
36186
  "isDeprecated": false,
35777
36187
  "deprecationReason": null
35778
36188
  },
36189
+ {
36190
+ "name": "changeOrderShippingPayer",
36191
+ "description": "Change the shipping payer side on an order (who pays the carrier — SENDER / RECEIVER / OTHER). Updates Order meta.side and re-runs the current provider's shipping flow so insurance, VAT and the quote are recalculated for the new payer. Available sides depend on provider and order state — paid / completed orders cannot move to RECEIVER.",
36192
+ "args": [
36193
+ {
36194
+ "name": "orderId",
36195
+ "description": "Order ID.",
36196
+ "type": {
36197
+ "kind": "NON_NULL",
36198
+ "name": null,
36199
+ "ofType": {
36200
+ "kind": "SCALAR",
36201
+ "name": "ID",
36202
+ "ofType": null
36203
+ }
36204
+ },
36205
+ "defaultValue": null
36206
+ },
36207
+ {
36208
+ "name": "side",
36209
+ "description": "Payer side. Must be one of the values returned by `Order.shipping.payerSides` for this order.",
36210
+ "type": {
36211
+ "kind": "NON_NULL",
36212
+ "name": null,
36213
+ "ofType": {
36214
+ "kind": "ENUM",
36215
+ "name": "ShippingPayerSide",
36216
+ "ofType": null
36217
+ }
36218
+ },
36219
+ "defaultValue": null
36220
+ }
36221
+ ],
36222
+ "type": {
36223
+ "kind": "NON_NULL",
36224
+ "name": null,
36225
+ "ofType": {
36226
+ "kind": "OBJECT",
36227
+ "name": "Order",
36228
+ "ofType": null
36229
+ }
36230
+ },
36231
+ "isDeprecated": false,
36232
+ "deprecationReason": null
36233
+ },
36234
+ {
36235
+ "name": "setOrderShippingInsurance",
36236
+ "description": "Toggle shipping insurance on an order. Re-runs the current provider with the new insurance flag. Rejects with reason `provider_rejected` when the provider does not support insurance.",
36237
+ "args": [
36238
+ {
36239
+ "name": "orderId",
36240
+ "description": "Order ID.",
36241
+ "type": {
36242
+ "kind": "NON_NULL",
36243
+ "name": null,
36244
+ "ofType": {
36245
+ "kind": "SCALAR",
36246
+ "name": "ID",
36247
+ "ofType": null
36248
+ }
36249
+ },
36250
+ "defaultValue": null
36251
+ },
36252
+ {
36253
+ "name": "enabled",
36254
+ "description": "Enable (true) or disable (false) shipping insurance.",
36255
+ "type": {
36256
+ "kind": "NON_NULL",
36257
+ "name": null,
36258
+ "ofType": {
36259
+ "kind": "SCALAR",
36260
+ "name": "Boolean",
36261
+ "ofType": null
36262
+ }
36263
+ },
36264
+ "defaultValue": null
36265
+ }
36266
+ ],
36267
+ "type": {
36268
+ "kind": "NON_NULL",
36269
+ "name": null,
36270
+ "ofType": {
36271
+ "kind": "OBJECT",
36272
+ "name": "Order",
36273
+ "ofType": null
36274
+ }
36275
+ },
36276
+ "isDeprecated": false,
36277
+ "deprecationReason": null
36278
+ },
35779
36279
  {
35780
36280
  "name": "validateDhlexpressAddress",
35781
36281
  "description": "Validate a DHL Express address.",
@@ -37856,6 +38356,81 @@
37856
38356
  "enumValues": null,
37857
38357
  "possibleTypes": null
37858
38358
  },
38359
+ {
38360
+ "kind": "OBJECT",
38361
+ "name": "OrderDocumentPdfResult",
38362
+ "description": "PDF result for fiscal documents (invoice/receipt). Returns binary as base64 in pdfContent.",
38363
+ "fields": [
38364
+ {
38365
+ "name": "success",
38366
+ "description": "True if a PDF was generated; false if the document does not exist for this order.",
38367
+ "args": [],
38368
+ "type": {
38369
+ "kind": "NON_NULL",
38370
+ "name": null,
38371
+ "ofType": {
38372
+ "kind": "SCALAR",
38373
+ "name": "Boolean",
38374
+ "ofType": null
38375
+ }
38376
+ },
38377
+ "isDeprecated": false,
38378
+ "deprecationReason": null
38379
+ },
38380
+ {
38381
+ "name": "message",
38382
+ "description": "Human-readable message — populated when success=false (e.g. document not generated yet).",
38383
+ "args": [],
38384
+ "type": {
38385
+ "kind": "SCALAR",
38386
+ "name": "String",
38387
+ "ofType": null
38388
+ },
38389
+ "isDeprecated": false,
38390
+ "deprecationReason": null
38391
+ },
38392
+ {
38393
+ "name": "pdfContent",
38394
+ "description": "PDF binary, base64-encoded. Decode and write to disk to obtain the file.",
38395
+ "args": [],
38396
+ "type": {
38397
+ "kind": "SCALAR",
38398
+ "name": "String",
38399
+ "ofType": null
38400
+ },
38401
+ "isDeprecated": false,
38402
+ "deprecationReason": null
38403
+ },
38404
+ {
38405
+ "name": "filename",
38406
+ "description": "Suggested filename (e.g. invoice-12345.pdf). Use this when saving locally.",
38407
+ "args": [],
38408
+ "type": {
38409
+ "kind": "SCALAR",
38410
+ "name": "String",
38411
+ "ofType": null
38412
+ },
38413
+ "isDeprecated": false,
38414
+ "deprecationReason": null
38415
+ },
38416
+ {
38417
+ "name": "contentType",
38418
+ "description": "MIME content type — always application/pdf when success=true.",
38419
+ "args": [],
38420
+ "type": {
38421
+ "kind": "SCALAR",
38422
+ "name": "String",
38423
+ "ofType": null
38424
+ },
38425
+ "isDeprecated": false,
38426
+ "deprecationReason": null
38427
+ }
38428
+ ],
38429
+ "inputFields": null,
38430
+ "interfaces": [],
38431
+ "enumValues": null,
38432
+ "possibleTypes": null
38433
+ },
37859
38434
  {
37860
38435
  "kind": "OBJECT",
37861
38436
  "name": "OrderNotes",
@@ -38403,7 +38978,7 @@
38403
38978
  {
38404
38979
  "kind": "OBJECT",
38405
38980
  "name": "OrderPayment",
38406
- "description": "A payment record for an order.",
38981
+ "description": "A payment record for an order. This is the storefront-side view — for the full gateway record with provider_data, capture/refund history and raw provider response, read `gatewayPayment`.",
38407
38982
  "fields": [
38408
38983
  {
38409
38984
  "name": "id",
@@ -38439,7 +39014,7 @@
38439
39014
  },
38440
39015
  {
38441
39016
  "name": "provider",
38442
- "description": "Payment provider key.",
39017
+ "description": "Payment provider key (e.g. 'cod', 'stripe', 'borica_way4', 'paypal').",
38443
39018
  "args": [],
38444
39019
  "type": {
38445
39020
  "kind": "SCALAR",
@@ -38487,7 +39062,7 @@
38487
39062
  },
38488
39063
  {
38489
39064
  "name": "status",
38490
- "description": "Payment status.",
39065
+ "description": "Payment status: initiated | requested | pending | completed | authorized | refunded | cancelled | failed | timeouted.",
38491
39066
  "args": [],
38492
39067
  "type": {
38493
39068
  "kind": "SCALAR",
@@ -38532,6 +39107,269 @@
38532
39107
  },
38533
39108
  "isDeprecated": false,
38534
39109
  "deprecationReason": null
39110
+ },
39111
+ {
39112
+ "name": "gatewayPayment",
39113
+ "description": "Gateway-side payment record — contains raw provider response data, authorize amount, currency, and history. Null until the payment has been initiated on the gateway.",
39114
+ "args": [],
39115
+ "type": {
39116
+ "kind": "OBJECT",
39117
+ "name": "PaymentGatewayRecord",
39118
+ "ofType": null
39119
+ },
39120
+ "isDeprecated": false,
39121
+ "deprecationReason": null
39122
+ },
39123
+ {
39124
+ "name": "providerType",
39125
+ "description": "Payment provider type(s): e.g. offline, online, credit. Used by the admin UI to show/hide Mark-as-paid, Capture and Refund buttons.",
39126
+ "args": [],
39127
+ "type": {
39128
+ "kind": "LIST",
39129
+ "name": null,
39130
+ "ofType": {
39131
+ "kind": "NON_NULL",
39132
+ "name": null,
39133
+ "ofType": {
39134
+ "kind": "SCALAR",
39135
+ "name": "String",
39136
+ "ofType": null
39137
+ }
39138
+ }
39139
+ },
39140
+ "isDeprecated": false,
39141
+ "deprecationReason": null
39142
+ },
39143
+ {
39144
+ "name": "isOffline",
39145
+ "description": "True when the payment is an offline/manual one (COD, bank transfer) — enables `markPaymentPaid` mutation.",
39146
+ "args": [],
39147
+ "type": {
39148
+ "kind": "NON_NULL",
39149
+ "name": null,
39150
+ "ofType": {
39151
+ "kind": "SCALAR",
39152
+ "name": "Boolean",
39153
+ "ofType": null
39154
+ }
39155
+ },
39156
+ "isDeprecated": false,
39157
+ "deprecationReason": null
39158
+ },
39159
+ {
39160
+ "name": "canCapture",
39161
+ "description": "True when the payment has been authorized and can be captured via `capturePayment` (or cancelled via `cancelPayment`).",
39162
+ "args": [],
39163
+ "type": {
39164
+ "kind": "NON_NULL",
39165
+ "name": null,
39166
+ "ofType": {
39167
+ "kind": "SCALAR",
39168
+ "name": "Boolean",
39169
+ "ofType": null
39170
+ }
39171
+ },
39172
+ "isDeprecated": false,
39173
+ "deprecationReason": null
39174
+ },
39175
+ {
39176
+ "name": "canRefund",
39177
+ "description": "True when the payment is completed and can be refunded via `refundPayment`.",
39178
+ "args": [],
39179
+ "type": {
39180
+ "kind": "NON_NULL",
39181
+ "name": null,
39182
+ "ofType": {
39183
+ "kind": "SCALAR",
39184
+ "name": "Boolean",
39185
+ "ofType": null
39186
+ }
39187
+ },
39188
+ "isDeprecated": false,
39189
+ "deprecationReason": null
39190
+ }
39191
+ ],
39192
+ "inputFields": null,
39193
+ "interfaces": [],
39194
+ "enumValues": null,
39195
+ "possibleTypes": null
39196
+ },
39197
+ {
39198
+ "kind": "OBJECT",
39199
+ "name": "PaymentGatewayRecord",
39200
+ "description": "Full gateway-side payment record — exposes the raw provider data and authorization lifecycle details not captured on OrderPayment itself.",
39201
+ "fields": [
39202
+ {
39203
+ "name": "id",
39204
+ "description": "Gateway payment ID.",
39205
+ "args": [],
39206
+ "type": {
39207
+ "kind": "NON_NULL",
39208
+ "name": null,
39209
+ "ofType": {
39210
+ "kind": "SCALAR",
39211
+ "name": "ID",
39212
+ "ofType": null
39213
+ }
39214
+ },
39215
+ "isDeprecated": false,
39216
+ "deprecationReason": null
39217
+ },
39218
+ {
39219
+ "name": "provider",
39220
+ "description": "Provider key (e.g. 'stripe', 'borica_way4', 'cod').",
39221
+ "args": [],
39222
+ "type": {
39223
+ "kind": "SCALAR",
39224
+ "name": "String",
39225
+ "ofType": null
39226
+ },
39227
+ "isDeprecated": false,
39228
+ "deprecationReason": null
39229
+ },
39230
+ {
39231
+ "name": "siteReferenceId",
39232
+ "description": "Order-payment reference (maps back to OrderPayment.id).",
39233
+ "args": [],
39234
+ "type": {
39235
+ "kind": "SCALAR",
39236
+ "name": "String",
39237
+ "ofType": null
39238
+ },
39239
+ "isDeprecated": false,
39240
+ "deprecationReason": null
39241
+ },
39242
+ {
39243
+ "name": "providerReferenceId",
39244
+ "description": "Provider-issued reference id (transaction id, charge id, etc.).",
39245
+ "args": [],
39246
+ "type": {
39247
+ "kind": "SCALAR",
39248
+ "name": "String",
39249
+ "ofType": null
39250
+ },
39251
+ "isDeprecated": false,
39252
+ "deprecationReason": null
39253
+ },
39254
+ {
39255
+ "name": "amount",
39256
+ "description": "Payment amount in minor units (e.g. stotinki).",
39257
+ "args": [],
39258
+ "type": {
39259
+ "kind": "SCALAR",
39260
+ "name": "Int",
39261
+ "ofType": null
39262
+ },
39263
+ "isDeprecated": false,
39264
+ "deprecationReason": null
39265
+ },
39266
+ {
39267
+ "name": "currency",
39268
+ "description": "Currency ISO code (e.g. BGN, EUR, USD).",
39269
+ "args": [],
39270
+ "type": {
39271
+ "kind": "SCALAR",
39272
+ "name": "String",
39273
+ "ofType": null
39274
+ },
39275
+ "isDeprecated": false,
39276
+ "deprecationReason": null
39277
+ },
39278
+ {
39279
+ "name": "authorizeAmount",
39280
+ "description": "Authorized amount — set when the provider supports auth+capture, 0/null otherwise.",
39281
+ "args": [],
39282
+ "type": {
39283
+ "kind": "SCALAR",
39284
+ "name": "Int",
39285
+ "ofType": null
39286
+ },
39287
+ "isDeprecated": false,
39288
+ "deprecationReason": null
39289
+ },
39290
+ {
39291
+ "name": "status",
39292
+ "description": "Payment status — follows the same vocabulary as OrderPayment.status.",
39293
+ "args": [],
39294
+ "type": {
39295
+ "kind": "SCALAR",
39296
+ "name": "String",
39297
+ "ofType": null
39298
+ },
39299
+ "isDeprecated": false,
39300
+ "deprecationReason": null
39301
+ },
39302
+ {
39303
+ "name": "invoice",
39304
+ "description": "Invoice reference, if issued.",
39305
+ "args": [],
39306
+ "type": {
39307
+ "kind": "SCALAR",
39308
+ "name": "String",
39309
+ "ofType": null
39310
+ },
39311
+ "isDeprecated": false,
39312
+ "deprecationReason": null
39313
+ },
39314
+ {
39315
+ "name": "clientEmail",
39316
+ "description": "Client email used when initiating the payment.",
39317
+ "args": [],
39318
+ "type": {
39319
+ "kind": "SCALAR",
39320
+ "name": "String",
39321
+ "ofType": null
39322
+ },
39323
+ "isDeprecated": false,
39324
+ "deprecationReason": null
39325
+ },
39326
+ {
39327
+ "name": "country",
39328
+ "description": "Billing country.",
39329
+ "args": [],
39330
+ "type": {
39331
+ "kind": "SCALAR",
39332
+ "name": "String",
39333
+ "ofType": null
39334
+ },
39335
+ "isDeprecated": false,
39336
+ "deprecationReason": null
39337
+ },
39338
+ {
39339
+ "name": "providerData",
39340
+ "description": "Raw provider-specific data (JSON). May contain PCI-sensitive fields — prefer explicit fields above when available.",
39341
+ "args": [],
39342
+ "type": {
39343
+ "kind": "SCALAR",
39344
+ "name": "JSON",
39345
+ "ofType": null
39346
+ },
39347
+ "isDeprecated": false,
39348
+ "deprecationReason": null
39349
+ },
39350
+ {
39351
+ "name": "dateRequested",
39352
+ "description": "When the payment was first requested from the provider.",
39353
+ "args": [],
39354
+ "type": {
39355
+ "kind": "SCALAR",
39356
+ "name": "DateTime",
39357
+ "ofType": null
39358
+ },
39359
+ "isDeprecated": false,
39360
+ "deprecationReason": null
39361
+ },
39362
+ {
39363
+ "name": "dateLastUpdated",
39364
+ "description": "When the record was last updated.",
39365
+ "args": [],
39366
+ "type": {
39367
+ "kind": "SCALAR",
39368
+ "name": "DateTime",
39369
+ "ofType": null
39370
+ },
39371
+ "isDeprecated": false,
39372
+ "deprecationReason": null
38535
39373
  }
38536
39374
  ],
38537
39375
  "inputFields": null,
@@ -41007,6 +41845,73 @@
41007
41845
  "ofType": null
41008
41846
  },
41009
41847
  "defaultValue": null
41848
+ },
41849
+ {
41850
+ "name": "discount_value",
41851
+ "description": "New discount value to apply to the existing line discount. Scoped to `discounts.global.type_value` — only applies if the product already has a discount. Format: absolute currency amount for flat/fixed discounts, percentage for percent discounts.",
41852
+ "type": {
41853
+ "kind": "SCALAR",
41854
+ "name": "Float",
41855
+ "ofType": null
41856
+ },
41857
+ "defaultValue": null
41858
+ },
41859
+ {
41860
+ "name": "options",
41861
+ "description": "Updates to individual product options on this line item. Use the option `id` from `OrderProduct.options`. Each option`s `discount_price` follows its amount type (percent vs absolute).",
41862
+ "type": {
41863
+ "kind": "LIST",
41864
+ "name": null,
41865
+ "ofType": {
41866
+ "kind": "NON_NULL",
41867
+ "name": null,
41868
+ "ofType": {
41869
+ "kind": "INPUT_OBJECT",
41870
+ "name": "UpdateOrderProductOptionInput",
41871
+ "ofType": null
41872
+ }
41873
+ }
41874
+ },
41875
+ "defaultValue": null
41876
+ }
41877
+ ],
41878
+ "interfaces": null,
41879
+ "enumValues": null,
41880
+ "possibleTypes": null
41881
+ },
41882
+ {
41883
+ "kind": "INPUT_OBJECT",
41884
+ "name": "UpdateOrderProductOptionInput",
41885
+ "description": "Update a single option`s price/amount on an order line item.",
41886
+ "fields": null,
41887
+ "inputFields": [
41888
+ {
41889
+ "name": "id",
41890
+ "description": "Option ID (from OrderProduct.options[].id).",
41891
+ "type": {
41892
+ "kind": "NON_NULL",
41893
+ "name": null,
41894
+ "ofType": {
41895
+ "kind": "SCALAR",
41896
+ "name": "ID",
41897
+ "ofType": null
41898
+ }
41899
+ },
41900
+ "defaultValue": null
41901
+ },
41902
+ {
41903
+ "name": "discount_price",
41904
+ "description": "Option price override. For options with `amount_type = percent`, this is a percentage value (0..100). For absolute options, this is a currency amount.",
41905
+ "type": {
41906
+ "kind": "NON_NULL",
41907
+ "name": null,
41908
+ "ofType": {
41909
+ "kind": "SCALAR",
41910
+ "name": "Float",
41911
+ "ofType": null
41912
+ }
41913
+ },
41914
+ "defaultValue": null
41010
41915
  }
41011
41916
  ],
41012
41917
  "interfaces": null,
@@ -41117,12 +42022,77 @@
41117
42022
  "enumValues": null,
41118
42023
  "possibleTypes": null
41119
42024
  },
42025
+ {
42026
+ "kind": "ENUM",
42027
+ "name": "ShippingDeliveryType",
42028
+ "description": "Type of delivery destination on an order. Determines which fields are written to the shipping address and which are cleared. When omitted from UpdateShippingAddressInput, the resolver infers from supplied fields (office_id -> OFFICE/LOCKER per office_type; marketplace_id -> MARKETPLACE; street_name or street_number -> ADDRESS).",
42029
+ "fields": null,
42030
+ "inputFields": null,
42031
+ "interfaces": null,
42032
+ "enumValues": [
42033
+ {
42034
+ "name": "ADDRESS",
42035
+ "description": "Door-to-door delivery to a street address. Clears office/locker/marketplace data.",
42036
+ "isDeprecated": false,
42037
+ "deprecationReason": null
42038
+ },
42039
+ {
42040
+ "name": "OFFICE",
42041
+ "description": "Delivery to the provider's office. Sets office_id + office_type=0, clears street + marketplace.",
42042
+ "isDeprecated": false,
42043
+ "deprecationReason": null
42044
+ },
42045
+ {
42046
+ "name": "LOCKER",
42047
+ "description": "Delivery to a parcel locker. Sets office_id + office_type=1, clears street + marketplace.",
42048
+ "isDeprecated": false,
42049
+ "deprecationReason": null
42050
+ },
42051
+ {
42052
+ "name": "MARKETPLACE",
42053
+ "description": "Delivery to a marketplace pickup point. Sets marketplace fields, clears office + street.",
42054
+ "isDeprecated": false,
42055
+ "deprecationReason": null
42056
+ }
42057
+ ],
42058
+ "possibleTypes": null
42059
+ },
41120
42060
  {
41121
42061
  "kind": "INPUT_OBJECT",
41122
42062
  "name": "UpdateShippingAddressInput",
41123
42063
  "description": "Input for updating a shipping address.",
41124
42064
  "fields": null,
41125
42065
  "inputFields": [
42066
+ {
42067
+ "name": "delivery_type",
42068
+ "description": "Delivery type. If omitted, inferred from which fields are supplied. Choosing ADDRESS clears office/marketplace; choosing OFFICE/LOCKER clears street/marketplace; choosing MARKETPLACE clears the rest. This prevents stale data when switching between pickup modes.",
42069
+ "type": {
42070
+ "kind": "ENUM",
42071
+ "name": "ShippingDeliveryType",
42072
+ "ofType": null
42073
+ },
42074
+ "defaultValue": null
42075
+ },
42076
+ {
42077
+ "name": "marketplace_id",
42078
+ "description": "Marketplace pickup point id (used with delivery_type: MARKETPLACE).",
42079
+ "type": {
42080
+ "kind": "SCALAR",
42081
+ "name": "String",
42082
+ "ofType": null
42083
+ },
42084
+ "defaultValue": null
42085
+ },
42086
+ {
42087
+ "name": "marketplace_name",
42088
+ "description": "Marketplace pickup point name (used with delivery_type: MARKETPLACE).",
42089
+ "type": {
42090
+ "kind": "SCALAR",
42091
+ "name": "String",
42092
+ "ofType": null
42093
+ },
42094
+ "defaultValue": null
42095
+ },
41126
42096
  {
41127
42097
  "name": "first_name",
41128
42098
  "description": "First name.",
@@ -107055,6 +108025,35 @@
107055
108025
  ],
107056
108026
  "possibleTypes": null
107057
108027
  },
108028
+ {
108029
+ "kind": "ENUM",
108030
+ "name": "ShippingPayerSide",
108031
+ "description": "Who pays for the shipping waybill (used by createShippingWaybill / changeOrderShippingPayer). Each provider exposes which sides are valid via Order.shipping payer info.",
108032
+ "fields": null,
108033
+ "inputFields": null,
108034
+ "interfaces": null,
108035
+ "enumValues": [
108036
+ {
108037
+ "name": "SENDER",
108038
+ "description": "Sender (merchant) pays the carrier.",
108039
+ "isDeprecated": false,
108040
+ "deprecationReason": null
108041
+ },
108042
+ {
108043
+ "name": "RECEIVER",
108044
+ "description": "Receiver (customer) pays on delivery (cash on delivery scenarios).",
108045
+ "isDeprecated": false,
108046
+ "deprecationReason": null
108047
+ },
108048
+ {
108049
+ "name": "OTHER",
108050
+ "description": "Third-party / other payer.",
108051
+ "isDeprecated": false,
108052
+ "deprecationReason": null
108053
+ }
108054
+ ],
108055
+ "possibleTypes": null
108056
+ },
107058
108057
  {
107059
108058
  "kind": "OBJECT",
107060
108059
  "name": "ShippingSettings",
@@ -108095,6 +109094,30 @@
108095
109094
  },
108096
109095
  "isDeprecated": false,
108097
109096
  "deprecationReason": null
109097
+ },
109098
+ {
109099
+ "name": "countryIso2",
109100
+ "description": "ISO 3166-1 alpha-2 country code (when the provider exposes it).",
109101
+ "args": [],
109102
+ "type": {
109103
+ "kind": "SCALAR",
109104
+ "name": "String",
109105
+ "ofType": null
109106
+ },
109107
+ "isDeprecated": false,
109108
+ "deprecationReason": null
109109
+ },
109110
+ {
109111
+ "name": "countryName",
109112
+ "description": "Localised country name (when the provider exposes it).",
109113
+ "args": [],
109114
+ "type": {
109115
+ "kind": "SCALAR",
109116
+ "name": "String",
109117
+ "ofType": null
109118
+ },
109119
+ "isDeprecated": false,
109120
+ "deprecationReason": null
108098
109121
  }
108099
109122
  ],
108100
109123
  "inputFields": null,
@@ -108722,6 +109745,270 @@
108722
109745
  "enumValues": null,
108723
109746
  "possibleTypes": null
108724
109747
  },
109748
+ {
109749
+ "kind": "OBJECT",
109750
+ "name": "ChangeShippingProviderResult",
109751
+ "description": "Result of changing the shipping provider on an order.",
109752
+ "fields": [
109753
+ {
109754
+ "name": "success",
109755
+ "description": "Whether the provider was successfully changed.",
109756
+ "args": [],
109757
+ "type": {
109758
+ "kind": "NON_NULL",
109759
+ "name": null,
109760
+ "ofType": {
109761
+ "kind": "SCALAR",
109762
+ "name": "Boolean",
109763
+ "ofType": null
109764
+ }
109765
+ },
109766
+ "isDeprecated": false,
109767
+ "deprecationReason": null
109768
+ },
109769
+ {
109770
+ "name": "message",
109771
+ "description": "Human-readable message. Null on success.",
109772
+ "args": [],
109773
+ "type": {
109774
+ "kind": "SCALAR",
109775
+ "name": "String",
109776
+ "ofType": null
109777
+ },
109778
+ "isDeprecated": false,
109779
+ "deprecationReason": null
109780
+ },
109781
+ {
109782
+ "name": "requiresPickup",
109783
+ "description": "True if the new provider requires a pickup selection (office/locker/marketplace/address) and none was supplied. The agent should retrieve the pickup list and re-invoke the mutation with `pickupPointId`.",
109784
+ "args": [],
109785
+ "type": {
109786
+ "kind": "NON_NULL",
109787
+ "name": null,
109788
+ "ofType": {
109789
+ "kind": "SCALAR",
109790
+ "name": "Boolean",
109791
+ "ofType": null
109792
+ }
109793
+ },
109794
+ "isDeprecated": false,
109795
+ "deprecationReason": null
109796
+ },
109797
+ {
109798
+ "name": "pickupType",
109799
+ "description": "When `requiresPickup` is true, the type of pickup expected.",
109800
+ "args": [],
109801
+ "type": {
109802
+ "kind": "ENUM",
109803
+ "name": "ShippingProviderPickupType",
109804
+ "ofType": null
109805
+ },
109806
+ "isDeprecated": false,
109807
+ "deprecationReason": null
109808
+ },
109809
+ {
109810
+ "name": "newProviderKey",
109811
+ "description": "Key of the new provider (e.g. 'econt', 'speedy'). Null if swap did not happen.",
109812
+ "args": [],
109813
+ "type": {
109814
+ "kind": "SCALAR",
109815
+ "name": "String",
109816
+ "ofType": null
109817
+ },
109818
+ "isDeprecated": false,
109819
+ "deprecationReason": null
109820
+ },
109821
+ {
109822
+ "name": "shippingAmount",
109823
+ "description": "Resulting shipping amount on the order after the swap.",
109824
+ "args": [],
109825
+ "type": {
109826
+ "kind": "SCALAR",
109827
+ "name": "Float",
109828
+ "ofType": null
109829
+ },
109830
+ "isDeprecated": false,
109831
+ "deprecationReason": null
109832
+ },
109833
+ {
109834
+ "name": "previousShippingAmount",
109835
+ "description": "The shipping amount before the swap. Useful for diffing against `shippingAmount`.",
109836
+ "args": [],
109837
+ "type": {
109838
+ "kind": "SCALAR",
109839
+ "name": "Float",
109840
+ "ofType": null
109841
+ },
109842
+ "isDeprecated": false,
109843
+ "deprecationReason": null
109844
+ },
109845
+ {
109846
+ "name": "shippingAmountPreserved",
109847
+ "description": "Whether the shipping amount was preserved (keepShippingAmount flag).",
109848
+ "args": [],
109849
+ "type": {
109850
+ "kind": "NON_NULL",
109851
+ "name": null,
109852
+ "ofType": {
109853
+ "kind": "SCALAR",
109854
+ "name": "Boolean",
109855
+ "ofType": null
109856
+ }
109857
+ },
109858
+ "isDeprecated": false,
109859
+ "deprecationReason": null
109860
+ }
109861
+ ],
109862
+ "inputFields": null,
109863
+ "interfaces": [],
109864
+ "enumValues": null,
109865
+ "possibleTypes": null
109866
+ },
109867
+ {
109868
+ "kind": "ENUM",
109869
+ "name": "ShippingProviderPickupType",
109870
+ "description": "Type of pickup selection a shipping provider needs.",
109871
+ "fields": null,
109872
+ "inputFields": null,
109873
+ "interfaces": null,
109874
+ "enumValues": [
109875
+ {
109876
+ "name": "ADDRESS",
109877
+ "description": "Delivery to the customer's street address — no pickup needed.",
109878
+ "isDeprecated": false,
109879
+ "deprecationReason": null
109880
+ },
109881
+ {
109882
+ "name": "OFFICE",
109883
+ "description": "Delivery to one of the provider's physical offices.",
109884
+ "isDeprecated": false,
109885
+ "deprecationReason": null
109886
+ },
109887
+ {
109888
+ "name": "LOCKER",
109889
+ "description": "Delivery to a parcel locker / automatic terminal.",
109890
+ "isDeprecated": false,
109891
+ "deprecationReason": null
109892
+ },
109893
+ {
109894
+ "name": "MARKETPLACE",
109895
+ "description": "Delivery to a partner marketplace pickup point.",
109896
+ "isDeprecated": false,
109897
+ "deprecationReason": null
109898
+ }
109899
+ ],
109900
+ "possibleTypes": null
109901
+ },
109902
+ {
109903
+ "kind": "OBJECT",
109904
+ "name": "ShippingCountry",
109905
+ "description": "A country supported by a shipping provider. Populated by the provider's `listCountries()` — what each carrier actually services.",
109906
+ "fields": [
109907
+ {
109908
+ "name": "id",
109909
+ "description": "Country ID (provider-specific, usually matches the local cities database).",
109910
+ "args": [],
109911
+ "type": {
109912
+ "kind": "SCALAR",
109913
+ "name": "String",
109914
+ "ofType": null
109915
+ },
109916
+ "isDeprecated": false,
109917
+ "deprecationReason": null
109918
+ },
109919
+ {
109920
+ "name": "iso2",
109921
+ "description": "ISO 3166-1 alpha-2 country code (e.g. BG, RO, GR).",
109922
+ "args": [],
109923
+ "type": {
109924
+ "kind": "SCALAR",
109925
+ "name": "String",
109926
+ "ofType": null
109927
+ },
109928
+ "isDeprecated": false,
109929
+ "deprecationReason": null
109930
+ },
109931
+ {
109932
+ "name": "iso3",
109933
+ "description": "ISO 3166-1 alpha-3 country code (e.g. BGR, ROU, GRC).",
109934
+ "args": [],
109935
+ "type": {
109936
+ "kind": "SCALAR",
109937
+ "name": "String",
109938
+ "ofType": null
109939
+ },
109940
+ "isDeprecated": false,
109941
+ "deprecationReason": null
109942
+ },
109943
+ {
109944
+ "name": "name",
109945
+ "description": "Localised country name (language follows the current admin locale).",
109946
+ "args": [],
109947
+ "type": {
109948
+ "kind": "SCALAR",
109949
+ "name": "String",
109950
+ "ofType": null
109951
+ },
109952
+ "isDeprecated": false,
109953
+ "deprecationReason": null
109954
+ },
109955
+ {
109956
+ "name": "phoneCode",
109957
+ "description": "Phone/calling code (e.g. 359 for Bulgaria), when the provider exposes it.",
109958
+ "args": [],
109959
+ "type": {
109960
+ "kind": "SCALAR",
109961
+ "name": "String",
109962
+ "ofType": null
109963
+ },
109964
+ "isDeprecated": false,
109965
+ "deprecationReason": null
109966
+ }
109967
+ ],
109968
+ "inputFields": null,
109969
+ "interfaces": [],
109970
+ "enumValues": null,
109971
+ "possibleTypes": null
109972
+ },
109973
+ {
109974
+ "kind": "OBJECT",
109975
+ "name": "ShippingPdfFormat",
109976
+ "description": "A PDF output format supported by a shipping provider for waybill printing.",
109977
+ "fields": [
109978
+ {
109979
+ "name": "type",
109980
+ "description": "Machine identifier to pass as `type` to `getShippingWaybillPdf` (e.g. `A4`, `A6`, `label`, `printer`, `sticker`).",
109981
+ "args": [],
109982
+ "type": {
109983
+ "kind": "NON_NULL",
109984
+ "name": null,
109985
+ "ofType": {
109986
+ "kind": "SCALAR",
109987
+ "name": "String",
109988
+ "ofType": null
109989
+ }
109990
+ },
109991
+ "isDeprecated": false,
109992
+ "deprecationReason": null
109993
+ },
109994
+ {
109995
+ "name": "label",
109996
+ "description": "Human-readable label describing the format.",
109997
+ "args": [],
109998
+ "type": {
109999
+ "kind": "SCALAR",
110000
+ "name": "String",
110001
+ "ofType": null
110002
+ },
110003
+ "isDeprecated": false,
110004
+ "deprecationReason": null
110005
+ }
110006
+ ],
110007
+ "inputFields": null,
110008
+ "interfaces": [],
110009
+ "enumValues": null,
110010
+ "possibleTypes": null
110011
+ },
108725
110012
  {
108726
110013
  "kind": "OBJECT",
108727
110014
  "name": "GlovoShop",
@@ -109892,6 +111179,16 @@
109892
111179
  "ofType": null
109893
111180
  },
109894
111181
  "defaultValue": null
111182
+ },
111183
+ {
111184
+ "name": "provider_options",
111185
+ "description": "Provider-specific options as a JSON object. Keys are the provider's own waybill-request field names (e.g. for Econt: priority_time, priority_type, priority_hour, pay_after_accept, back_documents, instruction). Call shippingWaybillSchema(key: <provider>) first to discover the supported keys, their types, required-if dependencies and mutually-exclusive pairs.",
111186
+ "type": {
111187
+ "kind": "SCALAR",
111188
+ "name": "JSON",
111189
+ "ofType": null
111190
+ },
111191
+ "defaultValue": null
109895
111192
  }
109896
111193
  ],
109897
111194
  "interfaces": null,
@@ -110169,7 +111466,7 @@
110169
111466
  "inputFields": [
110170
111467
  {
110171
111468
  "name": "query",
110172
- "description": "Search query.",
111469
+ "description": "Search query (office name fragment).",
110173
111470
  "type": {
110174
111471
  "kind": "SCALAR",
110175
111472
  "name": "String",
@@ -110179,7 +111476,7 @@
110179
111476
  },
110180
111477
  {
110181
111478
  "name": "city",
110182
- "description": "Filter by city.",
111479
+ "description": "Filter by city name (plain text).",
110183
111480
  "type": {
110184
111481
  "kind": "SCALAR",
110185
111482
  "name": "String",
@@ -110189,7 +111486,7 @@
110189
111486
  },
110190
111487
  {
110191
111488
  "name": "city_id",
110192
- "description": "Filter by city ID.",
111489
+ "description": "Filter by city ID (from the provider's city catalogue). Takes precedence over when both are supplied.",
110193
111490
  "type": {
110194
111491
  "kind": "SCALAR",
110195
111492
  "name": "String",
@@ -110199,7 +111496,7 @@
110199
111496
  },
110200
111497
  {
110201
111498
  "name": "type",
110202
- "description": "Filter by type (office, locker, etc.).",
111499
+ "description": "Filter by office type (e.g. office, locker, apt).",
110203
111500
  "type": {
110204
111501
  "kind": "SCALAR",
110205
111502
  "name": "String",
@@ -110216,6 +111513,26 @@
110216
111513
  "ofType": null
110217
111514
  },
110218
111515
  "defaultValue": null
111516
+ },
111517
+ {
111518
+ "name": "country",
111519
+ "description": "Filter by country ISO2 code (e.g. BG, RO, GR). Post-filters the office list against each office's country.",
111520
+ "type": {
111521
+ "kind": "SCALAR",
111522
+ "name": "String",
111523
+ "ofType": null
111524
+ },
111525
+ "defaultValue": null
111526
+ },
111527
+ {
111528
+ "name": "limit",
111529
+ "description": "Max results to return (safety cap). Defaults to 200.",
111530
+ "type": {
111531
+ "kind": "SCALAR",
111532
+ "name": "Int",
111533
+ "ofType": null
111534
+ },
111535
+ "defaultValue": null
110219
111536
  }
110220
111537
  ],
110221
111538
  "interfaces": null,
@@ -110488,6 +111805,576 @@
110488
111805
  "enumValues": null,
110489
111806
  "possibleTypes": null
110490
111807
  },
111808
+ {
111809
+ "kind": "OBJECT",
111810
+ "name": "ShippingWaybillFieldDescriptor",
111811
+ "description": "Describes a single field on the waybill-creation input for a specific shipping provider.",
111812
+ "fields": [
111813
+ {
111814
+ "name": "name",
111815
+ "description": "Machine name of the field (camelCase, e.g. 'priorityType').",
111816
+ "args": [],
111817
+ "type": {
111818
+ "kind": "NON_NULL",
111819
+ "name": null,
111820
+ "ofType": {
111821
+ "kind": "SCALAR",
111822
+ "name": "String",
111823
+ "ofType": null
111824
+ }
111825
+ },
111826
+ "isDeprecated": false,
111827
+ "deprecationReason": null
111828
+ },
111829
+ {
111830
+ "name": "path",
111831
+ "description": "Dot-path of the field inside the request payload (e.g. 'waybill.priority_type'). Use this when mapping into `providerOptions` JSON.",
111832
+ "args": [],
111833
+ "type": {
111834
+ "kind": "NON_NULL",
111835
+ "name": null,
111836
+ "ofType": {
111837
+ "kind": "SCALAR",
111838
+ "name": "String",
111839
+ "ofType": null
111840
+ }
111841
+ },
111842
+ "isDeprecated": false,
111843
+ "deprecationReason": null
111844
+ },
111845
+ {
111846
+ "name": "label",
111847
+ "description": "Human-readable label (translated when available).",
111848
+ "args": [],
111849
+ "type": {
111850
+ "kind": "SCALAR",
111851
+ "name": "String",
111852
+ "ofType": null
111853
+ },
111854
+ "isDeprecated": false,
111855
+ "deprecationReason": null
111856
+ },
111857
+ {
111858
+ "name": "type",
111859
+ "description": "Data type of the field.",
111860
+ "args": [],
111861
+ "type": {
111862
+ "kind": "NON_NULL",
111863
+ "name": null,
111864
+ "ofType": {
111865
+ "kind": "ENUM",
111866
+ "name": "ShippingFieldType",
111867
+ "ofType": null
111868
+ }
111869
+ },
111870
+ "isDeprecated": false,
111871
+ "deprecationReason": null
111872
+ },
111873
+ {
111874
+ "name": "required",
111875
+ "description": "Whether the field is always required.",
111876
+ "args": [],
111877
+ "type": {
111878
+ "kind": "NON_NULL",
111879
+ "name": null,
111880
+ "ofType": {
111881
+ "kind": "SCALAR",
111882
+ "name": "Boolean",
111883
+ "ofType": null
111884
+ }
111885
+ },
111886
+ "isDeprecated": false,
111887
+ "deprecationReason": null
111888
+ },
111889
+ {
111890
+ "name": "requiredIf",
111891
+ "description": "Conditional-requirement expression derived from `required_if` / `required_with` rules, e.g. 'waybill.cod=1'.",
111892
+ "args": [],
111893
+ "type": {
111894
+ "kind": "SCALAR",
111895
+ "name": "String",
111896
+ "ofType": null
111897
+ },
111898
+ "isDeprecated": false,
111899
+ "deprecationReason": null
111900
+ },
111901
+ {
111902
+ "name": "description",
111903
+ "description": "Human-readable description explaining the purpose of the field (from lang/messages).",
111904
+ "args": [],
111905
+ "type": {
111906
+ "kind": "SCALAR",
111907
+ "name": "String",
111908
+ "ofType": null
111909
+ },
111910
+ "isDeprecated": false,
111911
+ "deprecationReason": null
111912
+ },
111913
+ {
111914
+ "name": "enumValues",
111915
+ "description": "For ENUM types: the list of allowed raw values.",
111916
+ "args": [],
111917
+ "type": {
111918
+ "kind": "LIST",
111919
+ "name": null,
111920
+ "ofType": {
111921
+ "kind": "NON_NULL",
111922
+ "name": null,
111923
+ "ofType": {
111924
+ "kind": "SCALAR",
111925
+ "name": "String",
111926
+ "ofType": null
111927
+ }
111928
+ }
111929
+ },
111930
+ "isDeprecated": false,
111931
+ "deprecationReason": null
111932
+ },
111933
+ {
111934
+ "name": "enumLabels",
111935
+ "description": "For ENUM types: optional human-readable labels, positionally aligned with `enumValues`.",
111936
+ "args": [],
111937
+ "type": {
111938
+ "kind": "LIST",
111939
+ "name": null,
111940
+ "ofType": {
111941
+ "kind": "NON_NULL",
111942
+ "name": null,
111943
+ "ofType": {
111944
+ "kind": "SCALAR",
111945
+ "name": "String",
111946
+ "ofType": null
111947
+ }
111948
+ }
111949
+ },
111950
+ "isDeprecated": false,
111951
+ "deprecationReason": null
111952
+ },
111953
+ {
111954
+ "name": "min",
111955
+ "description": "For NUMBER/INTEGER types: minimum value (inclusive).",
111956
+ "args": [],
111957
+ "type": {
111958
+ "kind": "SCALAR",
111959
+ "name": "Float",
111960
+ "ofType": null
111961
+ },
111962
+ "isDeprecated": false,
111963
+ "deprecationReason": null
111964
+ },
111965
+ {
111966
+ "name": "max",
111967
+ "description": "For NUMBER/INTEGER types: maximum value (inclusive).",
111968
+ "args": [],
111969
+ "type": {
111970
+ "kind": "SCALAR",
111971
+ "name": "Float",
111972
+ "ofType": null
111973
+ },
111974
+ "isDeprecated": false,
111975
+ "deprecationReason": null
111976
+ },
111977
+ {
111978
+ "name": "minLength",
111979
+ "description": "For STRING types: minimum length.",
111980
+ "args": [],
111981
+ "type": {
111982
+ "kind": "SCALAR",
111983
+ "name": "Int",
111984
+ "ofType": null
111985
+ },
111986
+ "isDeprecated": false,
111987
+ "deprecationReason": null
111988
+ },
111989
+ {
111990
+ "name": "maxLength",
111991
+ "description": "For STRING types: maximum length.",
111992
+ "args": [],
111993
+ "type": {
111994
+ "kind": "SCALAR",
111995
+ "name": "Int",
111996
+ "ofType": null
111997
+ },
111998
+ "isDeprecated": false,
111999
+ "deprecationReason": null
112000
+ },
112001
+ {
112002
+ "name": "mutuallyExclusiveWith",
112003
+ "description": "Other field paths that cannot be set simultaneously with this one (e.g. 'dc' and 'back_documents' in Econt).",
112004
+ "args": [],
112005
+ "type": {
112006
+ "kind": "LIST",
112007
+ "name": null,
112008
+ "ofType": {
112009
+ "kind": "NON_NULL",
112010
+ "name": null,
112011
+ "ofType": {
112012
+ "kind": "SCALAR",
112013
+ "name": "String",
112014
+ "ofType": null
112015
+ }
112016
+ }
112017
+ },
112018
+ "isDeprecated": false,
112019
+ "deprecationReason": null
112020
+ },
112021
+ {
112022
+ "name": "dependentFields",
112023
+ "description": "Other field paths that become required or relevant when this field is set.",
112024
+ "args": [],
112025
+ "type": {
112026
+ "kind": "LIST",
112027
+ "name": null,
112028
+ "ofType": {
112029
+ "kind": "NON_NULL",
112030
+ "name": null,
112031
+ "ofType": {
112032
+ "kind": "SCALAR",
112033
+ "name": "String",
112034
+ "ofType": null
112035
+ }
112036
+ }
112037
+ },
112038
+ "isDeprecated": false,
112039
+ "deprecationReason": null
112040
+ },
112041
+ {
112042
+ "name": "itemFields",
112043
+ "description": "For ARRAY types: schema of a single element.",
112044
+ "args": [],
112045
+ "type": {
112046
+ "kind": "LIST",
112047
+ "name": null,
112048
+ "ofType": {
112049
+ "kind": "NON_NULL",
112050
+ "name": null,
112051
+ "ofType": {
112052
+ "kind": "OBJECT",
112053
+ "name": "ShippingWaybillFieldDescriptor",
112054
+ "ofType": null
112055
+ }
112056
+ }
112057
+ },
112058
+ "isDeprecated": false,
112059
+ "deprecationReason": null
112060
+ },
112061
+ {
112062
+ "name": "example",
112063
+ "description": "Example value as a JSON-encoded string (e.g. '\"BEFORE\"', '14', '[{\"name\":\"box\",\"weight\":1}]').",
112064
+ "args": [],
112065
+ "type": {
112066
+ "kind": "SCALAR",
112067
+ "name": "String",
112068
+ "ofType": null
112069
+ },
112070
+ "isDeprecated": false,
112071
+ "deprecationReason": null
112072
+ },
112073
+ {
112074
+ "name": "default",
112075
+ "description": "Default value as a JSON-encoded string (if a default is known).",
112076
+ "args": [],
112077
+ "type": {
112078
+ "kind": "SCALAR",
112079
+ "name": "String",
112080
+ "ofType": null
112081
+ },
112082
+ "isDeprecated": false,
112083
+ "deprecationReason": null
112084
+ }
112085
+ ],
112086
+ "inputFields": null,
112087
+ "interfaces": [],
112088
+ "enumValues": null,
112089
+ "possibleTypes": null
112090
+ },
112091
+ {
112092
+ "kind": "ENUM",
112093
+ "name": "ShippingFieldType",
112094
+ "description": "High-level data type of a waybill field.",
112095
+ "fields": null,
112096
+ "inputFields": null,
112097
+ "interfaces": null,
112098
+ "enumValues": [
112099
+ {
112100
+ "name": "STRING",
112101
+ "description": "Plain string value.",
112102
+ "isDeprecated": false,
112103
+ "deprecationReason": null
112104
+ },
112105
+ {
112106
+ "name": "NUMBER",
112107
+ "description": "Floating-point number.",
112108
+ "isDeprecated": false,
112109
+ "deprecationReason": null
112110
+ },
112111
+ {
112112
+ "name": "INTEGER",
112113
+ "description": "Whole number.",
112114
+ "isDeprecated": false,
112115
+ "deprecationReason": null
112116
+ },
112117
+ {
112118
+ "name": "BOOLEAN",
112119
+ "description": "True/false.",
112120
+ "isDeprecated": false,
112121
+ "deprecationReason": null
112122
+ },
112123
+ {
112124
+ "name": "ENUM",
112125
+ "description": "One of a fixed set of string values.",
112126
+ "isDeprecated": false,
112127
+ "deprecationReason": null
112128
+ },
112129
+ {
112130
+ "name": "DATE",
112131
+ "description": "Date or datetime value.",
112132
+ "isDeprecated": false,
112133
+ "deprecationReason": null
112134
+ },
112135
+ {
112136
+ "name": "ARRAY",
112137
+ "description": "An array of sub-objects (see itemFields for the element schema).",
112138
+ "isDeprecated": false,
112139
+ "deprecationReason": null
112140
+ },
112141
+ {
112142
+ "name": "OBJECT",
112143
+ "description": "A nested object (see itemFields for its fields).",
112144
+ "isDeprecated": false,
112145
+ "deprecationReason": null
112146
+ },
112147
+ {
112148
+ "name": "JSON",
112149
+ "description": "Free-form JSON — the structure is not statically described.",
112150
+ "isDeprecated": false,
112151
+ "deprecationReason": null
112152
+ }
112153
+ ],
112154
+ "possibleTypes": null
112155
+ },
112156
+ {
112157
+ "kind": "OBJECT",
112158
+ "name": "ShippingServiceOption",
112159
+ "description": "Service option offered by a shipping provider for a given order (e.g. office-to-office, to-address).",
112160
+ "fields": [
112161
+ {
112162
+ "name": "id",
112163
+ "description": "Machine identifier of the service as used by the provider API.",
112164
+ "args": [],
112165
+ "type": {
112166
+ "kind": "NON_NULL",
112167
+ "name": null,
112168
+ "ofType": {
112169
+ "kind": "SCALAR",
112170
+ "name": "String",
112171
+ "ofType": null
112172
+ }
112173
+ },
112174
+ "isDeprecated": false,
112175
+ "deprecationReason": null
112176
+ },
112177
+ {
112178
+ "name": "name",
112179
+ "description": "Human-readable name of the service.",
112180
+ "args": [],
112181
+ "type": {
112182
+ "kind": "SCALAR",
112183
+ "name": "String",
112184
+ "ofType": null
112185
+ },
112186
+ "isDeprecated": false,
112187
+ "deprecationReason": null
112188
+ },
112189
+ {
112190
+ "name": "deliveryDeadline",
112191
+ "description": "Optional delivery deadline label.",
112192
+ "args": [],
112193
+ "type": {
112194
+ "kind": "SCALAR",
112195
+ "name": "String",
112196
+ "ofType": null
112197
+ },
112198
+ "isDeprecated": false,
112199
+ "deprecationReason": null
112200
+ },
112201
+ {
112202
+ "name": "pickupDate",
112203
+ "description": "Optional pickup date label.",
112204
+ "args": [],
112205
+ "type": {
112206
+ "kind": "SCALAR",
112207
+ "name": "String",
112208
+ "ofType": null
112209
+ },
112210
+ "isDeprecated": false,
112211
+ "deprecationReason": null
112212
+ },
112213
+ {
112214
+ "name": "price",
112215
+ "description": "Calculated price for this service in the order's currency (if available).",
112216
+ "args": [],
112217
+ "type": {
112218
+ "kind": "SCALAR",
112219
+ "name": "Float",
112220
+ "ofType": null
112221
+ },
112222
+ "isDeprecated": false,
112223
+ "deprecationReason": null
112224
+ }
112225
+ ],
112226
+ "inputFields": null,
112227
+ "interfaces": [],
112228
+ "enumValues": null,
112229
+ "possibleTypes": null
112230
+ },
112231
+ {
112232
+ "kind": "OBJECT",
112233
+ "name": "ShippingWaybillSchema",
112234
+ "description": "Complete waybill-input description for a shipping provider. Agents call this first to discover what to submit to `createShippingWaybill`.",
112235
+ "fields": [
112236
+ {
112237
+ "name": "key",
112238
+ "description": "Provider app key (e.g. 'econt', 'speedy', 'dpdbulgaria').",
112239
+ "args": [],
112240
+ "type": {
112241
+ "kind": "NON_NULL",
112242
+ "name": null,
112243
+ "ofType": {
112244
+ "kind": "SCALAR",
112245
+ "name": "String",
112246
+ "ofType": null
112247
+ }
112248
+ },
112249
+ "isDeprecated": false,
112250
+ "deprecationReason": null
112251
+ },
112252
+ {
112253
+ "name": "name",
112254
+ "description": "Provider display name.",
112255
+ "args": [],
112256
+ "type": {
112257
+ "kind": "SCALAR",
112258
+ "name": "String",
112259
+ "ofType": null
112260
+ },
112261
+ "isDeprecated": false,
112262
+ "deprecationReason": null
112263
+ },
112264
+ {
112265
+ "name": "commonFields",
112266
+ "description": "Fields that are always part of the top-level ShippingWaybillInput (service_id, weight, packages, cod, insurance, content, etc.).",
112267
+ "args": [],
112268
+ "type": {
112269
+ "kind": "NON_NULL",
112270
+ "name": null,
112271
+ "ofType": {
112272
+ "kind": "LIST",
112273
+ "name": null,
112274
+ "ofType": {
112275
+ "kind": "NON_NULL",
112276
+ "name": null,
112277
+ "ofType": {
112278
+ "kind": "OBJECT",
112279
+ "name": "ShippingWaybillFieldDescriptor",
112280
+ "ofType": null
112281
+ }
112282
+ }
112283
+ }
112284
+ },
112285
+ "isDeprecated": false,
112286
+ "deprecationReason": null
112287
+ },
112288
+ {
112289
+ "name": "providerOptions",
112290
+ "description": "Provider-specific fields expected inside `providerOptions` JSON blob.",
112291
+ "args": [],
112292
+ "type": {
112293
+ "kind": "NON_NULL",
112294
+ "name": null,
112295
+ "ofType": {
112296
+ "kind": "LIST",
112297
+ "name": null,
112298
+ "ofType": {
112299
+ "kind": "NON_NULL",
112300
+ "name": null,
112301
+ "ofType": {
112302
+ "kind": "OBJECT",
112303
+ "name": "ShippingWaybillFieldDescriptor",
112304
+ "ofType": null
112305
+ }
112306
+ }
112307
+ }
112308
+ },
112309
+ "isDeprecated": false,
112310
+ "deprecationReason": null
112311
+ },
112312
+ {
112313
+ "name": "businessRules",
112314
+ "description": "Human-readable list of business-rule guards enforced before waybill creation (e.g. order must not be archived).",
112315
+ "args": [],
112316
+ "type": {
112317
+ "kind": "NON_NULL",
112318
+ "name": null,
112319
+ "ofType": {
112320
+ "kind": "LIST",
112321
+ "name": null,
112322
+ "ofType": {
112323
+ "kind": "NON_NULL",
112324
+ "name": null,
112325
+ "ofType": {
112326
+ "kind": "SCALAR",
112327
+ "name": "String",
112328
+ "ofType": null
112329
+ }
112330
+ }
112331
+ }
112332
+ },
112333
+ "isDeprecated": false,
112334
+ "deprecationReason": null
112335
+ },
112336
+ {
112337
+ "name": "services",
112338
+ "description": "Service options available for the provided order (populated only when `orderId` is passed).",
112339
+ "args": [],
112340
+ "type": {
112341
+ "kind": "NON_NULL",
112342
+ "name": null,
112343
+ "ofType": {
112344
+ "kind": "LIST",
112345
+ "name": null,
112346
+ "ofType": {
112347
+ "kind": "NON_NULL",
112348
+ "name": null,
112349
+ "ofType": {
112350
+ "kind": "OBJECT",
112351
+ "name": "ShippingServiceOption",
112352
+ "ofType": null
112353
+ }
112354
+ }
112355
+ }
112356
+ },
112357
+ "isDeprecated": false,
112358
+ "deprecationReason": null
112359
+ },
112360
+ {
112361
+ "name": "exampleInput",
112362
+ "description": "Example complete ShippingWaybillInput as a JSON-encoded string (agents can use this as a starting template).",
112363
+ "args": [],
112364
+ "type": {
112365
+ "kind": "SCALAR",
112366
+ "name": "String",
112367
+ "ofType": null
112368
+ },
112369
+ "isDeprecated": false,
112370
+ "deprecationReason": null
112371
+ }
112372
+ ],
112373
+ "inputFields": null,
112374
+ "interfaces": [],
112375
+ "enumValues": null,
112376
+ "possibleTypes": null
112377
+ },
110491
112378
  {
110492
112379
  "kind": "OBJECT",
110493
112380
  "name": "NitroStorefront",