airbyte-source-shopify 2.4.14.dev202407181247__py3-none-any.whl → 3.1.0__py3-none-any.whl
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.
- {airbyte_source_shopify-2.4.14.dev202407181247.dist-info → airbyte_source_shopify-3.1.0.dist-info}/METADATA +4 -4
- {airbyte_source_shopify-2.4.14.dev202407181247.dist-info → airbyte_source_shopify-3.1.0.dist-info}/RECORD +25 -27
- {airbyte_source_shopify-2.4.14.dev202407181247.dist-info → airbyte_source_shopify-3.1.0.dist-info}/WHEEL +1 -1
- source_shopify/auth.py +0 -1
- source_shopify/config_migrations.py +4 -1
- source_shopify/http_request.py +4 -2
- source_shopify/schemas/countries.json +7 -19
- source_shopify/schemas/customer_journey_summary.json +228 -148
- source_shopify/schemas/deleted_products.json +27 -0
- source_shopify/schemas/orders.json +38 -0
- source_shopify/schemas/product_variants.json +26 -8
- source_shopify/schemas/profile_location_groups.json +10 -0
- source_shopify/scopes.py +7 -6
- source_shopify/shopify_graphql/bulk/exceptions.py +6 -1
- source_shopify/shopify_graphql/bulk/job.py +173 -65
- source_shopify/shopify_graphql/bulk/query.py +440 -88
- source_shopify/shopify_graphql/bulk/record.py +260 -29
- source_shopify/shopify_graphql/bulk/retry.py +12 -12
- source_shopify/shopify_graphql/bulk/tools.py +17 -2
- source_shopify/source.py +6 -10
- source_shopify/spec.json +11 -5
- source_shopify/streams/base_streams.py +181 -54
- source_shopify/streams/streams.py +211 -58
- source_shopify/utils.py +47 -12
- source_shopify/schemas/customer_saved_search.json +0 -32
- source_shopify/schemas/products_graph_ql.json +0 -123
- source_shopify/shopify_graphql/graphql.py +0 -64
- source_shopify/shopify_graphql/schema.py +0 -29442
- {airbyte_source_shopify-2.4.14.dev202407181247.dist-info → airbyte_source_shopify-3.1.0.dist-info}/entry_points.txt +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: airbyte-source-shopify
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: Source CDK implementation for Shopify.
|
|
5
5
|
Home-page: https://airbyte.com
|
|
6
6
|
License: ELv2
|
|
7
7
|
Author: Airbyte
|
|
8
8
|
Author-email: contact@airbyte.io
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.10,<3.12
|
|
10
10
|
Classifier: License :: Other/Proprietary License
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
-
Requires-Dist: airbyte-cdk (>=
|
|
14
|
+
Requires-Dist: airbyte-cdk (>=6,<7)
|
|
16
15
|
Requires-Dist: graphql-query (>=1,<2)
|
|
16
|
+
Requires-Dist: pendulum (>=2.1.2,<3.0.0)
|
|
17
17
|
Requires-Dist: sgqlc (==16.3)
|
|
18
18
|
Project-URL: Documentation, https://docs.airbyte.com/integrations/sources/shopify
|
|
19
19
|
Project-URL: Repository, https://github.com/airbytehq/airbyte
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
source_shopify/__init__.py,sha256=5B0YAA_u4-fd9f_BIjHzGhaWKAnmW7VZz3rOWr13org,1136
|
|
2
|
-
source_shopify/auth.py,sha256=
|
|
3
|
-
source_shopify/config_migrations.py,sha256=
|
|
4
|
-
source_shopify/http_request.py,sha256=
|
|
2
|
+
source_shopify/auth.py,sha256=kGCDGkwrKCIpCv60j-1NbRIL9Pn4XmxUbKxP6RkMClQ,1537
|
|
3
|
+
source_shopify/config_migrations.py,sha256=7WS8kuLRYzxhA8ldmX9kEXlowYcnlOpi63DLg1LCExQ,3909
|
|
4
|
+
source_shopify/http_request.py,sha256=eMknu-NB3oAwcgm8oWyHS0Vbub9PlbwGzhhetenb5TM,2290
|
|
5
5
|
source_shopify/run.py,sha256=K_HTghvJVfQaR3pMtCel5CdLROKKj-KbFSKVAdyquOk,398
|
|
6
6
|
source_shopify/schemas/abandoned_checkouts.json,sha256=nlYpb8VOQCO8wuHWM8gWhlzzj97NWV9gL2vpUbUl-FU,28417
|
|
7
7
|
source_shopify/schemas/articles.json,sha256=tGnbM4lI2jA8joevDsrd-mQJksO2lLG3dIJGpxeuoYs,2548
|
|
@@ -9,12 +9,12 @@ source_shopify/schemas/balance_transactions.json,sha256=RAU7duUHTWS7nI0pochhTZt5
|
|
|
9
9
|
source_shopify/schemas/blogs.json,sha256=ciBS_3eCf4UJUaB0DPCVadeJR4W6ndq7N0JwykXp0RY,2151
|
|
10
10
|
source_shopify/schemas/collections.json,sha256=2iJMCyAn_yeMKsQVt7jGR3_u3N3CA8QQ6179QvRuwqY,1889
|
|
11
11
|
source_shopify/schemas/collects.json,sha256=dOX0_O7meWELWHYQG_MWqGkWLelAoiIlPtDXuxz9ig8,1173
|
|
12
|
-
source_shopify/schemas/countries.json,sha256=
|
|
12
|
+
source_shopify/schemas/countries.json,sha256=fdJPrd8tQEzzonkunm0hvMbqZeXixPaphHd3PSt8g58,1783
|
|
13
13
|
source_shopify/schemas/custom_collections.json,sha256=ElDY1y_G_VFPOGr9ipU022AZDWKB2LC8n8Cb6FGF8UM,3100
|
|
14
14
|
source_shopify/schemas/customer_address.json,sha256=kLKylul_xK7eO_aduvDddj078k8aQLM4JtUEpa5Tp_8,2628
|
|
15
|
-
source_shopify/schemas/customer_journey_summary.json,sha256=
|
|
16
|
-
source_shopify/schemas/customer_saved_search.json,sha256=VKk7gFVdempXguprL3n5krTIpleMEPzarY7U7qfiGvw,986
|
|
15
|
+
source_shopify/schemas/customer_journey_summary.json,sha256=GlZmIqFeR1x84DwgwMo28HQ8QseImkhvYxLSNRkUmwg,12733
|
|
17
16
|
source_shopify/schemas/customers.json,sha256=pywejBEtvMnRHvvnJQhfA8NlCBjELv7XuMlKdpS4cZI,10233
|
|
17
|
+
source_shopify/schemas/deleted_products.json,sha256=7TbqrABNDg9ZFAeLJCPe2Z5jtk9QGbJDuoSKofGd1lg,773
|
|
18
18
|
source_shopify/schemas/discount_codes.json,sha256=YxGptdpjXwM46fmzs5zoi3m96xAWKXrfllC_oIZW0vo,3730
|
|
19
19
|
source_shopify/schemas/disputes.json,sha256=Uvzy1Gi954cLxij6H0Vbz0OWS6GS10YaJI4DJfY2x8I,1775
|
|
20
20
|
source_shopify/schemas/draft_orders.json,sha256=3NaZt9Qk4mY8VO9pB5UBzw3GZibL8MvI0z_tlnMsdBI,24211
|
|
@@ -39,35 +39,33 @@ source_shopify/schemas/metafield_smart_collections.json,sha256=uk25Bxu5tATE5Cweo
|
|
|
39
39
|
source_shopify/schemas/order_agreements.json,sha256=LywW-Nyynoutitxtj4PukVNmaDknU0GAu4yxa0XQ56U,6821
|
|
40
40
|
source_shopify/schemas/order_refunds.json,sha256=TRja1SGCFYyf--T_M3-JGG0EnwwH50hwzH-RzbQ4tjY,26296
|
|
41
41
|
source_shopify/schemas/order_risks.json,sha256=6gK26TewYqT2KfF7rvMTEQODstom2SS0ViHNJESuB8k,10425
|
|
42
|
-
source_shopify/schemas/orders.json,sha256=
|
|
42
|
+
source_shopify/schemas/orders.json,sha256=SxX6fDtMnEkvm-58uNgaoF47Ep8DIwLpXK09C2MSNA0,105169
|
|
43
43
|
source_shopify/schemas/pages.json,sha256=J7jxtk2nE_q-0oHmGz8orFq3EfSjJqUvF6qPJtiZCrg,2093
|
|
44
44
|
source_shopify/schemas/price_rules.json,sha256=aZ-Re9Oc9g0ci8SPn0_ufvKPsGDBcTaXHVsq_9-Ygq4,7004
|
|
45
45
|
source_shopify/schemas/product_images.json,sha256=0l3ACfOfnXz8N8oMHwvvfZUFKeeuZ2DlRRu5-FxUhaI,1760
|
|
46
|
-
source_shopify/schemas/product_variants.json,sha256=
|
|
46
|
+
source_shopify/schemas/product_variants.json,sha256=hBtmB-OyVlmkQacY0s7Mpe-bMdYjx8mpwMqcGwN05kA,8121
|
|
47
47
|
source_shopify/schemas/products.json,sha256=n7m1ndEnAM7Pee5ca0JZWCl5Y0VffGmTZjqjHhiht1I,22609
|
|
48
|
-
source_shopify/schemas/
|
|
48
|
+
source_shopify/schemas/profile_location_groups.json,sha256=2_QdfMeM_WNDT-06fQfFUHXjN9D6ndKIGcviJxEl8kM,189
|
|
49
49
|
source_shopify/schemas/shop.json,sha256=vEGiTvEYX7qnMq06MRVBycqih49h49xjTNC6gJuxTWs,8137
|
|
50
50
|
source_shopify/schemas/smart_collections.json,sha256=kv7dINsvgzJ0RyKfFNKjU0apdNDXwQaHfnNZfQsshcU,2009
|
|
51
51
|
source_shopify/schemas/tender_transactions.json,sha256=U8fdT-eflycEPzYSpBDiB0lp9wxmJHgioHTrICflh78,2006
|
|
52
52
|
source_shopify/schemas/transactions.json,sha256=vbwscH3UcAtbSsC70mBka4oNaFR4S3S6IFBmzR7t37U,10226
|
|
53
|
-
source_shopify/scopes.py,sha256=
|
|
53
|
+
source_shopify/scopes.py,sha256=78f9QL3PJZ9UDx1gIWzNwx5fYJE9OB3vPi9RahB_kFw,6533
|
|
54
54
|
source_shopify/shopify_graphql/bulk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
-
source_shopify/shopify_graphql/bulk/exceptions.py,sha256=
|
|
56
|
-
source_shopify/shopify_graphql/bulk/job.py,sha256=
|
|
57
|
-
source_shopify/shopify_graphql/bulk/query.py,sha256=
|
|
58
|
-
source_shopify/shopify_graphql/bulk/record.py,sha256=
|
|
59
|
-
source_shopify/shopify_graphql/bulk/retry.py,sha256=
|
|
55
|
+
source_shopify/shopify_graphql/bulk/exceptions.py,sha256=4dj7Za4xIfwL-zf8joT9svF_RSoGlE3GviMiIl1e1rs,2532
|
|
56
|
+
source_shopify/shopify_graphql/bulk/job.py,sha256=c3Cg70_Io9jTD-rU-5MvjHaPmJCtcpeqEYnRtFECGOo,28673
|
|
57
|
+
source_shopify/shopify_graphql/bulk/query.py,sha256=D8rnI1SDw50-Gt18lt7YwwNNdsbVMbBfxZa9xVJZbto,130981
|
|
58
|
+
source_shopify/shopify_graphql/bulk/record.py,sha256=X6VGngugv7a_S8UEeDo121BkdCVLj5nWlHK76A21kyo,16898
|
|
59
|
+
source_shopify/shopify_graphql/bulk/retry.py,sha256=R5rSJJE8D5zcj6mN-OmmNO2aFZEIdjAlWclDDVW5KPI,2626
|
|
60
60
|
source_shopify/shopify_graphql/bulk/status.py,sha256=RmuQ2XsYL3iRCpVGxea9F1wXGmbwasDCSXjaTyL4LMA,328
|
|
61
|
-
source_shopify/shopify_graphql/bulk/tools.py,sha256=
|
|
62
|
-
source_shopify/
|
|
63
|
-
source_shopify/
|
|
64
|
-
source_shopify/
|
|
65
|
-
source_shopify/
|
|
66
|
-
source_shopify/streams/base_streams.py,sha256=RgiBNxzbE7eKtk3eT7036PybkzZMacioGDUZjAgYdjY,36536
|
|
67
|
-
source_shopify/streams/streams.py,sha256=0v9MuH61VR8jiR9QaVzfj_WmwWEfThzxpnBtazStrsE,12015
|
|
61
|
+
source_shopify/shopify_graphql/bulk/tools.py,sha256=nUQ2ZmPTKJNJdfLToR6KJtLKcJFCChSifkAOvwg0Vss,4065
|
|
62
|
+
source_shopify/source.py,sha256=oikoM-VPNk62zlmeAQR59PMxfuXq2s42N7zaqLM6_lo,8575
|
|
63
|
+
source_shopify/spec.json,sha256=ITYWiQ-NrI5VISk5qmUQhp9ChUE2FV18d8xzVzPwvAg,6144
|
|
64
|
+
source_shopify/streams/base_streams.py,sha256=k_4uLaLADLRTUcSmP8uA_830uuzRvnqUaCVGcb0Zpd8,42625
|
|
65
|
+
source_shopify/streams/streams.py,sha256=96ZzuhlKny2scejzRNhL7IHQ2FJ6e7Z4Qfot6nccfQg,18899
|
|
68
66
|
source_shopify/transform.py,sha256=mn0htL812_90zc_YszGQa0hHcIZQpYYdmk8IqpZm5TI,4685
|
|
69
|
-
source_shopify/utils.py,sha256=
|
|
70
|
-
airbyte_source_shopify-
|
|
71
|
-
airbyte_source_shopify-
|
|
72
|
-
airbyte_source_shopify-
|
|
73
|
-
airbyte_source_shopify-
|
|
67
|
+
source_shopify/utils.py,sha256=DSqEchu-MQJ7zust7CNfqOkGIv9OSR-5UUsuD-bsDa8,16224
|
|
68
|
+
airbyte_source_shopify-3.1.0.dist-info/METADATA,sha256=zkgsUWjEe9nD_Mh6PfX0HgFTYBCShhc6I6oULF8ozrM,5297
|
|
69
|
+
airbyte_source_shopify-3.1.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
70
|
+
airbyte_source_shopify-3.1.0.dist-info/entry_points.txt,sha256=SyTwKSsPk9MCdPf01saWpnp8hcmZOgBssVcSIvMbBeQ,57
|
|
71
|
+
airbyte_source_shopify-3.1.0.dist-info/RECORD,,
|
source_shopify/auth.py
CHANGED
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
from typing import Any, List, Mapping
|
|
7
7
|
|
|
8
|
+
from orjson import orjson
|
|
9
|
+
|
|
8
10
|
from airbyte_cdk.config_observation import create_connector_config_control_message
|
|
9
11
|
from airbyte_cdk.entrypoint import AirbyteEntrypoint
|
|
12
|
+
from airbyte_cdk.models import AirbyteMessageSerializer
|
|
10
13
|
from airbyte_cdk.sources import Source
|
|
11
14
|
from airbyte_cdk.sources.message import InMemoryMessageRepository, MessageRepository
|
|
12
15
|
|
|
@@ -72,7 +75,7 @@ class MigrateConfig:
|
|
|
72
75
|
cls.message_repository.emit_message(create_connector_config_control_message(migrated_config))
|
|
73
76
|
# emit the Airbyte Control Message from message queue to stdout
|
|
74
77
|
for message in cls.message_repository._message_queue:
|
|
75
|
-
print(message.
|
|
78
|
+
print(orjson.dumps(AirbyteMessageSerializer.dump(message)).decode())
|
|
76
79
|
|
|
77
80
|
@classmethod
|
|
78
81
|
def migrate(cls, args: List[str], source: Source) -> None:
|
source_shopify/http_request.py
CHANGED
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
from typing import Optional, Union
|
|
4
4
|
|
|
5
5
|
import requests
|
|
6
|
-
from airbyte_cdk.sources.streams.http.error_handlers import ErrorHandler, ErrorResolution, ResponseAction
|
|
7
|
-
from airbyte_protocol.models import FailureType
|
|
8
6
|
from requests import exceptions
|
|
9
7
|
|
|
8
|
+
from airbyte_cdk.models import FailureType
|
|
9
|
+
from airbyte_cdk.sources.streams.http.error_handlers import ErrorHandler, ErrorResolution, ResponseAction
|
|
10
|
+
|
|
11
|
+
|
|
10
12
|
RESPONSE_CONSUMPTION_EXCEPTIONS = (
|
|
11
13
|
exceptions.ChunkedEncodingError,
|
|
12
14
|
exceptions.JSONDecodeError,
|
|
@@ -36,31 +36,19 @@
|
|
|
36
36
|
"description": "Name of the province.",
|
|
37
37
|
"type": ["null", "string"]
|
|
38
38
|
},
|
|
39
|
-
"
|
|
40
|
-
"description": "
|
|
41
|
-
"type": ["null", "number"]
|
|
42
|
-
},
|
|
43
|
-
"tax_name": {
|
|
44
|
-
"description": "Name of the tax applicable for the province.",
|
|
45
|
-
"type": ["null", "string"]
|
|
46
|
-
},
|
|
47
|
-
"tax_type": {
|
|
48
|
-
"description": "Type of tax (e.g., sales tax, VAT) applicable in the province.",
|
|
39
|
+
"translated_name": {
|
|
40
|
+
"description": "Translated name of the province.",
|
|
49
41
|
"type": ["null", "string"]
|
|
50
|
-
},
|
|
51
|
-
"tax_percentage": {
|
|
52
|
-
"description": "Percentage value of tax applicable in the province.",
|
|
53
|
-
"type": ["null", "number"]
|
|
54
42
|
}
|
|
55
43
|
}
|
|
56
44
|
}
|
|
57
45
|
},
|
|
58
|
-
"
|
|
59
|
-
"description": "
|
|
60
|
-
"type": ["null", "
|
|
46
|
+
"rest_of_world": {
|
|
47
|
+
"description": "Whether the country in a catch-all group of countries that are not individually listed or assigned to any specific zone or market.",
|
|
48
|
+
"type": ["null", "boolean"]
|
|
61
49
|
},
|
|
62
|
-
"
|
|
63
|
-
"description": "
|
|
50
|
+
"translated_name": {
|
|
51
|
+
"description": "Translated name of the country",
|
|
64
52
|
"type": ["null", "string"]
|
|
65
53
|
},
|
|
66
54
|
"shop_url": {
|
|
@@ -17,175 +17,255 @@
|
|
|
17
17
|
"format": "date-time"
|
|
18
18
|
},
|
|
19
19
|
"customer_journey_summary": {
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
20
|
+
"description": "Represents a customer's visiting activities on a shop's online store.",
|
|
21
|
+
"type": ["null", "object"],
|
|
22
|
+
"properties": {
|
|
23
|
+
"ready": {
|
|
24
|
+
"description": "Whether the attributed sessions for the order have been created yet.",
|
|
25
|
+
"type": ["null", "boolean"]
|
|
26
|
+
},
|
|
27
|
+
"moments_count": {
|
|
28
|
+
"description": "The total number of customer moments associated with this order. Returns null if the order is still in the process of being attributed.",
|
|
29
|
+
"type": ["null", "object"],
|
|
30
|
+
"properties": {
|
|
31
|
+
"count": {
|
|
32
|
+
"description": "Count of elements.",
|
|
33
|
+
"type": ["null", "integer"]
|
|
34
|
+
},
|
|
35
|
+
"precision": {
|
|
36
|
+
"description": "Precision of count, how exact is the value.",
|
|
37
|
+
"type": ["null", "string"]
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
40
|
+
},
|
|
41
|
+
"customer_order_index": {
|
|
42
|
+
"description": "The position of the current order within the customer's order history. Test orders aren't included.",
|
|
43
|
+
"type": ["null", "integer"]
|
|
44
|
+
},
|
|
45
|
+
"days_to_conversion": {
|
|
46
|
+
"description": "The number of days between the first session and the order creation date. The first session represents the first session since the last order, or the first session within the 30 day attribution window, if more than 30 days have passed since the last order.",
|
|
47
|
+
"type": ["null", "integer"]
|
|
48
|
+
},
|
|
49
|
+
"first_visit": {
|
|
50
|
+
"description": "The customer's first session going into the shop.",
|
|
51
|
+
"type": ["null", "object"],
|
|
52
|
+
"properties": {
|
|
53
|
+
"id": {
|
|
54
|
+
"description": "A globally-unique ID.",
|
|
55
|
+
"type": ["null", "integer"]
|
|
56
|
+
},
|
|
57
|
+
"landing_page": {
|
|
58
|
+
"description": "URL of the first page the customer landed on for the session.",
|
|
59
|
+
"type": ["null", "string"]
|
|
60
|
+
},
|
|
61
|
+
"landing_page_html": {
|
|
62
|
+
"description": "Landing page information with URL linked in HTML. For example, the first page the customer visited was",
|
|
63
|
+
"type": ["null", "string"]
|
|
64
|
+
},
|
|
65
|
+
"occurred_at": {
|
|
66
|
+
"description": "The date and time when the customer's session occurred.",
|
|
67
|
+
"type": ["null", "string"],
|
|
68
|
+
"format": "date-time"
|
|
69
|
+
},
|
|
70
|
+
"referral_code": {
|
|
71
|
+
"description": "Marketing referral code from the link that the customer clicked to visit the store.",
|
|
72
|
+
"type": ["null", "string"]
|
|
73
|
+
},
|
|
74
|
+
"referrer_url": {
|
|
75
|
+
"description": "Webpage where the customer clicked a link that sent them to the online store.",
|
|
76
|
+
"type": ["null", "string"]
|
|
77
|
+
},
|
|
78
|
+
"source": {
|
|
79
|
+
"description": "Source from which the customer visited the store, such as a platform (Facebook, Google), email, direct, a website domain, QR code, or unknown.",
|
|
80
|
+
"type": ["null", "string"]
|
|
81
|
+
},
|
|
82
|
+
"source_type": {
|
|
83
|
+
"description": "Type of marketing tactic.",
|
|
84
|
+
"type": ["null", "string"]
|
|
85
|
+
},
|
|
86
|
+
"source_description": {
|
|
87
|
+
"description": "Describes the source explicitly for first or last session.",
|
|
88
|
+
"type": ["null", "string"]
|
|
89
|
+
},
|
|
90
|
+
"utm_parameters": {
|
|
91
|
+
"description": "A set of UTM parameters gathered from the URL parameters of the referrer.",
|
|
92
|
+
"type": ["null", "object"],
|
|
93
|
+
"properties": {
|
|
94
|
+
"campaign": {
|
|
95
|
+
"description": "The name of a marketing campaign.",
|
|
96
|
+
"type": ["null", "string"]
|
|
97
|
+
},
|
|
98
|
+
"content": {
|
|
99
|
+
"description": "Identifies specific content in a marketing campaign. Used to differentiate between similar content or links in a marketing campaign to determine which is the most effective.",
|
|
100
|
+
"type": ["null", "string"]
|
|
101
|
+
},
|
|
102
|
+
"medium": {
|
|
103
|
+
"description": "The medium of a marketing campaign, such as a banner or email newsletter.",
|
|
104
|
+
"type": ["null", "string"]
|
|
105
|
+
},
|
|
106
|
+
"source": {
|
|
107
|
+
"description": "The source of traffic to the merchant's store, such as Google or an email newsletter.",
|
|
108
|
+
"type": ["null", "string"]
|
|
109
|
+
},
|
|
110
|
+
"term": {
|
|
111
|
+
"description": "Paid search terms used by a marketing campaign.",
|
|
112
|
+
"type": ["null", "string"]
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"admin_graphql_api_id": {
|
|
117
|
+
"description": "Unique identifier for the customer in the Admin GraphQL API.",
|
|
118
|
+
"type": ["null", "string"]
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"last_visit": {
|
|
123
|
+
"description": "The last session before an order is made.",
|
|
124
|
+
"type": ["null", "object"],
|
|
125
|
+
"properties": {
|
|
126
|
+
"id": {
|
|
127
|
+
"description": "A globally-unique ID.",
|
|
128
|
+
"type": ["null", "integer"]
|
|
129
|
+
},
|
|
130
|
+
"landing_page": {
|
|
131
|
+
"description": "URL of the first page the customer landed on for the session.",
|
|
132
|
+
"type": ["null", "string"]
|
|
133
|
+
},
|
|
134
|
+
"landing_page_html": {
|
|
135
|
+
"description": "Landing page information with URL linked in HTML. For example, the first page the customer visited was",
|
|
136
|
+
"type": ["null", "string"]
|
|
137
|
+
},
|
|
138
|
+
"occurred_at": {
|
|
139
|
+
"description": "The date and time when the customer's session occurred.",
|
|
140
|
+
"type": ["null", "string"],
|
|
141
|
+
"format": "date-time"
|
|
142
|
+
},
|
|
143
|
+
"referral_code": {
|
|
144
|
+
"description": "Marketing referral code from the link that the customer clicked to visit the store.",
|
|
145
|
+
"type": ["null", "string"]
|
|
146
|
+
},
|
|
147
|
+
"referrer_url": {
|
|
148
|
+
"description": "Webpage where the customer clicked a link that sent them to the online store.",
|
|
149
|
+
"type": ["null", "string"]
|
|
150
|
+
},
|
|
151
|
+
"source": {
|
|
152
|
+
"description": "Source from which the customer visited the store, such as a platform (Facebook, Google), email, direct, a website domain, QR code, or unknown.",
|
|
153
|
+
"type": ["null", "string"]
|
|
154
|
+
},
|
|
155
|
+
"source_type": {
|
|
156
|
+
"description": "Type of marketing tactic.",
|
|
157
|
+
"type": ["null", "string"]
|
|
158
|
+
},
|
|
159
|
+
"source_description": {
|
|
160
|
+
"description": "Describes the source explicitly for first or last session.",
|
|
161
|
+
"type": ["null", "string"]
|
|
162
|
+
},
|
|
163
|
+
"utm_parameters": {
|
|
164
|
+
"description": "A set of UTM parameters gathered from the URL parameters of the referrer.",
|
|
165
|
+
"type": ["null", "object"],
|
|
166
|
+
"properties": {
|
|
167
|
+
"campaign": {
|
|
168
|
+
"description": "The name of a marketing campaign.",
|
|
169
|
+
"type": ["null", "string"]
|
|
170
|
+
},
|
|
171
|
+
"content": {
|
|
172
|
+
"description": "Identifies specific content in a marketing campaign. Used to differentiate between similar content or links in a marketing campaign to determine which is the most effective.",
|
|
173
|
+
"type": ["null", "string"]
|
|
174
|
+
},
|
|
175
|
+
"medium": {
|
|
176
|
+
"description": "The medium of a marketing campaign, such as a banner or email newsletter.",
|
|
177
|
+
"type": ["null", "string"]
|
|
178
|
+
},
|
|
179
|
+
"source": {
|
|
180
|
+
"description": "The source of traffic to the merchant's store, such as Google or an email newsletter.",
|
|
181
|
+
"type": ["null", "string"]
|
|
182
|
+
},
|
|
183
|
+
"term": {
|
|
184
|
+
"description": "Paid search terms used by a marketing campaign.",
|
|
185
|
+
"type": ["null", "string"]
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"admin_graphql_api_id": {
|
|
190
|
+
"description": "Unique identifier for the customer in the Admin GraphQL API.",
|
|
191
|
+
"type": ["null", "string"]
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
"moments": {
|
|
196
|
+
"description": "The events preceding a customer's order, such as shop sessions.",
|
|
197
|
+
"type": ["null", "array"],
|
|
198
|
+
"items": {
|
|
89
199
|
"type": ["null", "object"],
|
|
90
200
|
"properties": {
|
|
91
|
-
"
|
|
92
|
-
"description": "
|
|
93
|
-
"type": ["null", "
|
|
201
|
+
"id": {
|
|
202
|
+
"description": "A globally-unique ID.",
|
|
203
|
+
"type": ["null", "integer"]
|
|
94
204
|
},
|
|
95
|
-
"
|
|
96
|
-
"description": "
|
|
205
|
+
"landing_page": {
|
|
206
|
+
"description": "URL of the first page the customer landed on for the session.",
|
|
97
207
|
"type": ["null", "string"]
|
|
98
208
|
},
|
|
99
|
-
"
|
|
100
|
-
"description": "
|
|
209
|
+
"landing_page_html": {
|
|
210
|
+
"description": "Landing page information with URL linked in HTML. For example, the first page the customer visited was",
|
|
101
211
|
"type": ["null", "string"]
|
|
102
212
|
},
|
|
103
|
-
"
|
|
104
|
-
"description": "The
|
|
105
|
-
"type": ["null", "string"]
|
|
213
|
+
"occurred_at": {
|
|
214
|
+
"description": "The date and time when the customer's session occurred.",
|
|
215
|
+
"type": ["null", "string"],
|
|
216
|
+
"format": "date-time"
|
|
106
217
|
},
|
|
107
|
-
"
|
|
108
|
-
"description": "
|
|
218
|
+
"referral_code": {
|
|
219
|
+
"description": "Marketing referral code from the link that the customer clicked to visit the store.",
|
|
109
220
|
"type": ["null", "string"]
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
"admin_graphql_api_id": {
|
|
114
|
-
"description": "Unique identifier for the customer in the Admin GraphQL API.",
|
|
115
|
-
"type": ["null", "string"]
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
"last_visit": {
|
|
120
|
-
"description": "The last session before an order is made.",
|
|
121
|
-
"type": ["null", "object"],
|
|
122
|
-
"properties": {
|
|
123
|
-
"id": {
|
|
124
|
-
"description": "A globally-unique ID.",
|
|
125
|
-
"type": ["null", "integer"]
|
|
126
|
-
},
|
|
127
|
-
"landing_page": {
|
|
128
|
-
"description": "URL of the first page the customer landed on for the session.",
|
|
129
|
-
"type": ["null", "string"]
|
|
130
|
-
},
|
|
131
|
-
"landing_page_html": {
|
|
132
|
-
"description": "Landing page information with URL linked in HTML. For example, the first page the customer visited was",
|
|
133
|
-
"type": ["null", "string"]
|
|
134
|
-
},
|
|
135
|
-
"occurred_at": {
|
|
136
|
-
"description": "The date and time when the customer's session occurred.",
|
|
137
|
-
"type": ["null", "string"],
|
|
138
|
-
"format": "date-time"
|
|
139
|
-
},
|
|
140
|
-
"referral_code": {
|
|
141
|
-
"description": "Marketing referral code from the link that the customer clicked to visit the store.",
|
|
142
|
-
"type": ["null", "string"]
|
|
143
|
-
},
|
|
144
|
-
"referrer_url": {
|
|
145
|
-
"description": "Webpage where the customer clicked a link that sent them to the online store.",
|
|
146
|
-
"type": ["null", "string"]
|
|
147
|
-
},
|
|
148
|
-
"source": {
|
|
149
|
-
"description": "Source from which the customer visited the store, such as a platform (Facebook, Google), email, direct, a website domain, QR code, or unknown.",
|
|
150
|
-
"type": ["null", "string"]
|
|
151
|
-
},
|
|
152
|
-
"source_type": {
|
|
153
|
-
"description": "Type of marketing tactic.",
|
|
154
|
-
"type": ["null", "string"]
|
|
155
|
-
},
|
|
156
|
-
"source_description": {
|
|
157
|
-
"description": "Describes the source explicitly for first or last session.",
|
|
158
|
-
"type": ["null", "string"]
|
|
159
|
-
},
|
|
160
|
-
"utm_parameters": {
|
|
161
|
-
"description": "A set of UTM parameters gathered from the URL parameters of the referrer.",
|
|
162
|
-
"type": ["null", "object"],
|
|
163
|
-
"properties": {
|
|
164
|
-
"campaign": {
|
|
165
|
-
"description": "The name of a marketing campaign.",
|
|
221
|
+
},
|
|
222
|
+
"referrer_url": {
|
|
223
|
+
"description": "Webpage where the customer clicked a link that sent them to the online store.",
|
|
166
224
|
"type": ["null", "string"]
|
|
167
225
|
},
|
|
168
|
-
"
|
|
169
|
-
"description": "
|
|
226
|
+
"source": {
|
|
227
|
+
"description": "Source from which the customer visited the store, such as a platform (Facebook, Google), email, direct, a website domain, QR code, or unknown.",
|
|
170
228
|
"type": ["null", "string"]
|
|
171
229
|
},
|
|
172
|
-
"
|
|
173
|
-
"description": "
|
|
230
|
+
"source_type": {
|
|
231
|
+
"description": "Type of marketing tactic.",
|
|
174
232
|
"type": ["null", "string"]
|
|
175
233
|
},
|
|
176
|
-
"
|
|
177
|
-
"description": "
|
|
234
|
+
"source_description": {
|
|
235
|
+
"description": "Describes the source explicitly for first or last session.",
|
|
178
236
|
"type": ["null", "string"]
|
|
179
237
|
},
|
|
180
|
-
"
|
|
181
|
-
"description": "
|
|
238
|
+
"utm_parameters": {
|
|
239
|
+
"description": "A set of UTM parameters gathered from the URL parameters of the referrer.",
|
|
240
|
+
"type": ["null", "object"],
|
|
241
|
+
"properties": {
|
|
242
|
+
"campaign": {
|
|
243
|
+
"description": "The name of a marketing campaign.",
|
|
244
|
+
"type": ["null", "string"]
|
|
245
|
+
},
|
|
246
|
+
"content": {
|
|
247
|
+
"description": "Identifies specific content in a marketing campaign. Used to differentiate between similar content or links in a marketing campaign to determine which is the most effective.",
|
|
248
|
+
"type": ["null", "string"]
|
|
249
|
+
},
|
|
250
|
+
"medium": {
|
|
251
|
+
"description": "The medium of a marketing campaign, such as a banner or email newsletter.",
|
|
252
|
+
"type": ["null", "string"]
|
|
253
|
+
},
|
|
254
|
+
"source": {
|
|
255
|
+
"description": "The source of traffic to the merchant's store, such as Google or an email newsletter.",
|
|
256
|
+
"type": ["null", "string"]
|
|
257
|
+
},
|
|
258
|
+
"term": {
|
|
259
|
+
"description": "Paid search terms used by a marketing campaign.",
|
|
260
|
+
"type": ["null", "string"]
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"admin_graphql_api_id": {
|
|
265
|
+
"description": "Unique identifier for the customer in the Admin GraphQL API.",
|
|
182
266
|
"type": ["null", "string"]
|
|
183
267
|
}
|
|
184
268
|
}
|
|
185
|
-
},
|
|
186
|
-
"admin_graphql_api_id": {
|
|
187
|
-
"description": "Unique identifier for the customer in the Admin GraphQL API.",
|
|
188
|
-
"type": ["null", "string"]
|
|
189
269
|
}
|
|
190
270
|
}
|
|
191
271
|
}
|