Veeva CRM APIs for Order Management

The Order Management API provides access to Veeva CRM's Order information and functionality using a secure API. The API is used to develop custom applications on the Veeva CRM platform, support custom, third party integrations to Veeva CRM, or to expose pricing logic and calculations to external applications. The API provides methods to read and write to Veeva CRM securely. It supports the full complement of Order Management pricing rule logic and works with any custom developed apex business logic.

The Veeva CRM OM API is a REST-based API available in the JSON format. The guiding principles of the API are:

  • Learnable – Is intuitive and easy to learn. It incorporates elements of REST, making access to these actions consistent and intuitive.
  • Secure – Access through the API is always authenticated over TLS and in compliance with the access permissions of the authenticated user
  • Efficient – Efficient in how it processes requests. Large amounts of bits are needed to process and the API minimizes inefficiencies.
  • Alignment – Leverages the same underlying logic as the other Veeva CRM platforms. New versions of the API reflect new capabilities introduced in new versions of Veeva CRM and business logic is consistent.

OM API Compatibility

Veeva CRM strives to make backward compatibility easy when using the API. We maintain support for each API version across releases of Veeva CRM. Backward compatible means an application created to work with a given API version continues to work with that same API version in future Veeva CRM releases. However, newly introduced capabilities are not available in older versions of the API.

Veeva CRM supports older versions of the API until they are no longer in use by production customers.

OM API Limitations

  • Order Splitting logic is not supported
  • Minimum Delivery Time Frames functionality is not supported

OM API Features

Using External IDs for Referenced Entities when Manipulating Orders

Referencing related entities, for example Account and Product, on Order and Order Line records is possible using fields designated as 'external id' on those objects. This can be done when pricing, creating, or modifying Orders. This ability to reference external ids on related objects is analogous to the ability to upsert using external Ids using the standard APIs. This feature can reduce the number of round trips required to insert or update an Order and its related Order Lines.

Using RecordType.DeveloperName instead of RecordTypeId when Manipulating Orders

Using the RecordType.DeveloperName in place of the RecordTypeId is possible when creating or modifying Orders and Order Lines. This alleviates the need for the client application to have prior knowledge of the RecordType's primary key. This feature can reduce the number of round trips required to insert or update an Order and it's related Order Lines

To view the full content of the API, see the Developer Portal.