Shopify OAuth2 Account
In this article
Overview
You can use this account type to connect Shopify Snaps with data sources that use Shopify OAuth2 accounts for authenticating public and custom Apps. Shopify uses OAuth2 authorization code grant flow to issue access tokens on behalf of users.
The public and custom apps use OAuth2 Account type.
- Public app: Public apps are meant for developers who want to distribute their apps to multiple merchants.
- Custom app: Custom apps are meant for developers building an app tailored for a single merchant.
Prerequisites
Set up a store in Shopify.
Limitations
- API versions: Shopify releases new API versions every quarter. Each stable version is supported only for a minimum of 12 months. Part of a Shopify API is deprecated if it becomes unnecessary, unsafe, or outdated. The API’s are marked as deprecated when they are removed in a newer version of the API. The deprecation is then retroactively applied to previous stable versions of the API.
API Rate Limit: All Shopify APIs are rate-limited. Shopify uses various strategies to enforce rate limits, such as Calculated query cost, Request-based limit, and Time-based limit.
Shopify Snap Pack uses admin APIs, which are applicable for Request-based limit. If the APIs cross the rate limit, the Snap fails.
Known Issues
None.
Account Settings
Field Name | Field Description | Description |
---|---|---|
Label* | N/A | Specify a unique label for the account. Default Value: N/A |
Store Name* | N/A | Specify the store name for which you want to create the account. Default Value: N/A |
Client ID* | N/A | Specify the client ID associated with your Shopify application. You can create the client ID as advised by your application provider. See Shopify documentation for more information. |
Client secret | N/A | Specify the client secret associated with your account. You can create the client secret as advised by your application provider. The client secret is securely stored in SnapLogic's cloud data warehouse. See Shopify documentation for more information. |
Access token | N/A | Auto-generated upon account authorization. The access token associated with the Shopify application is used to make API requests on behalf of the user associated with the client ID. The access token might be refreshable, in that case an optional refresh token can be stored. You must get a new access token if the access token has expired and no refresh token was defined or both the access and the refresh token have expired. Default Value: N/A |
Refresh token | N/A | Auto-generated upon account authorization. The token used to refresh the access token. If the refresh token is stored, then the access token can be refreshed automatically before it expires. Default Value: N/A |
Access token expiration | N/A | Auto-generated upon account authorization. The access token expiration value. Default Value: N/A |
OAuth2 authorization endpoint* | N/A | Enter the authorization endpoint to authorize the application. Default Value: N/A |
OAuth2 token endpoint* | N/A | Specify the token endpoint to get the access token. Default Value: N/A |
Authorization endpoint config | Use this field set to define custom properties for OAuth2 endpoint. This field set contains the following fields:
| |
Authentication parameter | N/A | Specify the name for the token endpoint parameter. Default Value: N/A |
Authentication parameter value | N/A | Specify the value for the parameter. Default Value: N/A |
Auto-refresh token | N/A | Select this checkbox to refresh the token automatically if the Refresh Token field is enabled. If you deselect this checkbox, the token might expire and will not be refreshed automatically. Default Value: N/A |
Authorize | N/A | Click this button to acquire the required permissions for this account when creating an account. For existing accounts, you can click this button to re-acquire the permissions (Access token, Refresh token, and Access token expiration) to ensure that the account works as expected. This action does not require or result in any changes to the Access token that is already generated. |
Troubleshooting
Error | Reason | Resolution |
---|---|---|
"400 Bad Request" | The request was not understood by the server, generally due to bad syntax or because the Content-Type header was not correctly set to application/json. | Enter valid token details. |
"401 Unauthorized" | The necessary authentication credentials are not present in the request or are incorrect. | Enter valid authentication credentials. |
"403 Forbidden" | The server is refusing to respond to the request. This is generally because you have not requested the appropriate scope for this action. | Request for the scope that is defined in your account. |
Snap Pack History
See Also
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.