Skip to content

Commit 21a8844

Browse files
authored
šŸ› Source Shopify: Minor specification re-order, fixed links in documentation (#10794)
1 parent ed19bcc commit 21a8844

File tree

6 files changed

+87
-82
lines changed

6 files changed

+87
-82
lines changed

ā€Žairbyte-config/init/src/main/resources/seed/source_definitions.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@
690690
- name: Shopify
691691
sourceDefinitionId: 9da77001-af33-4bcd-be46-6252bf9342b9
692692
dockerRepository: airbyte/source-shopify
693-
dockerImageTag: 0.1.33
693+
dockerImageTag: 0.1.34
694694
documentationUrl: https://docs.airbyte.io/integrations/sources/shopify
695695
icon: shopify.svg
696696
sourceType: api

ā€Žairbyte-config/init/src/main/resources/seed/source_specs.yaml

+14-11
Original file line numberDiff line numberDiff line change
@@ -7306,7 +7306,7 @@
73067306
supportsNormalization: false
73077307
supportsDBT: false
73087308
supported_destination_sync_modes: []
7309-
- dockerImage: "airbyte/source-shopify:0.1.33"
7309+
- dockerImage: "airbyte/source-shopify:0.1.34"
73107310
spec:
73117311
documentationUrl: "https://docs.airbyte.io/integrations/sources/shopify"
73127312
connectionSpecification:
@@ -7321,19 +7321,13 @@
73217321
shop:
73227322
type: "string"
73237323
title: "Shopify Store"
7324-
description: "The name of the shopify store. For https://EXAMPLE.myshopify.com,\
7325-
\ the shop name is 'EXAMPLE'."
7326-
start_date:
7327-
type: "string"
7328-
title: "Start Date"
7329-
description: "The date you would like to replicate data from. Format: YYYY-MM-DD.\
7330-
\ Any data before this date will not be replicated."
7331-
examples:
7332-
- "2021-01-01"
7333-
pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
7324+
description: "The name of your Shopify store found in the URL. For example,\
7325+
\ if your URL was https://NAME.myshopify.com, then the name would be 'NAME'."
7326+
order: 1
73347327
credentials:
73357328
title: "Shopify Authorization Method"
73367329
type: "object"
7330+
order: 2
73377331
oneOf:
73387332
- type: "object"
73397333
title: "OAuth2.0"
@@ -7381,6 +7375,15 @@
73817375
description: "The API Password for your private application in the\
73827376
\ `Shopify` store."
73837377
airbyte_secret: true
7378+
start_date:
7379+
type: "string"
7380+
title: "Start Date"
7381+
description: "The date you would like to replicate data from. Format: YYYY-MM-DD.\
7382+
\ Any data before this date will not be replicated."
7383+
examples:
7384+
- "2021-01-01"
7385+
pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
7386+
order: 3
73847387
supportsNormalization: false
73857388
supportsDBT: false
73867389
supported_destination_sync_modes: []

ā€Žairbyte-integrations/connectors/source-shopify/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ COPY source_shopify ./source_shopify
2828
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
2929
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]
3030

31-
LABEL io.airbyte.version=0.1.33
31+
LABEL io.airbyte.version=0.1.34
3232
LABEL io.airbyte.name=airbyte/source-shopify

ā€Žairbyte-integrations/connectors/source-shopify/source_shopify/schemas/abandoned_checkouts.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"type": "object",
2+
"type": ["null", "object"],
33
"properties": {
44
"note_attributes": {
55
"type": ["null", "array"],

ā€Žairbyte-integrations/connectors/source-shopify/source_shopify/spec.json

+11-8
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,13 @@
1010
"shop": {
1111
"type": "string",
1212
"title": "Shopify Store",
13-
"description": "The name of the shopify store. For https://EXAMPLE.myshopify.com, the shop name is 'EXAMPLE'."
14-
},
15-
"start_date": {
16-
"type": "string",
17-
"title": "Start Date",
18-
"description": "The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated.",
19-
"examples": ["2021-01-01"],
20-
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
13+
"description": "The name of your Shopify store found in the URL. For example, if your URL was https://NAME.myshopify.com, then the name would be 'NAME'.",
14+
"order": 1
2115
},
2216
"credentials": {
2317
"title": "Shopify Authorization Method",
2418
"type": "object",
19+
"order": 2,
2520
"oneOf": [
2621
{
2722
"type": "object",
@@ -76,6 +71,14 @@
7671
}
7772
}
7873
]
74+
},
75+
"start_date": {
76+
"type": "string",
77+
"title": "Start Date",
78+
"description": "The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated.",
79+
"examples": ["2021-01-01"],
80+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
81+
"order": 3
7982
}
8083
}
8184
},

