- Add pagination support for fulfillment line items #248
- Update the bookmark value even if the record is not retrieved #247
- Exponential backoff for Shopify bulk operations in progress #246
- Cleanup state file for failed Bulk operations #244
- New automatic_keys Support and Bulk State Persistence Logic #237
- Query and extract multiple pages of products for each collection #227
- Refactor Orders Stream: standard GraphQL → Bulk API Migration #227
- Set max_size of pagination to 30 for fullfilment_orders #230
- Dependency upgrades #228
- Introduce new stream fulfillment_orders. #222
- Add fields in orders stream - retailLocation and location ID (within fulfillments) #219
- Skip the author field on missing read_users scope #223
- Introduce new stream order_shipping_lines. #213
- shippingLine is a nested object within the orders stream and it represents individual shipping methods.
- Fix date_window bug#221
- Fix transformation bug for abandoned checkouts #218
- Dynamically generate graphql query #214
- Refactor refund and transactions sync logic to rely on updated parent objects #212
- Enhance tap with additional fields across streams #209
- Bookmarks are now updated after fetching records within the specified date range.
- Add missing fields into the schema of orders and order_refunds stream #208
- Migrate Remaining Shopify Streams from REST API to GraphQL API #201
- Introduce new streams -
collections,metafields_collections,metafields_customers,metafields_orders,metafields_products - Delete streams -
collects,custom_collectionsandmetafields
- Optimize Shopify Metafields Sync Performance #200
- Include the new field (= inventoryItem) in the product variants schema.
- Add retry for the interruptible sync error from the server side.
- Update bookmark logic for transactions and order_refunds stream #197
- Fixed error handling for GraphQL client #195
- Deprecated REST Admin API for products
- GraphQL support added for deprecated streams
- New stream
Product Variantsadded - More details here: #193
- Updates the Shopify SDK to 12.3.0
- Updates API version used to 2024-01
- Incarporates schema changes #187
- Updates to run on python 3.11 #186
- Updates the Shopify SDK to 12.3.0
- Updates API version used to 2023_04
- Adds and removes fields per Shopify API changelog for versions 2022_10, 2023_01, 2023_04 #178
- Add backoff for 404 error code #159
- Add backoff for ConnectionResetError #169
- Add backoff for IncompleteRead #144
- Update interrupted sync bookmark strategy #166
- Add URLError (connection reset by peer) to retry logic #165
- Update bookmarking logic #143
From #157:
- API/SDK Upgrade to v12.0.1
- New Field Additions to Schema
- Fields removal from the schema
- Add canonicalization of transaction receipts to OrderRefunds [#156] (#156)
- Fixing Tranformation Issues [#149] (#149)
- Request Timeout Implementation #129
- Adds
eventsstream #127
- Add shop info in record #115
- Add inventory item data [#118] (#118)
- Add Locations stream and TDL-13614: Add Inventory Levels stream [#114] (#114)
- Added best practices [#116] (#116)
- Discover mode should check token [#120] (#120)
- Fixes a bug in the canonicalize function for a 'receipt' key existing with a null value #119
- Add
statusfield toProductsstream #108
- Correct abandoned_checkouts schema to correctly reflect some properties as arrays #44
- Add
buildto the list of fields we canonicalize for the Transactions stream #103
- Add
python_requirestosetup.py#101- We've tested the tap on
python 3.5.2andpython 3.8.0
- We've tested the tap on
- Canonicalize
TimestamptotimestamponTransactions.receipt#98
This version ships both #96 and #97.
From #97:
- removes the "untestable streams" list from all tests.
- makes the test match the tap and expect the default page size to be 175, not 250
- adds bookmarking to order_refunds
- adds bookmarking to transactions
- adds shopify error handling to transactions
- The tests would fail with unhandled 429s
- adds pagination to transactions
From #96:
- Update the API version from
2020-10to2021-04
- Add
null, objectto customer schema definition #94
- Bumps
singer-pythonfrom5.11.0to5.12.1#91
- Modified schema so that all fields using
multipleOfare now usingsinger.decimal#88
- Change how exceptions are logged to make the error messages more consistent #84
- Accepts any string for
accepts_marketing_updated_atfield on thecustomersstream #69
- Bumps
singer-pythonfrom5.4.1to5.9.1#67
- Adds
accepts_marketing_updated_atto sharedcustomerschema #61
- Bumped Shopify API version to 2020-07 (SDK version 8.0.1) #63
- Fixes issue where
productsreturns 0 records due to a change in thestatusparameter, Shopify now requirespublished_status#59
- Update the line_item schema to allow an object under the properties key #58
- Bump ShopifyAPI version from 3.1.0 -> 7.0.1 #54
- Explicitly specify Shopify API version as
2019-10#54
- Use try/except around JSON metafield's data and fallback to string #50
- Handles null/non-integer values for
results_per_page#48
- Lowering the page size from 250 to 175 as per recommendation from Shopify to mitigate receiving 500s #45
- Bump minimum value for numbers to 1e-10 commit
- Canonicalize
transaction__receipt__versionto always prefer and coerce toversion#41
- Add
http_request_timermetrics to HTTP requests #39
- Canonicalize
transaction__receipt__tokento always usetokeninstead ofToken#37
- Retry pattern will now fall back to lowercase if
Retry-Afternot present #35
- Uses patternProperties to match extra fields on transactions receipts #33
- Add
results_per_pageas a config param and allow float values fordate_window_size#30
- Fix bookmark resetting for
since_idafter date window finishes #29
- Check for
updated_atfield incollectrecords. If absent, sync it #28
- Update the JSON Schema for "number" elements to use a higher "multipleOf" precision #27
- Reset local
since_idto 1 after the date window finishes on normal syncs #25
- Sets the default paging window to 1 day at a time to account for large volumes #24
- Updates bookmarking code to capture the since_id in case an interruption occurs while syncing a window with large amounts of data #23
- Updates a number of schema fields to validate and load as Decimals #22
- Uses anyOf schema for the shared line_item id #21
- Fixes some retry logic to retry JSON Decode errors from weird Shopify responses #18
- Updates the orders and order_refunds schemas #17
- Releasing a beta for more general availability
- Reduce query window to 1 week
- Reduce query window to 1 month
- Change bookmarking to use query windows
updated_at_maxas bookmark #9