An Elixir package for accessing the Shopify Admin API with support for OAuth, private apps, and comprehensive resource coverage.
Shopify API is an Elixir client library that provides seamless integration with the Shopify Admin API. It enables developers to manage Shopify stores programmatically by handling authentication, requests, and responses in a clean, idiomatic Elixir way. The library offers comprehensive resource coverage for over 50 Shopify entities like Products, Orders, and Customers.
Elixir developers building applications that need to interact with Shopify stores, such as custom store management tools, data synchronization systems, or e-commerce integrations. It is particularly suited for teams leveraging Elixir's concurrency and fault-tolerance features in production.
Developers choose this library for its idiomatic Elixir interface that returns consistent {:ok, response} or {:error, response} tuples, simplifying error handling. It stands out with dual authentication support (OAuth and basic auth), built-in testing utilities with a mock adapter, and Shopify Plus Multipass integration for seamless customer authentication.
Easily access the Shopify API with Elixir.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports both OAuth for public apps and basic auth for private apps, providing flexibility for different app types as shown in the configuration examples.
Includes modules for over 50 Shopify resources like Products, Orders, and Webhooks, enabling broad API access without manual endpoint handling.
Returns consistent {:ok, response} or {:error, response} tuples with typed data, leveraging Elixir's pattern matching for cleaner code.
Provides a mock adapter and fixture-based testing, allowing reliable test suites without hitting the live API, as detailed in the Testing section.
Limited to Shopify's REST Admin API, missing GraphQL capabilities which are increasingly used for more efficient data fetching in modern apps.
At version 0.4, the library may have breaking changes or lack the maturity and stability of more established clients, as indicated by the version number.
Testing requires manually creating and maintaining JSON fixture files with specific structures, which can be cumbersome and error-prone for complex integrations.