Skip to content
API Manager Operations console
COLAMCO Integration API

Everything your system needs to buy from us.

Live stock, your pricing, order placement, and shipment and serial-number tracking — one REST API that speaks XML or JSON, with a sandbox to build against and documentation generated from the running service. Here is what you get and how you start.

What the API does

One account, one token, the whole purchase

Every call runs against your own COLAMCO account — your catalog, your pricing, your orders. There is no separate data feed to reconcile and no batch window to wait for.

  • Products and live stock Detailed product information, and quantity available with the date it was last confirmed with the vendor — per product and per catalog.
  • Your pricing, not a list price Prices come back for the account making the call. Negotiated and quoted prices stay negotiated — a quoted line is never silently re-priced.
  • Place orders Prepare an order, review what we priced it at, then process it. The price you send is the price we honour.
  • Shipments and serial numbers Order status, shipment detail, tracking, and the serial numbers of what actually shipped — read them back per order or in a report.
  • Reporting Business tracking, ordered and shipped items, ASN and shipping-method reports — the same numbers your account manager sees.
  • Asset lifecycle Recycle requests, credits, certificates of destruction and lifecycle summaries, for the equipment you are retiring as well as the equipment you are buying.
The shape of a call

REST, over XML or JSON

Ask for the format you already speak and we answer in it — no translation layer, no fixed-width file, no SFTP drop. A bearer token from your account authorises the call, and IsTest: true keeps it out of live order and payment flows while you build.

Request
curl -X GET "https://services.colamco.com/Integration/v1/Products/2846426" \
  -H "Authorization: Bearer {{token}}" \
  -H "IsTest: true" \
  -H "Accept: application/json"
Response
{
  "ProductID": 2846426,
  "CoPartNo": "CO-2846426",
  "MfgPartNo": "24F9-B2",
  "ProductName": "24\" LED Monitor, 1920 x 1080",
  "QuantityAvailable": 142,
  "QuantityDate": "2026-08-18T18:40:11Z",
  "Price": 189.42,
  "MSRP": 249.99
}
Documentation

Generated from the running service

It cannot drift from what the API accepts

The reference is built from the live API specification, so every parameter, response code and schema on the page is the one the service is enforcing right now. Operations are grouped by area and searchable from anywhere with Ctrl K.

Each one carries copyable code samples in curl, C#, PowerShell and JavaScript, and the full OpenAPI JSON and a generated Postman collection are one click away.

The Integration API reference showing the parameters, response codes and curl sample for GET /Products/{ProductID}.
The API reference — parameters, responses and code samples for one operation.

Test any endpoint while you are reading about it

Every operation has a console built into it. A token is issued automatically from your sign-in, so there is nothing to paste. Fill in the parameters, send the call, and read the real response with its status code, timing and size.

Test mode is on by default — the request carries IsTest: true and stays out of live order and payment flows. Every call is kept in a per-tab history so you can compare attempts.

The try-it console inside an operation, showing a 200 OK response body with the product's details.
The console, with test mode on. The response shown here is a sample, not a live catalog record.
Integrating by document

Two flows that need no code at all

If your procurement platform already speaks cXML or xCBL, you do not have to write against the REST API to buy from us. Both flows are documented the same way the endpoints are: what the exchange looks like, what we verify, and what every response code we return means.

cXML PunchOut

Your buyer stays inside your procurement system, shops our catalog in a session we open for them, and their cart is handed straight back to you for approval — so the requisition, the approval chain and the audit trail all stay yours.

Your credentials are authenticated on the way in, not merely echoed, and the catalog a session opens is verified against them.

A cXML PunchOut round trip Five steps: your system sends a PunchOutSetupRequest; COLAMCO returns a session URL; your buyer shops our catalog inside that session; the cart returns to you as a PunchOutOrderMessage; you approve it and send an OrderRequest. 1 PunchOutSetup Request Your system opens a session 2 Session URL COLAMCO answers with a one-time start URL 3 Your buyer shops our catalog, your contract pricing 4 PunchOutOrder Message the cart returns to you 5 OrderRequest you approve it and send it back to us Shaded steps run on COLAMCO. Your procurement system keeps the requisition and the approval.

xCBL orders through Exostar

Send an xCBL OrderRequest and read the OrderResponse. Every rejection code we can return is documented with what it means and how to resolve it, so a rejected order is a fix rather than a phone call.

Test documents are recognised as tests end to end: they are recorded, and they never reach a live order flow.

An xCBL order through Exostar Four steps: you send an xCBL OrderRequest through Exostar; COLAMCO answers with an OrderResponse that either accepts the order or carries a documented rejection code; the shipment is advised with tracking and serial numbers; the invoice follows. 1 OrderRequest an xCBL document, sent through Exostar 2 OrderResponse accepted, or a documented rejection code you can act on 3 Shipment tracking, carrier and the serial numbers of what actually shipped 4 Invoice posted back against the same order Every step is also readable over REST, so you can reconcile without waiting for a document.
Your account

What your integration did, in your own words

Every call, logged and searchable by you

Every transaction your account makes is recorded with the full request and response behind it, and you search it — by status, endpoint, date or transaction ID, or by dragging across the volume chart to zoom into a time range.

Each API response carries a TransactionID header pointing straight at its entry, so quoting that value lets us see exactly what your request did. Sensitive values are removed before anything is written.

The request log, showing a volume chart over 24 hours and a table of API calls with their status codes and durations.
Your request log. It shows your account's calls and no one else's.

A home page that opens on your own traffic

How many requests your account made in the last 24 hours, hourly traffic, your error rate, and your most recent calls with the time each one took. A short quick start sits on the same page for anyone integrating for the first time, and every step links into the matching documentation.

The partner portal overview, showing request and error-rate tiles, an hourly traffic chart and a recent activity list.
The partner portal overview. Figures are sample data from a demo account.
Security

Locked to you, on both ends

  • Your account can be restricted to the IP addresses you call us from, so a leaked token off your network is not enough.
  • Strong TLS on every endpoint, and bearer tokens that expire rather than sit in a config file forever.
  • Sign-in to the console supports an emailed verification code, an authenticator app, or a passkey — your device's fingerprint, face or PIN in place of a password.
  • Sensitive values are redacted before the log is written, so your own request log can be shared internally without leaking a credential.
  • PunchOut credentials are authenticated, compared in constant time, and a refusal tells the caller nothing about which catalogs exist.
Wherever you are

On a phone, and in the dark

The console is responsive down to a phone screen, and it has a light and a dark theme that follow your device preference or your own choice.

The partner portal overview on a phone-width screen.
The same API reference operation rendered in the dark theme.
The same reference page in the dark theme.
Getting started

Four steps to a confirmed test order

  1. Request an account Tell us who you are and what you need to connect. A person reads every request — there is no self-service sign-up.
  2. Get your credentials We provision the account your integration needs, with the right catalog and pricing behind it, and email you when it is ready.
  3. Make your first calls Authenticate, read a product, and send a call from the console while you read the operation — in test mode, against the sandbox.
  4. Place a test order, then go live Prepare and process a test order, check it in your own request log, and turn test mode off when you are ready.

Start integrating with COLAMCO.

Tell us what you need to connect and we will set your account up. If you already have one, your documentation, sandbox and request log are behind the same sign-in.

Service status

Checking service status…