ShopifySharp 3.6.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ShopifySharp --version 3.6.0
NuGet\Install-Package ShopifySharp -Version 3.6.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ShopifySharp" Version="3.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ShopifySharp --version 3.6.0
#r "nuget: ShopifySharp, 3.6.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ShopifySharp as a Cake Addin
#addin nuget:?package=ShopifySharp&version=3.6.0

// Install ShopifySharp as a Cake Tool
#tool nuget:?package=ShopifySharp&version=3.6.0

ShopifySharp is a .NET library that enables you to authenticate and make API calls to Shopify.

Product Compatible and additional computed target framework versions.
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (10)

Showing the top 5 NuGet packages that depend on ShopifySharp:

Package Downloads
Exico.Shopify.Web.Core

Library for creating shopify store apps. Using this will make life easier and you only have to focus on your app's business logic. Everything else including installation or your app, billing etc will be taken care of automatically by this framework. There are many more into this framework. Consult documentation.

ShopifySharp.Extensions.DependencyInjection

Adds support for injecting ShopifySharp's services and service factories into your .NET classes using Microsoft's Dependency Injection containers.

ShopifySharp.Experimental

A package containing enhancements, experiments and extensions which have not yet (or may never) make it into the ShopifySharp package. This experimental package does not promise to be stable or adhere to SemVer, it may break between builds. Use at your own risk!

FenixAlliance.ABS.Integrations.Shopify

Application Component for the Alliance Business Suite.