ā€Ždocs/integrations/sources/shopify.md

+59-60
Original file line numberDiff line numberDiff line change
@@ -13,71 +13,24 @@ This source can sync data for the [Shopify API](https://help.shopify.com/en/api/
1313

1414
This Source Connector is based on a [Airbyte CDK](https://docs.airbyte.io/connector-development/cdk-python).
1515

16-
## Troubleshooting
17-
18-
Check out common troubleshooting issues for the BigQuery destination connector on our Discourse [here](https://discuss.airbyte.io/tags/c/connector/11/source-shopify).
19-
20-
### Output schema
21-
22-
This Source is capable of syncing the following core Streams:
23-
24-
* [Abandoned Checkouts](https://help.shopify.com/en/api/reference/orders/abandoned_checkouts)
25-
* [Collects](https://help.shopify.com/en/api/reference/products/collect)
26-
* [Custom Collections](https://help.shopify.com/en/api/reference/products/customcollection)
27-
* [Customers](https://help.shopify.com/en/api/reference/customers)
28-
* [Draft Orders](https://help.shopify.com/en/api/reference/orders/draftorder)
29-
* [Discount Codes](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode)
30-
* [Metafields](https://help.shopify.com/en/api/reference/metafield)
31-
* [Orders](https://help.shopify.com/en/api/reference/orders)
32-
* [Orders Refunds](https://shopify.dev/api/admin/rest/reference/orders/refund)
33-
* [Orders Risks](https://shopify.dev/api/admin/rest/reference/orders/order-risk)
34-
* [Products](https://help.shopify.com/en/api/reference/products)
35-
* [Transactions](https://help.shopify.com/en/api/reference/orders/transaction)
36-
* [Tender Transactions](https://shopify.dev/api/admin-rest/2022-01/resources/tendertransaction))
37-
* [Pages](https://help.shopify.com/en/api/reference/online-store/page)
38-
* [Price Rules](https://help.shopify.com/en/api/reference/discounts/pricerule)
39-
* [Locations](https://shopify.dev/api/admin-rest/2021-10/resources/location)
40-
* [InventoryItems](https://shopify.dev/api/admin-rest/2021-10/resources/inventoryItem)
41-
* [InventoryLevels](https://shopify.dev/api/admin-rest/2021-10/resources/inventorylevel)
42-
* [Fulfillment Orders](https://shopify.dev/api/admin-rest/2021-07/resources/fulfillmentorder)
43-
* [Fulfillments](https://shopify.dev/api/admin-rest/2021-07/resources/fulfillment)
44-
* [Shop](https://shopify.dev/api/admin-rest/2021-07/resources/shop)
45-
46-
#### NOTE:
47-
48-
For better experience with `Incremental Refresh` the following is recommended:
49-
50-
* `Order Refunds`, `Order Risks`, `Transactions` should be synced along with `Orders` stream.
51-
* `Discount Codes` should be synced along with `Price Rules` stream.
52-
53-
If child streams are synced alone from the parent stream - the full sync will take place, and the records are filtered out afterwards.
54-
5516
### Data type mapping
5617

57-
| Integration Type | Airbyte Type | Notes |
58-
| :--- | :--- | :--- |
59-
| `string` | `string` | |
60-
| `number` | `number` | |
61-
| `array` | `array` | |
62-
| `object` | `object` | |
18+
| Integration Type | Airbyte Type |
19+
| :--- | :--- |
20+
| `string` | `string` |
21+
| `number` | `number` |
22+
| `array` | `array` |
23+
| `object` | `object` |
24+
| `boolean` | `boolean` |
6325

6426
### Features
6527

66-
| Feature | Supported?\(Yes/No\) | Notes |
67-
| :--- | :--- | :--- |
68-
| Full Refresh Sync | Yes | |
69-
| Incremental - Append Sync | Yes | |
70-
| Namespaces | No | |
71-
72-
### Performance considerations
73-
74-
Shopify has some [rate limit restrictions](https://shopify.dev/concepts/about-apis/rate-limits). Typically, there should not be issues with throttling or exceeding the rate limits but in some edge cases, user can receive the warning message as follows:
28+
| Feature | Supported?\(Yes/No\) |
29+
| :--- | :--- |
30+
| Full Refresh Sync | Yes |
31+
| Incremental - Append Sync | Yes |
32+
| Namespaces | No |
7533

76-
```text
77-
"Caught retryable error '<some_error> or null' after <some_number> tries. Waiting <some_number> seconds then retrying..."
78-
```
79-
80-
This is expected when the connector hits the 429 - Rate Limit Exceeded HTTP Error. With given error message the sync operation is still goes on, but will require more time to finish.
8134

8235
## Getting started
8336

@@ -98,11 +51,57 @@ This connector support both: `OAuth 2.0` and `API PASSWORD` (for private applica
9851
2. Proceed the authentication using your credentials for your Shopify account.
9952

10053

54+
### Output Streams Schemas
55+
56+
This Source is capable of syncing the following core Streams:
57+
58+
* [Abandoned Checkouts](https://shopify.dev/api/admin-rest/2022-01/resources/abandoned-checkouts#top)
59+
* [Collects](https://shopify.dev/api/admin-rest/2022-01/resources/collect#top)
60+
* [Custom Collections](https://shopify.dev/api/admin-rest/2022-01/resources/customcollection#top)
61+
* [Customers](https://shopify.dev/api/admin-rest/2022-01/resources/customer#top)
62+
* [Draft Orders](https://shopify.dev/api/admin-rest/2022-01/resources/draftorder#top)
63+
* [Discount Codes](https://shopify.dev/api/admin-rest/2022-01/resources/discountcode#top)
64+
* [Metafields](https://shopify.dev/api/admin-rest/2022-01/resources/metafield#top)
65+
* [Orders](https://shopify.dev/api/admin-rest/2022-01/resources/order#top)
66+
* [Orders Refunds](https://shopify.dev/api/admin-rest/2022-01/resources/refund#top)
67+
* [Orders Risks](https://shopify.dev/api/admin-rest/2022-01/resources/order-risk#top)
68+
* [Products](https://shopify.dev/api/admin-rest/2022-01/resources/product#top)
69+
* [Transactions](https://shopify.dev/api/admin-rest/2022-01/resources/transaction#top)
70+
* [Tender Transactions](https://shopify.dev/api/admin-rest/2022-01/resources/tendertransaction)
71+
* [Pages](https://shopify.dev/api/admin-rest/2022-01/resources/page#top)
72+
* [Price Rules](https://shopify.dev/api/admin-rest/2022-01/resources/pricerule#top)
73+
* [Locations](https://shopify.dev/api/admin-rest/2022-01/resources/location)
74+
* [InventoryItems](https://shopify.dev/api/admin-rest/2022-01/resources/inventoryItem)
75+
* [InventoryLevels](https://shopify.dev/api/admin-rest/2021-01/resources/inventorylevel)
76+
* [Fulfillment Orders](https://shopify.dev/api/admin-rest/2022-01/resources/fulfillmentorder)
77+
* [Fulfillments](https://shopify.dev/api/admin-rest/2022-01/resources/fulfillment)
78+
* [Shop](https://shopify.dev/api/admin-rest/2022-01/resources/shop)
79+
80+
#### Notes:
81+
82+
For better experience with `Incremental Refresh` the following is recommended:
83+
84+
* `Order Refunds`, `Order Risks`, `Transactions` should be synced along with `Orders` stream.
85+
* `Discount Codes` should be synced along with `Price Rules` stream.
86+
87+
If child streams are synced alone from the parent stream - the full sync will take place, and the records are filtered out afterwards.
88+
89+
### Performance considerations
90+
91+
Shopify has some [rate limit restrictions](https://shopify.dev/concepts/about-apis/rate-limits). Typically, there should not be issues with throttling or exceeding the rate limits but in some edge cases, user can receive the warning message as follows:
92+
93+
```text
94+
"Caught retryable error '<some_error> or null' after <some_number> tries. Waiting <some_number> seconds then retrying..."
95+
```
96+
97+
This is expected when the connector hits the 429 - Rate Limit Exceeded HTTP Error. With given error message the sync operation is still goes on, but will require more time to finish.
98+
10199
## Changelog
102100

103101
| Version | Date | Pull Request | Subject |
104102
| :--- | :--- | :--- | :--- |
105-
| 0.1.33 | 2022-02-17 | [10419](https://github.com/airbytehq/airbyte/pull/10419) | Fixed wrong field type for tax_exemptions |
103+
| 0.1.34 | 2022-03-02 | [10794](https://github.com/airbytehq/airbyte/pull/10794) | Minor specification re-order, fixed links in documentation |
104+
| 0.1.33 | 2022-02-17 | [10419](https://github.com/airbytehq/airbyte/pull/10419) | Fixed wrong field type for tax_exemptions for `Abandoned_checkouts` stream |
106105
| 0.1.32 | 2022-02-18 | [10449](https://github.com/airbytehq/airbyte/pull/10449) | Added `tender_transactions` stream |
107106
| 0.1.31 | 2022-02-08 | [10175](https://github.com/airbytehq/airbyte/pull/10175) | Fixed compatibility issues for legacy user config |
108107
| 0.1.30 | 2022-01-24 | [9648](https://github.com/airbytehq/airbyte/pull/9648) | Added permission validation before sync |

0 commit comments

Comments
Ā (0)