ComicBase’s E-Commerce APIs give you an easy way to integrate your ComicBase Database with a 3rd party E-Commerce system. With just two simple web calls, you can have your E-Commerce software automatically post sales made to the ComicBase servers. Then, when you next use ComicBase on your local desktop, those sales transactions can automatically update your local inventory database to keep the systems in sync, and allow for local reporting of sales, whether they’re made from ComicBase’s built-in POS system, Atomic Avenue, or your 3rd party E-Commerce solution.

Getting Started

  • Like the ComicBase Mobile app, E-Commerce API access requires an active ComicBase subscription to either the ComicBase Professional or Archive Editions.

    For most E-Commerce users, we’d recommend choosing the Archive Edition, as that edition has the ability to create ComicBase Interchange Files which contain information on your entire inventory, along with with linked images of all your items. This will give you the most straightforward path to loading your inventory into a 3rd party E-Commerce solution.
  • The following APIs will reference both your API credentials and the ID of the database in question. These can be found on your ComicBase Profile page.

Notes on Parameters

Unless otherwise specified, all string parameters are expected in UTF-8 encoding.

Parameters containing script, tags, or suspicious character sequences will be rejected and return an error code for the API call.

Dates should be formatted in ISO format, e.g. “2022-06-17” for June 17th, 2022

DateTimes should be formatted in ISO format, e.g. “2022-06-17 13:21:15” to represent the time 1:21 and 15 seconds in the afternoon on June 17, 2022

Unless stated otherwise, all routines which complete (HTTP status 200) will return a “WebAPIResult” — a structure consisting of
Status {Integer}
0 Success
1 Error (system or program)
2 Authorization Denied (bad credentials, or auth token expired)

Details {string}
Usually blank if successful, or may contain details for any failure or error condition. Always check Status first to interpret Details properly.


GetAuthHeader

Required. Use this first to request access to the API interface and get an authorization header which should be appended to any subsequent API calls. The authorization header will expire after a period of unuse.

POST with the following parameters:
APIUserID {GUID – 16 bytes}
Your API User ID, from your Profile page

APIKey {string}

Your API secret key, from your Profile page

Returns

WebAPIResult

The AuthHeader will be contained in the Details string if successful. Check Status before using the Details.


ProcessSale

Marks a sale of goods to have occurred, and queues it up for processing by ComicBase. The user’s local database will see any pending transactions and be able to record the sales/roll the items out of inventory when they use ComicBase’s Internet > Check for Sales and Purchases (or do this automatically with ComicBase Sidekick)

Note: The user ID corresponding to the API credentials will be used as the designee for the sale. It is not possible to post a sale as belonging to a database other than your own.

Must contain a valid authorization header (see GetAuthHeader). Will return 404 (not found) if the auth header is invalid or expired.

POST with the following parameters:

DatabaseID {GUID – 16 byte}

The unique identifier of the database being used.

SalesVenue {16 bit Integer}.

Identifies the venue/channel this sale occurred on.
0 Built-in ComicBase POS
1 Atomic Avenue
2…32767 3rd Party E-Commerce System. We will define constants for each as 3rd party connectors appear.

MediaType {8 bit Integer}

The type of media this item belongs to
0 Book
1 Comic
2 Magazine
3 Newspaper
4-99 Reserved for use by Human Computing
100-255 User customizable.

Note that currently, only media types 0-3 can be used for inventory management in ComicBase.

ItemID {Optional} {32 bit integer}

The record ID of this item in the database. If specified, will allow the system to deduct available quantity for the exact item. If not, an attempt to match by Title, Item Number, and Condition will be made. Note that the latter method will be unable to differentiate between, say, two VF copies of Action Comics #654, so including ItemID is preferred for inventory management when issues of similar grade should not be treated as interchangeable.

Title {Optional*} {string, 255 characters max}

*Required if ItemID is not specified. The title/series this item belongs to, e.g. “Action Comics”. Will be disregarded if ItemID is specified, for purposes of matching the internal ComicBase inventory record, in favor of the official title derived from the ItemID.

ItemNumber {string, 20 characters max}

*Required if ItemID is not specified. The item number, as it exists in ComicBase, for the sold item. E.g. “3” for issue #3, “Anl 2020/A-2” for Annual 2020, variation “A”, 2nd printing. Will be disregarded if ItemID is specified, for purposes of matching the internal ComicBase inventory record, in favor of the official title derived from the ItemID.

Condition {string, 20 characters max}

*Required if ItemID is not specified. The condition of the item sold. Must match its abbreviated name in ComicBase (e.g. “NM” for Near Mint). Will be disregarded if ItemID is specified, for purposes of matching the internal ComicBase inventory record, in favor of the official title derived from the ItemID.

Qty {16 bit integer}

The number of copies sold

Price {floating point number]

The sale price, per copy, of the item sold. e.g., if the total sale was $10 for 2 copies of a comic, Qty should be “2”, and Price should be “5.00” in the API call.

SalesDate {Optional} {DateTime}

The time and date the sale took place. If not supplied, the time the sale is processed by ComicBase will be used for reporting purposes.

OrderID {Optional} {string, 20 characters max}

If specified, the order ID number on the originating system.

SalesNotes {Optional} {string, 255 characters max}

If specified, allows you to tag this sale with additional data, which will be logged as part of the transaction when ComicBase processes the sale. This information can be included on sales reports from within ComicBase.

Returns

WebAPIResult

Categories: