The Unizin Order Tool provides automated reports to Institutions. The reports enable Institutions to drive business processes that follow from content ordering.
1. Order feed overview
The Unizin Order Tool generates order feeds that report order data in a comma-separated value format. Institutions use order feeds to drive local business processes.
Order Feeds are term-specific. If an institution has allowed ordering for multiple terms at once, then multiple order feeds may be generated at the same time.
Two kinds of Order Feeds are generated:
- Delta Order Feeds are generated every night. They report new and changed orders from the past 24 hours. If no new orders have been created or changed in 24 hours, then the Unizin Order Tool does not generate a delta Order Feed.
- Full Order Feeds are generated every Sunday night. They report all of the orders for a particular term.
Order feeds are generated at 3 am EST every night and pushed to an FTP server where they are accessible by an institution.
Order Feeds are generated for both the production (PROD) and user acceptance testing (UAT) environments. Institutions may use the same FTP server credentials they use to push their data integration for Order Tool in the PROD and UAT environments.
2. Processing order feeds
Importantly, Order Feeds are snapshots of the orders in Order Tool. The records of an Order Feed describe the complete and present state of an order. The records of an Order Feed do not represent a transaction (e.g., a section was added to an order).
Given the format of an Order Feed (see below), there are two recommended ways of processing it:
- For every order reported in the Order Feed, drop and reload the order data in your local Institutional system.
- For every order reported in the Order Feed, determine the difference between it and the state of that order in your system and update your records as necessary.
Note: it is expected that Institutions remove order feeds from the “order feed” folder after they have pulled it down and conducted their processing.
The Unizin Order Tool’s order reporting is delivered as comma-separated value (CSV) files. One file is generated for each Term that is currently open for ordering. The Unizin Order Tool will use the sis_term_id value from your data integration in the filename of each CSV file, as follows:
YYYY-MM-DD is the year, month, and date that the feed was generated.
<sis_term_id> is the institution's SIS identifier for the term.
The order feed is formatted as a CSV file with the following properties:
All values are in double-quotes.
If no value is required or available for a field, the string "null" is the value, not a blank.
All lines are terminated with a UTF-8 Unix style newline.
The escape character is a backslash (\\).
Timestamps are in ISO 8601 format and must include the time (e.g., `2020-12-15 04:35`).
The contents of an Order report represent the "current state" of orders and their sections and content items. Aside from the "is_deleted" flag (see below), an Order report will not describe how a particular order has changed since it was last reported. It is up to institutions consuming the Order report to track this for themselves if they wish.
In the nightly reports, any new orders or orders that changed the previous day are represented. Changes may include:
- Deleting an order.
- Restoring an order.
- Adding or removing sections from an order.
- Adding or removing content items from an order.
Each line of an order feed references only one section and one content item of a particular order. Consequently, a report of a single order is distributed over one or more rows, depending on the number of sections and content items on the order. If, for example, there are two content items on a single order for two sections, then this order is represented in four rows.
The order feed data columns are as follows:
A unique Unizin ID for the order.
A date & time in ISO 8601.
A date & time in ISO 8601.
An SIS section ID that is on the order.
This is only applicable for IU. In many cases, the value will be `"null"`.
If "true," the Order to which the content-section pair belongs has been deleted.
The authors of a content item that is on the order. If multiple authors are present, they are separated by a semicolon.
The title of a content item that is on the order.
|The best ISBN students can use to search for and find the title on the web.|
|publication_date||The publication date of the title, if available from the publisher. This is a date in ISO 8601 (note: it is only a date object).|
|The name of the reader used to deliver the solution. Values will be either "Unizin Engage" or "Publisher DLT".|
This is only applicable for IU. In many cases, it will be `"null"`.
The name of the content item’s publisher.
The edition of the content item.
The offer price for the content item (this is the price that students will be charged).
The print list price for the content item (this is the nominal price of the content item. Offer prices are generally calculated as a function of the print list price).
This is a boolean value corresponding to whether or not the person who ordered the content item for this section asserted that they may earn royalties. Note: this is an order level assertion but we'll present it as if for each content item, anyway. In short, it should not be assumed that if this value is true, it is because the user ordering the content stands to early royalties from this particular content items.