-
Notifications
You must be signed in to change notification settings - Fork 6
[CON-3106] feat(fastSpring): New provider #543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Fullstack-Hero
wants to merge
12
commits into
amp-labs:main
Choose a base branch
from
Fullstack-Hero:fastSpring
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
2bff7c4
Privide guide for proxy connector
Fullstack-Hero eb84674
Added images with docs
Fullstack-Hero 0d0c0b9
Added write+delete support
Fullstack-Hero df78e9c
Rm end urls
Fullstack-Hero 90ad2a3
Rm connect FastSpring in ampersand section
Fullstack-Hero 3ff6e44
Updated livestorm docs
Fullstack-Hero cc0b687
Update fast spring
Fullstack-Hero 85c9057
Ressolve comments
Fullstack-Hero 2b4cefb
Revert changes of Livestorm
Fullstack-Hero a7b35b3
Revert livestorm.mdx to match main.
Fullstack-Hero 6901468
Rm read from limitation
Fullstack-Hero 2cbb948
Update commands
Fullstack-Hero File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,89 @@ | ||
| --- | ||
| title: "FastSpring" | ||
| --- | ||
|
|
||
| ## What's supported | ||
|
|
||
| ### Supported actions | ||
|
|
||
| This connector supports: | ||
|
|
||
| - [Read Actions](/read-actions), including full historic backfill and incremental read. | ||
| - [Write Actions](/write-actions) (create/update). | ||
| - [Proxy Actions](/proxy-actions), using the base URL `https://api.fastspring.com`. | ||
| - Subscribe Actions are not currently supported. | ||
|
|
||
| ### Supported objects | ||
|
|
||
| export const Check = () => <span>✅</span> | ||
| export const Cross = () => <span>🚫</span> | ||
|
|
||
| <div style={{ width: '100%', overflowX: 'auto', display: 'block' }}> | ||
| <table style={{ width: '100%', minWidth: '100%', tableLayout: 'fixed', textAlign: 'center', borderCollapse: 'collapse', display: 'table' }}> | ||
| <thead style={{ display: 'table-header-group', width: '100%' }}> | ||
| <tr style={{ display: 'table-row', width: '100%' }}> | ||
| <th style={{ textAlign: 'left', width: '44%' }}>Object</th> | ||
| <th style={{ width: '14%' }}>Read</th> | ||
| <th style={{ width: '14%' }}>Write</th> | ||
| <th style={{ width: '14%' }}>Subscribe</th> | ||
| </tr> | ||
| </thead> | ||
| <tbody style={{ display: 'table-row-group', width: '100%' }}> | ||
| <tr style={{ display: 'table-row' }}><td style={{ textAlign: 'left' }}><a href="https://developer.fastspring.com/reference/list-all-accounts">accounts</a></td><td><Check /></td><td><Check /></td><td><Cross /></td></tr> | ||
| <tr style={{ display: 'table-row' }}><td style={{ textAlign: 'left' }}><a href="https://developer.fastspring.com/reference/list-all-orders">orders</a></td><td><Check /></td><td><Check /></td><td><Cross /></td></tr> | ||
| <tr style={{ display: 'table-row' }}><td style={{ textAlign: 'left' }}><a href="https://developer.fastspring.com/reference/list-all-product-paths">products</a></td><td><Check /></td><td><Check /></td><td><Cross /></td></tr> | ||
| <tr style={{ display: 'table-row' }}><td style={{ textAlign: 'left' }}><a href="https://developer.fastspring.com/reference/list-all-subscriptions">subscriptions</a></td><td><Check /></td><td><Check /></td><td><Cross /></td></tr> | ||
| <tr style={{ display: 'table-row' }}><td style={{ textAlign: 'left' }}><a href="https://developer.fastspring.com/reference/list-all-processed-events">events-processed</a></td><td><Check /></td><td><Cross /></td><td><Cross /></td></tr> | ||
| <tr style={{ display: 'table-row' }}><td style={{ textAlign: 'left' }}><a href="https://developer.fastspring.com/reference/list-all-unprocessed-events">events-unprocessed</a></td><td><Check /></td><td><Cross /></td><td><Cross /></td></tr> | ||
| </tbody> | ||
| </table> | ||
| </div> | ||
|
|
||
| ### Notes and limitations | ||
|
|
||
| - **Write support**: `orders` and `subscriptions` support **update** only. All other writable objects (`accounts`, `products`) support create and update. Single-record operations only (no bulk write). | ||
| - **Commands**: FastSpring also exposes **command**-style operations (for example subscription cancel or product deactivation). These endpoints don't map cleanly to the Read/Write model. [Write Actions](/write-actions) can still invoke those commands; for an explicit call to a command endpoint, see the [FastSpring API reference](https://developer.fastspring.com/reference/getting-started-with-your-api) and use [Proxy Actions](/proxy-actions). | ||
|
|
||
| ### Example integration | ||
|
|
||
| To define an integration for FastSpring, use a manifest file (`amp.yaml`). For a complete example, visit our [samples repo on GitHub](https://github.com/amp-labs/samples/blob/main/fastSpring/amp.yaml). | ||
|
|
||
| ## Before you get started | ||
|
|
||
| To integrate **FastSpring** with **Ampersand**, you need a [FastSpring](https://fastspring.com/) account and **API credentials** (API username and password) from FastSpring. | ||
|
|
||
| FastSpring documents API access in [Getting started with your API](https://developer.fastspring.com/reference/getting-started-with-your-api), including the base URL, Basic authentication, required headers, and credential generation. | ||
|
|
||
| ### Creating FastSpring API credentials | ||
|
Fullstack-Hero marked this conversation as resolved.
|
||
|
|
||
| Per FastSpring’s documentation: | ||
|
|
||
| 1. In the FastSpring application, open **Developer Tools**. | ||
|
|
||
|  | ||
|
Fullstack-Hero marked this conversation as resolved.
|
||
|
|
||
| 2. Go to **APIs** → **API Credentials**. | ||
|
|
||
|  | ||
|  | ||
|
|
||
| 3. Use **Create** to generate credentials for the first time. FastSpring shows the username and password; the password is available only at creation time—store it securely. | ||
|
|
||
| ## Using the connector | ||
|
|
||
| This connector uses Basic Auth, which means that you do not need to set up a Provider App before getting started. (Provider apps are only required for providers that use OAuth2 Authorization Code grant type.) | ||
|
|
||
| To start integrating with FastSpring: | ||
|
|
||
| - Create a manifest file; see [Example integration](#example-integration). | ||
| - Deploy it using the [amp CLI](/cli/overview). | ||
| - If you are using Read Actions, create a [destination](/destinations). | ||
| - Embed the [InstallIntegration](/embeddable-ui-components#install-integration) UI component. Your customers enter their FastSpring API username and password when they connect their account. | ||
| - Start using the connector: | ||
| - If your integration has [Read Actions](/read-actions), scheduled reads will sync data according to your configuration. | ||
| - If your integration has [Write Actions](/write-actions), you can call the Write API to create or update supported records. | ||
| - If your integration has [Proxy Actions](/proxy-actions) enabled, you can make Proxy API calls to `https://api.fastspring.com`. | ||
|
|
||
| ## Upstream API documentation | ||
|
Fullstack-Hero marked this conversation as resolved.
|
||
|
|
||
| - [FastSpring — Getting started with your API](https://developer.fastspring.com/reference/getting-started-with-your-api) | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.