1. Learn
  2. Subscriptions

Can I integrate Admiral with my print subscription provider?

Learn how to pass subscription data from Admiral to your print provider. We'll use Zapier to send New Subscription, Cancellation, and Expiration events from Admiral into a third-party system.

This is an advanced implementation. Before moving forward - please check with your print provider on whether or not they support this type of integration.

Getting Started

We will be configuring three subscription events originating from Admiral to be sent to the print provider. The events are:

  1. New Subscription. Event fires when a new subscription is purchased.
  2. Cancelled Subscription. Event fires when a subscription is cancelled.
  3. Expired Subscription. Event fires when a subscription expires.

The distinction between 2 & 3 is important to understand. A Cancellation event fires when a user explicitly cancels a subscription. The Expired event fires at the actual time in which the subscription ends. 

For example, if a user purchased an annual subscription on 10/29/21 and then cancelled it on 5/20/22, then the events would fire as follows:

  1. New Subscription. 10/29/21
  2. Cancelled Subscription. 5/20/22
  3. Expired Subscription. 10/29/22

Prior to setting up the events, we recommend configuring your Offers in Admiral.

Offers and Metadata

When integrating Admiral with a print provider, we need a mechanism in place to connect a subscription purchased through Admiral with the correct print subscription in the third-party platform. We can handle this by setting up default metadata on the offers.

Screen Shot 2021-11-29 at 8.23.44 PM

The example above includes two key-value pairs (csOfferID=ADMCP and csProductID=BDL) that are attached to every subscription originating from the offer on which the metadata is configured. 

These values will come from your print provider. This is what will be used to determine which print subscription a user who purchases through Admiral will receive.

For subscriptions with print included, you should consider making the address information required. You can do this by setting the field values as such on the offer. This ensures you have a delivery address for the print product.

Screen Shot 2021-11-29 at 8.55.40 PM

Once you have added the metadata to your offers and set any required fields, we can move forward with setting up the integration events.

Subscription Events

Configuration for each of the subscription events will be very similar. We will start by building out the New Subscription event and then will edit duplicates of it for the Cancellation and Expiration events.

  1. Log into your Zapier account and create a new Zap.
  2. Select Admiral as your app and set New Subscription as the Trigger Event
    Screen Shot 2021-11-29 at 8.35.56 PM
  3. Add an action and select Filter by Zapier
    Screen Shot 2021-11-29 at 8.37.59 PM
  4. In the Filter setup & testing section, add rules to only continue the event if the subscription includes the metadata keys. This will make sure our event only fires for subscriptions with print included.
    Screen Shot 2021-11-29 at 8.40.12 PM
  5. Add an action and select Code by Zapier and in the Action Event select Run Javascript. This section is helpful if your print provider needs the data in a specific format. You can run vanilla javascript with the data returned from the previous steps to adjust as needed.
    Screen Shot 2021-11-29 at 8.45.32 PM
  6. Once your data is formatted, add an action and select Webhooks by Zapier and in the Action Event select POST.
  7. In the Set up action section, you will need to add an endpoint to where a single POST request will be fired as a form or JSON.
  8. Once you have finished configuring the POST request, you can test the integration and then enable it! 

You can follow the same instructions above to configure both the Cancellation and Expiration events. The only item that is required to change is the starting event configured in Step 2.

 

If you run into any trouble configuring this integration please email customerlove@getadmiral.com and our team will be happy to help.