eFormed.Shopify

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
7.0.0-b166 1,273 1/19/2024
6.17.0 10,116 5/16/2024
6.16.1 84 5/17/2024
6.16.0 1,394 5/14/2024
6.16.0-b197 122 5/16/2024
6.15.1 1,359 5/10/2024
6.15.1-b195 118 5/14/2024
6.15.1-b193 97 5/14/2024
6.15.0 5,305 4/30/2024
6.15.0-b192 106 5/10/2024
6.15.0-b191 124 5/8/2024
6.14.1 3,108 4/17/2024
6.14.1-b190 118 4/30/2024
6.14.0 19,915 4/2/2024
6.14.0-b189 111 4/17/2024
6.14.0-b188 116 4/11/2024
6.13.0 52,399 2/5/2024
6.13.0-b187 113 4/2/2024
6.13.0-b186 107 3/30/2024
6.13.0-b184 127 3/20/2024
6.13.0-b182 413 3/7/2024
6.13.0-b181 111 2/25/2024
6.13.0-b179 95 2/19/2024
6.13.0-b178 81 2/19/2024
6.13.0-b177 80 2/19/2024
6.13.0-b176 78 2/19/2024
6.13.0-b174 94 2/12/2024
6.13.0-b173 82 2/12/2024
6.12.2 7,570 1/30/2024
6.12.2-b172 91 2/5/2024
6.12.2-b171 91 2/5/2024
6.12.1 898 1/29/2024
6.12.1-b170 91 1/30/2024
6.12.0 13,591 1/18/2024
6.12.0-b169 89 1/29/2024
6.12.0-b168 73 1/29/2024
6.11.0 10,252 1/5/2024
6.11.0-b165 74 1/18/2024
6.10.0 18,115 12/19/2023
6.10.0-b160 129 1/5/2024
6.9.0 150 12/19/2023
6.9.0-b158 93 12/19/2023
6.8.3 3,627 12/18/2023
6.8.3-b156 108 12/19/2023
6.8.3-b155 139 12/18/2023
6.8.2 209 12/17/2023
6.8.2-b154 115 12/18/2023
6.8.2-b153 113 12/18/2023
6.8.0 454 12/17/2023
6.8.0-b151 144 12/17/2023
6.8.0-b131 641 10/26/2023
6.8.0-b130 98 10/26/2023
6.8.0-b129 121 10/25/2023
6.8.0-b128 120 10/23/2023
6.7.0 8,627 12/11/2023
6.7.0-b150 138 12/17/2023
6.7.0-b149 123 12/16/2023
6.7.0-b146 132 12/14/2023
6.7.0-b145 119 12/14/2023
6.7.0-b144 131 12/13/2023
6.7.0-b127 104 10/20/2023
6.7.0-b126 147 10/17/2023
6.7.0-b125 107 10/16/2023
6.7.0-b122 118 10/15/2023
6.6.1 29,555 10/26/2023
6.6.1-b143 143 12/11/2023
6.6.1-b142 129 12/9/2023
6.6.1-b141 125 12/9/2023
6.6.1-b139 133 12/9/2023
6.6.1-b138 124 12/8/2023
6.6.1-b137 97 12/8/2023
6.6.1-b136 65 12/6/2023
6.6.1-b135 71 11/23/2023
6.6.1-b134 64 11/17/2023
6.6.1-b133 61 11/13/2023
6.6.1-b132 73 11/13/2023
6.6.0 9,318 10/11/2023
6.6.0-b121 99 10/11/2023
6.6.0-b120 106 10/5/2023
6.6.0-b119 107 10/3/2023
6.6.0-b118 672 9/14/2023
6.4.0 31,557 9/14/2023
6.4.0-b116 98 9/14/2023
6.3.3 34,604 8/4/2023
6.3.3-b112 109 8/16/2023
6.3.2 13,471 7/28/2023
6.3.2-b111 123 8/4/2023
6.3.1 160 7/28/2023
6.3.1-b109 119 7/28/2023
6.3.0 1,036 7/28/2023
6.3.0-b108 120 7/28/2023
6.2.0 20,222 7/13/2023
6.2.0-b107 105 7/28/2023
6.1.2 710 7/13/2023
6.1.2-b106 125 7/13/2023
6.1.2-b105 131 7/13/2023
6.1.2-b104 110 7/13/2023
6.1.1 16,993 6/27/2023
6.1.1-b103 132 7/12/2023
6.1.1-b101 125 7/8/2023
6.1.1-b100 107 6/27/2023
6.1.0 2,947 6/23/2023
6.1.0-b99 103 6/27/2023
6.1.0-b98 100 6/24/2023
6.0.1 130,638 3/12/2023
6.0.1-b97 94 6/23/2023
6.0.1-b91 133 5/31/2023
6.0.1-b86 136 3/24/2023
5.19.1 68,027 1/20/2023
5.19.1-b83 122 3/10/2023
5.19.0 27,439 1/10/2023
5.19.0-b76 155 1/20/2023
5.19.0-b74 141 1/11/2023
5.18.12 15,733 1/6/2023
5.18.12-b73 138 1/10/2023
5.18.11 34,231 11/28/2022
5.18.11-b72 147 1/6/2023
5.18.11-b71 149 12/8/2022
5.18.11-b70 139 12/7/2022
5.18.10 10,388 11/15/2022
5.18.10-b69 114 11/27/2022
5.18.9 3,374 11/11/2022
5.18.9-b68 161 11/15/2022
5.18.8 408 11/10/2022
5.18.8-b67 160 11/11/2022
5.18.7 24,144 11/3/2022
5.18.7-b66 133 11/10/2022
5.18.6 9,493 10/24/2022
5.18.6-b65 140 11/3/2022
5.18.5 21,111 10/4/2022
5.18.5-b64 136 10/20/2022
5.18.5-b62 143 10/17/2022
5.18.5-b61 140 10/7/2022
5.18.5-b60 124 10/6/2022
5.18.4 26,674 9/20/2022
5.18.4-b59 145 9/28/2022
5.18.3 13,364 9/9/2022
5.18.3-b57 130 9/20/2022
5.18.3-b55 141 9/10/2022
5.18.2 17,746 8/30/2022
5.18.2-b54 140 9/1/2022
5.18.1 9,644 8/23/2022
5.18.1-b53 135 8/30/2022
5.18.0 11,682 8/12/2022
5.18.0-b52 153 8/23/2022
5.18.0-b47 132 8/15/2022
5.17.0 8,686 8/6/2022
5.17.0-b46 175 8/12/2022
5.16.0 3,961 8/3/2022
5.16.0-b39 167 8/6/2022
5.16.0-b32 155 8/5/2022
5.15.0 133,176 2/18/2022
5.15.0-b55 183 6/23/2022
5.15.0-b30 146 8/3/2022
5.15.0-b3 165 6/23/2022
5.15.0-b26 177 8/2/2022
5.15.0-b25 167 7/16/2022
5.15.0-b2 145 6/23/2022
5.15.0-b17 173 7/6/2022
5.15.0-b12 159 6/30/2022
5.15.0-b1 169 6/23/2022
5.15.0-b00504 170 5/31/2022
5.15.0-b00503 770 3/8/2022
5.15.0-b00496 172 2/18/2022
5.14.4 22,691 1/12/2022
5.14.4-b00495 167 2/14/2022
5.14.4-b00494 164 1/12/2022
5.14.3 3,722 1/11/2022
5.14.3-b00493 181 1/11/2022
5.14.2 25,459 12/13/2021
5.14.2-b00492 173 1/11/2022
5.14.2-b00491 155 1/4/2022
5.14.2-b00490 200 12/13/2021
5.14.1 7,650 11/18/2021
5.14.1-b00489 176 12/10/2021
5.14.1-b00488 296 11/18/2021
5.14.1-b00487 415 11/18/2021
5.14.0 3,773 11/18/2021
5.14.0-b00486 203 11/18/2021
5.14.0-b00485 225 11/18/2021
5.14.0-b00481 212 11/17/2021
5.13.1 83,513 9/24/2021
5.13.1-b00477 226 11/17/2021
5.13.1-b00474 198 11/15/2021
5.13.1-b00473 217 11/12/2021
5.13.1-b00472 282 10/14/2021
5.13.1-b00470 276 10/14/2021
5.13.1-b00468 257 9/24/2021
5.13.0 2,165 9/23/2021
5.13.0-b00467 264 9/24/2021
5.13.0-b00465 244 9/23/2021
5.12.1 17,793 9/16/2021
5.12.1-b00463 281 9/21/2021
5.12.1-b00462 304 9/16/2021
5.12.0 40,950 7/10/2021
5.12.0-b00461 329 9/13/2021
5.12.0-b00460 307 9/13/2021
5.12.0-b00458 265 7/9/2021
5.11.1 4,542 6/30/2021
5.11.1-b00456 302 7/9/2021
5.11.1-b00455 291 7/9/2021
5.11.1-b00453 280 7/9/2021
5.11.1-b00452 330 6/30/2021
5.11.0 660 6/30/2021
5.11.0-b00451 334 6/30/2021
5.11.0-b00450 316 6/30/2021
5.10.0 44,669 3/31/2021
5.10.0-b00447 259 5/26/2021
5.10.0-b00446 276 5/26/2021
5.10.0-b00445 284 3/31/2021
5.9.0 33,241 3/16/2021
5.9.0-b00444 288 3/31/2021
5.9.0-b00442 334 3/16/2021
5.8.1 9,636 2/26/2021
5.8.1-b00441 393 3/16/2021
5.8.1-b00438 475 2/26/2021
5.8.0 61,058 11/25/2020
5.8.0-b00435 464 11/25/2020
5.7.0 32,850 9/15/2020
5.7.0-b00434 482 11/24/2020
5.7.0-b00433 375 11/24/2020
5.7.0-b00432 443 11/20/2020
5.7.0-b00431 413 11/20/2020
5.7.0-b00430 480 11/20/2020
5.7.0-b00428 520 9/14/2020
5.6.0 1,541 9/12/2020
5.6.0-b00427 499 9/14/2020
5.6.0-b00426 441 9/11/2020
5.5.0 14,031 8/22/2020
5.5.0-b00424 581 9/11/2020
5.5.0-b00423 444 9/11/2020
5.5.0-b00417 467 8/22/2020
5.4.0 7,624 7/23/2020
5.4.0-b00415 517 8/22/2020
5.4.0-b00414 479 7/23/2020
5.3.0 16,688 6/24/2020
5.3.0-b00413 510 7/23/2020
5.3.0-b00412 436 7/14/2020
5.3.0-b00410 1,015 6/23/2020
5.2.0 8,917 5/30/2020
5.2.0-b00409 529 6/23/2020
5.2.0-b00405 525 5/30/2020
5.1.1 3,849 5/14/2020
5.1.1-b00401 493 5/14/2020
5.1.0 18,235 4/20/2020
5.1.0-b00393 458 4/20/2020
5.1.0-b00391 502 4/15/2020
5.0.4 55,413 3/6/2020
5.0.4-b00388 522 4/15/2020
5.0.4-b00385 524 3/6/2020
5.0.3 3,512 3/3/2020
5.0.2 1,704 3/3/2020
5.0.1 2,384 3/2/2020
5.0.1-b00378 677 3/2/2020
5.0.0 1,394 3/1/2020
5.0.0-b00376 496 3/2/2020
5.0.0-b00375 498 3/2/2020
5.0.0-b00372 496 3/2/2020
5.0.0-b00369 575 3/1/2020
5.0.0-b00366 482 2/29/2020
5.0.0-b00365 542 2/29/2020
5.0.0-b00363 944 2/28/2020
5.0.0-b00360 640 2/28/2020
5.0.0-b00351 501 2/26/2020
4.25.3 6,579 3/1/2020
4.25.2 3,988 1/30/2020
4.25.1 20,210 1/23/2020
4.25.1-b00339 633 1/30/2020
4.25.0 1,189 1/16/2020
4.25.0-b00337 571 1/23/2020
4.24.0 2,485 12/30/2019
4.24.0-b00335 542 1/16/2020
4.24.0-b00332 553 1/16/2020
4.24.0-b00330 959 1/16/2020
4.23.0 1,900 12/10/2019
4.23.0-b00328 604 12/30/2019
4.23.0-b00327 568 12/19/2019
4.23.0-b00326 511 12/19/2019
4.22.1 1,256 12/3/2019
4.22.1-b00323 582 12/10/2019
4.22.0-b00320 506 12/3/2019
4.21.8 1,059 12/1/2019
4.21.7 23,868 10/4/2019
4.21.6 3,832 9/18/2019
4.21.6-b00312 678 10/4/2019
4.21.6-b00311 609 9/28/2019
4.21.6-b00310 671 9/28/2019
4.21.6-b00308 591 9/28/2019
4.21.6-b00307 562 9/28/2019
4.21.6-b00306 1,454 9/28/2019
4.21.6-b00298 609 9/27/2019
4.21.5 2,223 9/16/2019
4.21.4 27,897 7/28/2019
4.21.3 2,389 7/26/2019
4.21.1 3,048 7/5/2019
4.21.0 1,214 7/1/2019
4.20.0 4,042 6/20/2019
4.19.2 9,920 4/5/2019
4.19.1 7,850 2/27/2019
4.19.0 1,019 2/26/2019
4.18.2 906 2/26/2019
4.18.1 3,809 2/7/2019
4.18.0 6,400 1/21/2019
4.17.3 7,903 12/19/2018
4.17.2 9,475 12/4/2018
4.17.1 1,380 11/29/2018
4.17.0 3,020 11/19/2018
4.16.4 5,781 10/28/2018
4.16.3 1,769 10/11/2018
4.16.2 84,742 8/8/2018
4.16.1 1,816 7/12/2018
4.16.0 2,312 6/28/2018
4.15.2 2,050 6/22/2018
4.15.1 1,354 6/18/2018
4.15.0 13,121 6/8/2018
4.14.2 2,266 5/31/2018
4.14.1 1,177 5/31/2018
4.14.0 1,447 5/23/2018
4.13.0 1,295 5/21/2018
4.12.1 1,608 5/14/2018
4.12.0 2,117 4/6/2018
4.11.0 2,749 3/21/2018
4.10.2 2,199 3/9/2018
4.10.1 1,252 3/6/2018
4.10.0 1,851 2/6/2018
4.9.2 1,990 1/23/2018
4.9.1 1,696 1/19/2018
4.9.0 1,332 1/18/2018
4.8.4 1,303 1/16/2018
4.8.3 1,665 1/10/2018
4.8.2 1,374 1/5/2018
4.8.1 1,494 1/4/2018
4.8.0 1,650 1/2/2018
4.7.2 1,516 12/20/2017
4.7.1 1,612 12/15/2017
4.7.0 1,491 12/11/2017
4.6.1 4,825 10/30/2017
4.6.0 1,306 10/27/2017
4.5.0 2,183 10/10/2017
4.4.0 1,905 9/21/2017
4.3.0 1,555 9/19/2017
4.2.0 1,531 8/28/2017
4.1.1 1,305 8/22/2017
4.1.0 1,992 8/16/2017
4.0.2 1,253 8/14/2017
4.0.1 1,939 7/21/2017
4.0.0 1,560 7/15/2017
4.0.0-alpha-2 864 7/14/2017
4.0.0-alpha-1 802 7/14/2017
3.9.0 12,723 6/9/2017
3.8.0 1,687 5/30/2017
3.7.0 2,572 5/7/2017
3.6.2 1,291 5/3/2017
3.6.1 2,498 4/20/2017
3.6.0 1,221 4/17/2017
3.5.5 2,365 3/8/2017
3.5.4 1,450 2/28/2017
3.5.3 1,475 2/8/2017
3.5.2 1,429 2/2/2017
3.5.1 2,536 1/17/2017
3.5.0 1,543 1/5/2017
3.4.4 1,785 12/27/2016
3.4.3 1,257 12/21/2016
3.4.2 1,340 12/14/2016
3.4.1 1,340 12/8/2016
3.4.0 1,579 11/15/2016
3.3.0 1,240 11/14/2016
3.2.0 1,538 10/27/2016
3.1.1 1,284 10/27/2016
3.1.0 2,993 10/7/2016
3.0.0 1,665 9/21/2016
2.4.0 1,727 9/13/2016
2.3.0 1,697 8/29/2016
2.2.0 1,455 7/19/2016
2.1.4 2,267 6/22/2016
2.1.3 1,267 6/10/2016
2.1.2 1,300 6/7/2016
2.1.1 1,242 6/5/2016
2.1.0 1,291 5/28/2016
2.0.3 1,298 5/9/2016
2.0.2 1,687 4/17/2016
2.0.1 1,322 4/15/2016
2.0.0 1,260 4/13/2016
1.17.1 2,323 4/2/2016
1.17.0 1,562 3/16/2016
1.16.0 2,135 2/26/2016
1.15.1 1,508 2/22/2016
1.15.0 1,598 2/9/2016
1.14.0 1,495 12/26/2015
1.13.0 1,284 12/25/2015
1.12.0 1,377 12/25/2015
1.11.4 1,376 12/18/2015
1.11.3 1,585 11/30/2015
1.11.2 1,455 11/25/2015
1.11.1 1,355 11/16/2015
1.11.0 1,313 11/12/2015
1.10.0 1,321 11/11/2015
1.9.0 1,337 11/5/2015
1.8.0 1,323 10/22/2015
1.7.3 1,344 10/14/2015
1.7.2 1,381 10/9/2015
1.7.1 1,659 10/7/2015
1.7.0 1,557 10/3/2015
1.6.0 1,399 9/25/2015
1.5.0 1,438 9/15/2015
1.4.0 1,370 9/12/2015
1.3.6 1,362 8/28/2015
1.3.5 1,370 8/25/2015
1.3.4 1,349 8/21/2015
1.3.3 1,272 8/18/2015
1.3.2 1,341 8/18/2015
1.3.1 1,663 8/13/2015
1.3.0 1,713 8/13/2015
1.2.0 1,503 8/12/2015
1.1.0 2,047 8/12/2015
1.0.0 1,392 8/12/2015

