Introduction

Aprimo Digital Asset Management (DAM) helps manage all kinds of digital assets like images, documents, movies and presentations, and the business processes they go through from creation to distribution. Development in Aprimo DAM comes in many shapes and sizes. This guide introduces the REST API and explains when you should use it.

Additionally if you want a more step by step tutorial, check out The Simplest Approach and the other child articles of Getting Started.

Integration Tutorial

If you’ve never worked with the Aprimo API you may want a more focused tutorial, rather than just looking through documentation for what you need. We recommend starting out at our Simplest Approach article to get an understanding for how the Aprimo REST API works.

After that, you may continue on to the other articles in the Integration Tutorial linked to in the Further Reading section of the Simplest Approach.

REST API

In the Aprimo DAM REST API, all resources in the DAM – being assets, records, classifications, etc. – are each assigned a unique URL. Standard HTTP operators such as GET, PUT, POST, and DELETE can be used to interact with each resource. Use the REST API as a preferred development method for all integration scenarios and for all UI development.

When should I use the REST API?

The REST API is recommended for most Aprimo DAM development if your custom application (web or other) needs:

  • reading/writing of records, files, classifications and their metadata
  • working with settings
  • searching
  • triggering maintenance jobs
  • using Enterprise Search features.

Where can I find the REST API (and the documentation)?

You can find the REST API endpoint at https://<yourcompany>.dam.aprimo.com/api/core/. To see documentation on all the available possibilities, go to https://<yourcompany>.dam.aprimo.com/api/core/docs/. You can find a large list of examples there as well.

If you do not have an Aprimo DAM environment, you can view the documentation here: https://training3.dam.aprimo.com/api/core/docs

How to consume the REST API

The Aprimo DAM REST API supports 2 different ways of consuming and navigating the API. Best practice is to check responses content type before processing the response body.

1. HAL/JSON hypermedia

Hypertext Application Language (HAL) provides a consistent and easy way to explore the API. Once a resource is retrieved, your client can bookmark the URI in its cache. The existing relation names will not change over time, but new relations can be introduced.

Links in the returned resource representation help you to navigate the API, just by following those links. Using this approach helps create API clients/servers that do not depend too much on each other and can be developed in an independent way, as long as both the client and the server have a common understanding of media types used in the communication. For example, you can start using the API by going to the root URI of the API and discover all the resources you can access. From that point on, you can follow links and explore the resources existing throughout the API. You can use the “select” keys, present in most of the resources, which provide you with information about which sub-resources can be embedded in that resource. This way you can retrieve the exact information needed in a single request, which helps you optimize the chattiness of the API for your specific use case.

2. Plain JSON consumption

Next to using the HAL/JSON hypermedia API, clients can also consume the API using plain JSON. This is a simpler but less robust approach, since it lacks discoverability and requires upfront knowledge of the URI’s for all the endpoints that the client will need.

3. HTML

504 Timeouts and 429 rate-limit exceeded responses will be in HTML.

Example POSTMAN Collection

The below ‘Quickstart’ collection will provide you with the most common type of requests you will need to start exploring the Aprimo REST API.

DevSiteEx-QuickStart.postman_collection

UI Extensibility

UI Extensibility is a new category of integratability with Aprimo. The first feature part of this is called pagehooks. Pagehooks give customers the ability to place configurable action links in the DAM.

When should I use pagehooks?

Use pagehooks when you need to place links in Aprimo DAM to launch your functionality in a web browser. Pagehooks can be used in tandem with the REST API to get and set additional data from Aprimo after a user invokes a pagehook.

 

Rule Callouts

You may also configure Rules in the DAM System Studio to perform HTTP callouts. For a general description of how rules can be configured, see the DAM Help – https://training3.dam.aprimo.com/assets/webhelp/adamhelp.htm#Admin%20Guide/Rules/_ti_Rules.htm%3FTocPath%3DAdministrator%2520Guide%7CConfiguration%2520areas%7CRules%7C_____0.

To perform an HTTP callout in a rule, under the ‘Then’ section, select execute a reference, click on ‘reference’, and specify an XML section such as the one below.

You can find more information on httpRequest references in the DAM Help – https://training3.dam.aprimo.com/assets/webhelp/adamhelp.htm#Admin%20Guide/References/httpRequest%20references.htm%3FTocPath%3DAdministrator%2520Guide%7CUsing%2520References%7C_____13

The body contains the json parameters that will be sent out to your web service.

<ref:httpRequest uri="https://myURI.com" timeout="15">
{
"user":<ref:user out="name" encode="json" />,
"recordId":<ref:record out="id" encode="json" />
}
</ref:httpRequest>

Aprimo Content Selector

The Aprimo Content Selector is a UI component hosted by Aprimo that can be launched in a new window from a 3rd party application. This allows users in that application to select content from Aprimo. Selected record IDs get returned to the caller via javascript, and subsequent API calls can then be used to retrieve content from Aprimo to bring into 3rd party systems or take any other action on that content. If you are building an integration in a system that needs content from Aprimo, the content selector can help greatly simplify integration build by not having to rebuild a UI in the 3rd party application for searching, browsing, and selecting content.