Developers
Integrate PharmaLink into your ERP, procurement or supply-chain systems. Read the verified catalogue over a REST API, and subscribe to marketplace events via signed webhooks.
Authentication
Every request is authenticated with a Bearer API key, created under Account > Integrations. Keys are organization-scoped.
curl https://pharmaconnectb2b.duckdns.org/api/v1/products?q=paracetamol \
-H "Authorization: Bearer plk_live_xxxxxxxxxxxx"Available scopes: catalog:readrfq:readsuppliers:read
Endpoints
| Endpoint | Scope | Returns |
|---|---|---|
| GET /api/v1/products | catalog:read | Search live products from verified suppliers (q, cas, cert, country). |
| GET /api/v1/products/{id} | catalog:read | A single product with its supplier and certifications. |
| GET /api/v1/suppliers | suppliers:read | Verified suppliers with certifications and product counts. |
| GET /api/v1/rfqs | rfq:read | Your organization's own RFQs, with derived status. |
Webhooks
Register an https endpoint and choose the events you want. We POST a JSON payload signed with HMAC-SHA256.
rfq.postedquote.receivedquote.awardedrfq.cancelledorg.verifiedproduct.publisheddeal.createdVerify the x-pharmalink-signature header against the raw request body using your webhook secret:
// Node — verify the signature on your endpoint
import crypto from 'node:crypto';
const sig = req.headers['x-pharmalink-signature'];
const expected = crypto.createHmac('sha256', WEBHOOK_SECRET)
.update(rawBody).digest('hex');
const ok = crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected));Ready to start? Create an API key under Account > Integrations.