3.6.0
 =====
 - New `ShopifyDiscountService`: Create, get, list, delete, enable and disable Shopify discount codes. (Requires Shopify Plus subscription.)

 3.5.5
 =====
 - Bugfix: ShopifySharp.DisplayPlanName wasn't deserializing due to a bad property name.
 
 3.5.4
 =====
 - Add `order` property to ShopifyListFilter.
 - Add `payment_gateway_names` to ShopifyOrder.

 3.5.3
 =====
 - Bugfix: ShopifyPageFilter's .Title and .Handle properties are now strings.

 3.5.2
 =====
 - Added the `Refunds` property to ShopifyOrder objects.
 - Added the `CountryName` property to ShopifyLocation objects.

 3.5.1
 =====
 - Add `UserId`, `LocationId`, `OrderStatusUrl` to ShopifyOrder. [(#98)](https://github.com/nozzlegear/shopifysharp/issues/98)
 - Add `SessionHash` to ShopifyClientDetails and mark `SessionHeight` as obsolete to be removed in a future release. ([#99])(https://github.com/nozzlegear/shopifysharp/issues/99)
 - Mark ShopifyOrder's `PaymentDetails`, `TotalPriceUsd` and `ContactEmail` as obsolete to be removed in a future release. [(#100)](https://github.com/nozzlegear/shopifysharp/issues/98)
 - Add `Filename` property to ShopifyProductImage. [(#103)](https://github.com/nozzlegear/shopifysharp/pull/103)

 3.5.0
 =====
 - New `RequestEngine.SetExecutionPolicy`: Set a global execution policy to be used by the service for every API call. This can be used to implement a retry policy via the `RetryExecutionPolicy` and `SmartRetryExecutionPolicy`. [(#94)](https://github.com/nozzlegear/ShopifySharp/pull/94)
 - Made all service methods virtual so they can be overridden, making e.g. unit tests easier via a proxy. [(#93)](https://github.com/nozzlegear/ShopifySharp/pull/93)

 3.4.4
 =====
 - New ShopifyCustomerUpdateOptions: Update a customer's password during ShopifyCustomerService.UpdateAsync [(#92)](https://github.com/nozzlegear/shopifysharp/pull/92).

 3.4.3
 =====
 - Bugfix: ShopifyCustomerService.CreateAsync wasn't properly serializing the CustomerCreateOptions class.

 3.4.2
 =====
 - Bugfix: ShopifyOrderRisk.CauseCancel should be nullable [(#88)](https://github.com/nozzlegear/shopifysharp/issues/88).

 3.4.1
 =====
 - Added the new `DisplayScope` property to ShopifyScriptTag. Known values are 'online_store', 'order_status' and 'all'. Defaults to 'all'.

 3.4.0
 =====
 - New ShopifyArticleService: Create, get, update, list, count, and delete articles, in addition to listing authors and listing tags.

 3.3.0
 =====
 - New ShopifyApplicationCreditService: Create, list and get Application Credits [(#84)](https://github.com/nozzlegear/ShopifySharp/issues/84).
 - Support for "Offline Access" and "Online Access" tokens when creating an authorization URL for OAuth integration [(#83)](https://github.com/nozzlegear/ShopifySharp/issues/83).
 - Support for canceling an order [(#85)](https://github.com/nozzlegear/ShopifySharp/issues/85).

 3.2.0
 =====
 - New ShopifyBlogService: Create, get, update, count, list and delete a shop's blogs [(#80)](https://github.com/nozzlegear/ShopifySharp/issues/80).

 3.1.1
 =====
 - Bugfix: ShopifyMetaFieldService.GetAsync was returning null due to bad deserialization [(#81)](https://github.com/nozzlegear/ShopifySharp/issues/81).
 3.1.0
 =====
 - New ShopifyProductVariantService: Create, get, update, count, list and delete a product's variants [(#73)](https://github.com/nozzlegear/ShopifySharp/issues/73).
 - New ShopifySmartCollectionService: Create, get, update, count, list and delete smart collections [(#72)](https://github.com/nozzlegear/ShopifySharp/issues/72).
 - New ShopifyOrderRiskService: Create, get, update, list and delete order risks [(#71)](https://github.com/nozzlegear/ShopifySharp/issues/71).
 - When an API call reaches Shopify's rate limit, a ShopifyRateLimitException will now be thrown. This exception inherits from the base ShopifyException, so previous code will still catch the exception [(#67)](https://github.com/nozzlegear/ShopifySharp/issues/67).
 - Bugfix: ShopifySharp will not properly parse the "authorization code was not found or was already used" error when trying to reuse an OAuth code [(#70)](https://github.com/nozzlegear/ShopifySharp/issues/70).
 - Bugfix: Closing and opening an order should return the ShopifyOrder object [(#76)](https://github.com/nozzlegear/ShopifySharp/issues/76).
 3.0.0
 =====
 - Breaking release: all enums have been removed and replaced with strings to avoid unannounced changes from Shopify breaking your apps. Reasoning for this change is documented at https://github.com/nozzlegear/ShopifySharp/pull/65.

 2.4.0
 =====
 - New ShopifyEventService: List, get and count Shopify events.
 
 2.3.0
 =====
 - New ShopifyLocationService: List and get Shopify store locations.
 
 2.2.0
 =====
 - New ShopifyUsageChargeService: Create, get and list usage charges.
 - New property: ShopifyRecurringCharge.Terms. Must be used to create a ShopifyUsageCharge.
 - New property: ShopifyRecurringCharge.CappedAmount. Must be used to create a ShopifyUsageCharge.
 
 2.1.4
 =====
 - New ShopifyAuthorizationScopes: `WriteShipping`, `ReadAnalytics`, `ReadUsers`, `WriteUsers`.
 - New ShopifyThemeRole: `Mobile`.

 2.1.3
 =====
 - Bugfix: `ShopifyOrder.TotalWeight` is now a long number. #56.

 2.1.2
 =====
 - New `ShopifyLineItem.Properties` property. #55.
 
 2.1.1
 =====
 - Bugfix: `ShopifyShop.ForceSSL` wasn't serializing or deserializing properly.
 
 2.1.0
 =====
 - New feature: ShopifyProductImage. Create, get, count, list, update and delete a product's images.
 - New property: ShopifyShop.ForceSSL.
 
 2.0.3
 =====
 - Added an optional state parameter to OAuth installation URL built with ShopifyAuthorizationService.BuildAuthorizationUrl. #51
 - Added ThemePublished webhook, which gets fired when a Shopify shop changes its current published theme. #47.
 
 2.0.2
 ======
 - Bugfix: ShopifyProductVariant.Grams field could occasionally be null, throwing a deserialization exception. Null value now defaults to 0. #48
 
 2.0.1
 ======
 - Fixed a bug where ShopifySharp would throw an `ArgumentNullException` while trying to deserialize an empty response error from Shopify. #46
 
 2.0.0
 ======
 Version 2.0.0 is a major update to ShopifySharp, it contains some breaking changes. We strongly recommend updating to 2.0.0+ **before** June 1st, 2016. Shopify will completely deprecate the method for verifying authentic requests used in `ShopifyAuthorizationService.IsAuthenticRequest` on June 1st, 2016. After that date, this method will always return false in v1 builds.
 
 Breaking changes:
 
 - `ShopifyException.Error.Errors` is now a `Dictionary{string, IEnumerable{string}}` on the ShopifyException itself. To maintain some back compat, `ShopifyException.JsonError` is the raw JSON-serialized error returned by Shopify. It's functionally identical to the old ex.Error.Errors, which was also the raw JSON string.
 - Any enums that previously had a `.Unknown` default value are now nullable and have had those values removed. Instead of checking if `Enum == Enum.Unknown`, you should instead check if `Enum == null` or `Enum != Enum.Value`.
 - `ShopifyRecurringChargeStatus` has been merged into `ShopifyChargeStatus`.
 - All `*FilterOptions` and `*ListOptions` (used in many Service.ListAsync and Service.CountAsync calls) have been renamed to `*Filter` and moved into the `ShopifySharp.Filters` namespace.
 
 Other changes:
 
 - New feature: Forcefully uninstall your app from the shop with `ShopifyShopService.UninstallAppAsync()`.
 
 1.17.1
 ======
 - Bugfix: ShopifyAuthorizationService.IsAuthentic* methods threw an exception when signature was null, rather than returning false.
 
 1.17.0
 ======
 - New feature: ShopifyCustomCollectionService. Create, get, list, count, update and delete custom collections.
 
 1.16.0
 ======
 - New feature: ShopifyMetaFieldService. Create, get, list, count, update and delete metafields.
 
 1.15.1
 ======
 - Support for publishing and unpublishing a Shopify product.
 - Bugfix: Creating an unpublished product was broken and would create it as published.
     
 1.15.0
 ======
 - New feature: ShopifyPageService. Create, get, list, count, update and delete a shop's web pages. ([#25](https://github.com/nozzlegear/ShopifySharp/pull/25))
 - Enhancement: Removed Humanizer dependency in favor of C# 6.0's native string interpolation. ([#23](https://github.com/nozzlegear/ShopifySharp/issues/23))
 - Enhancement: Added additional filter options to `ShopifyOrderFilterOptions`. ([#27](https://github.com/nozzlegear/ShopifySharp/pull/27))
 - Bugfix: Changed the `Title`, `Vendor`, `Handle` and `ProductType` properties in `ShopifyProductFilterOptions` from long to string. ([#29](https://github.com/nozzlegear/ShopifySharp/issues/29))
 - Bugfix: `ShopifyProductFilterOptions` failed to parse the `CollectionId` from JSON. ([#28](https://github.com/nozzlegear/ShopifySharp/issues/28))
 
1.14.0
======
- New feature: ShopifyTransactionService. Create, get, list and count an order's transactions.

1.13.0
======
- New feature: ShopifyFulfillmentService. Create, retrieve, update, list, count, complete and cancel an order's fulfillments.

1.12.0
======
- New feature: ShopifyCollectService. Create, retrieve, list, count and delete a store's Collects.

1.11.4
======
- Adds a `SinceId` filter to `ShopifyOrderFilterOptions`, letting you filter a list of orders to those created after the given id.

1.11.3
======
- Makes ShopifyShop.PasswordEnabled a nullable Boolean. Null values here previously threw a deserialization exception.

1.11.2
======
- Fixed a bug ShopifyOrderService.ListAsync and ShopifyProductService.ListAsync where filtering the results to specific ids was broken.
- https://github.com/nozzlegear/shopifysharp/issues/17

1.11.1
======
- Validate proxy page requests with ShopifyAuthorizationService.IsAuthenticProxyRequest.

1.11.0
======
- New feature: ShopifyRedirectService. Create, retrieve, list, update, count and delete a store's redirects.

1.10.0
======
- New feature: ShopifyThemeService. Create, retrieve, list, update and delete a store's themes.
- This version marks the first use of NullableEnumConverter, which is the final solution for Shopify's undocumented, sometimes-null-sometimes-not enum values. Nullable enums are not backwards-compatible, though, so we'll have to wait until version 2.0 to apply the changes to older enums.

1.9.0
=====
- New feature: ShopifyProductService. Create, retrieve, count, list, update and delete a store's products.

1.8.0
=====
- New feature: ShopifyAssetService. Create, retrieve, list, update and copy a store theme's assets.

1.7.3
=====
- New property: ShopifyOrder.ContactEmail. See this announcement thread for important information about ShopifyOrder.ContactEmail and ShopifyOrder.Email: https://ecommerce.shopify.com/c/api-announcements/t/changes-to-order-email-address-294544

1.7.2
=====
- Bugfix: ShopifyOrder.TotalWeight can be null. Changed from "int" to "int?".
     
1.7.1
=====
- Bugfix: ShopifySharp.Enums.ShopifyProcessingMethod did not contain 'free' value, threw exception on deserialization. Fixed by adding 'free' value and a converter that will set any future unknown values to 'Unknown'. Next release will apply this to all enums, owing to the fact that Shopify does not document all valid enums, making it impossible to include them all without trial and error.

1.7.0
=====
- New feature: ShopifyScriptTagService. Script tags let you add remote javascript tags that are loaded into the page's of a shop's storefront, letting you dynamically change the functionality of their shop without editing the store's template.

1.6.0
=====
- New feature: ShopifyChargeService. Create, retrieve, list and activate a one-time application charge.
- Added "expired" and "cancelled" to ShopifyRecurringChargeStatus enum.
- Bugfix: ShopifyRecurringChargeConverter did not properly convert unknown enums to ShopifyRecurringChargeStatus.Unknown. Caused exceptions when receiving charges with previously undocumented "expired" and "cancelled" statuses.

1.5.0
=====
- Added a ShopifyRecurringChargeStatus enum to the ShopifyRecurringCharge object.

1.4.0
=====
- New feature: ShopifyRecurringChargeService. Create, retrieve, list, activate and delete recurring application charges.

1.3.6
=====
- Bugfix: ShopifyAuthorizationService.IsAuthenticWebhook disposed the input stream when it should not have.

1.3.5
=====
- Bugfix: ShopifyDiscountCode is nullable, but null value was not handled.

1.3.4
=====
- Service constructors now attempt to add a URI scheme before determining that the myShopifyUrl string is invalid.

1.3.3
=====
- Implemented ShopifyWebhookService, which which enables creating, retrieving, deleting, updating, listing, and counting a shop's webhooks.

1.3.2
=====
- Including XML documentation.

1.3.1
=====
- Bugfix: ShopifyFulfillment.TrackingUrl and ShopifyFulfillment.TrackingUrls props were missing.

1.3.0
=====
- New ShopifyAuthorizationService.IsValidMyShopifyUrl function.

- Bugfix: ShopifyOrder.TotalPriceUsd was missing.

- Bugfix: ShopifyOrder.PaymentDetails was missing.