Fetching Book Cover Images and Related Data into Business Central
PDG Consultants customized Business Central to import a long list of ISBN's (book identifiers) into Business Central Inventory via Excel, pass them to the public (subscription) ISBN database API, and return a list of data associated with that list, such as:
• Title
• Publisher
• Author
• MSRP
• Cover Image
• Binding (format)
The purpose of this customization was to speed up adding of book titles with full information to the Business Central Inventory / Item table. For the prior 20 years the users had been entering book titles into inventory in GP manually. This led to thousands of errors and wasted time compared to automating this process which we did now.
The setup for this customization is in the Purchases Payables Setup Screen. Image attached. It contains the URL to access the ISBN dB API both for GET and POST commands.
A GET command asks for one record at a time and is slower than POST command, which can process multiple records.
For instance, retrieving information for a list of 1000 ISBNs takes 12 minutes using the GET command and less than a minute using the POST command.
In order to use the API, you need the URL to find it and the Authorization Key to authenticate you. Both are stored in the Purchase & Payables Setup in Business Central. A picture of that setup screen is shown on the next slide.
The Purchases & Payables Setup window has the 3 custom fields we added to hold the information so the user can fetch book data from the ISBN database.
You need the addresses of the ISBN Database. (One URL for GET Requests and one URL for POST Requests.)
You need an Authorization Key to show that you have paid your monthly premium for the subscription to the ISBN Database.
Here is a slide from Business Central where our developer has added a Menu Action to start the process to import a simple Excel file of 13-Digit ISBN's (International Standard Book Number).
This is a slide of the last list of ISBN's that were previously processed. Delete it and import the next list.
After deleting the prior list, now import a new list of ISBN's from Excel. Clicking on the "Import ISBN Excel" button will ask you to specify the import file.
Here is a list of ISBN's from the customer's purchase order. These books needed to be entered into the Business Central Item Table (the Item Card). These items may or may not already be in the Item Card List (inventory). Once we acquire all the relevant information from our subscription to the online ISBN Database (Publisher, Book Cover image, Category, Book Format, Author, etc.), then we will use Smart Connect to upload the new titles into the Inventory.
We will take Column E and copy that column to a second tab, which our embedded Business Central customization will pass to the ISBN dB to fill in related information: Title, Author, Publisher, MSRP, Category, Cover Image URL, format, etc.
Once the ISBN column has been copied onto a separate Excel tab, go back to the Business Central menu and run the UPDATE action. This action will import the Excel list of ISBN's into Business Central so our customization can then send them to the ISBN dB API to fetch related information: Title, Author, Publisher, MSRP, Category, Format, etc.
Next step is to send these 970 ISBN's to ISBN dB API to fetch related information: Title, Author, Publisher, MSRP, Category, Format, etc. Use the POST Method from our App within BC. The POST command sends the entire list at once. The GET command is much slower because it sends one ISBN Request at a time. That said, there are times when you have to use GET because of high Internet traffic and POST misses a few. GET is more reliable, but takes 10 times as long.
After the 970 Requests were sent the Request Data column below gets filled in. Now press the ISBN Response Staging List button to see the returned information.
Here is the returned information: Title, Binding (Format), Publisher, Cover Image, MSRP, Author.
From here we export to Excel so we can input
new Inventory items into the Business Central Item Card via SmartConnect.
This is the exported Excel file. The final step would be using SmartConnect to import the data to Inventory. That will be another blog. {:->