Edit Sample Application
Integration Report
Integration Status
To complete integration, your API endpoint health must be green (if applicable). You can check off steps that you completed manually.
Migrate to the distributed API
All new marketplaces will use the updated API to sell your product. Only a few small changes are ncessary.
Step 1: Make sure your OpenID consumer reads the
{openid}
parameters
From now on, each AppDirect-powered marketplace will have its own OpenID provider instead of relying on
www.appdirect.com.
You will need to remove the hardcoded URL of AppDirect's OpenID provider in your consumer and replace it with the
{openid}
placeholder in your configuration to know which provider to query.
Your consumer should accept:
http://www.example.com/login?openid_identifier={openid}
Step 2: Update your event listener URLs
The events can now be triggered on any AppDirect-powered marketplace. Instead of passing the event
{token}
, we're now passing the
{eventUrl}
, so you'll need to update the logic in your event listener accordingly. When receiving a call on one of your event listener URLs, you'll need to:
- Verify the OAuth signature of the call to validate that it comes from an authorized AppDirect-powered marketplace
-
Read the
{eventUrl}
(instead of reading the event{token}
) - Perform a GET to this URL signed with your OAuth credentials
- Process the event as appropriate
- Return a valid response to the event notification
Example URL before:
http://www.example.com/foo?token={token}
Example URL after:
http://www.example.com/foo?url={eventUrl}
Step 3: Update the OpenID URLs for your existing users
OpenID data for your current marketplace users must be updated in your product's database.
Update OpenID data via SQL
If you use a SQL-based database, the form below will generate SQL script that will update the OpenID for your existing users. Input the name of the table that stores these OpenIDs and the name of the column in which they are stored, and then execute the SQL on your database.
Update OpenID data via manual export
Alternatively, you can export the user account information we have collected and manually update their OpenID values:
Step 4: Verify this step
Subscribe to the application
Test the Subscription Order event.
Complete the test:
- Purchase your application from your product preview
- Complete the buy flow.
- Launch the app from the MyApps page.
Upgrade or downgrade editions
Test the Subscription Change event.
Complete the test:
- Be sure you have purchased your application.
- Go to the "Update Subscription" tab on the Manage Apps page.
- Select the desired plan and select "Continue".
- Complete the checkout process.
Cancel subscription
Test the Subscription Cancel event.
Complete the test:
- Be sure you have purchased your application.
- Go to the "Update Subscription" tab on the Manage Apps page.
- Click on "Cancel Subscription".
Properly link UI elements within your application
The marketplaces are responsible for handling billing-related events and user management for your application. Please follow the guidelines below to maintain a seamless user experience across all applications on any marketplace:
-
Link all billing admin sections within your product to
{marketplace url}/account/apps
This includes all upgrade/downgrade/cancel functionality from within your app. -
Link all user management sections within your product to
{marketplace url}/account/apps
This includes anywhere you can invite/remove or manage additional user accounts from within your application. -
Any logout flows from your product should redirect to the base
{marketplace url}
Prepare for API availability monitoring
We will be testing your application continuously for API uptime. Please read through the API documentation to learn how to properly handle our dummy event testing.
Optional Integration Steps
Send metered billing information to invoice customers
Test the Billing Usage API and the Subscription Status event .
Complete the test:
- Go to the Edit Editions and Pricing page of your app in the Developer Portal.
- For one of your editions set the billing cycle frequency to "Daily."
- Wait a day and go to "Invoices" in Account > Manage Billing.
-
The metered usage items should be rolled in the invoice if the APIs work.
Don't forget to revert the billing cycle to your desired frequency.