Node.js Middleware Developer — Multi-Provider API Integration Layer (WooCommerce)
Budget: -
HOURLY / NOT_SURE
⭐ 4.99 (25)
United States
api-integration, typescript, restful-api, mysql, node.js
**Title:** Senior Node.js Backend Developer — Multi-Provider API Integration Layer (WooCommerce)
**Project Type:** Fixed-price or hourly (open to discuss) — Phase 1, with ongoing work expected
---
**Overview**
We run an international e-commerce store built on WordPress + WooCommerce. We sell **digital products that are provisioned and delivered instantly upon successful payment**. There is no physical inventory or shipping.
We currently integrate third-party supplier APIs **directly** inside WordPress to manage product data, fulfillment, and usage/consumption tracking. This is becoming slow and hard to maintain as we add more suppliers.
We want to build a separate **Node.js middleware layer** that sits between WordPress and the supplier APIs. The middleware should handle all supplier communication, background syncing, data normalization, and order fulfillment — so WordPress only reads prepared data from the database and stays fast.
After an order is paid, the middleware must place the order with the correct supplier and return the fulfillment details in **near-real-time**, so reliability and idempotency of the post-order flow are critical.
**Critical requirement:** the middleware must be designed as a **reusable integration framework**, not a one-off integration. Adding a new supplier afterward should require building only a thin supplier-specific "connector" — not rebuilding the syncing, normalization, database, webhook, or scheduling logic each time. We will explicitly evaluate proposals on how the candidate plans to keep the per-supplier cost low for supplier #2, #3, and beyond.
---
**What the middleware must do**
- Connect to multiple supplier APIs through a common connector interface (starting with one supplier, then expanding to others)
- Run scheduled background jobs to fetch product/plan data, inventory/status, and usage/consumption updates
- Normalize each supplier's response into a single internal data model
- Write/update the prepared data into our existing WordPress/WooCommerce database (WordPress does not call suppliers live)
- Handle post-order fulfillment: WordPress calls the middleware on order success → middleware places the order with the correct supplier → middleware writes final fulfillment/assignment details back to the database
- Guarantee no duplicate fulfillment through webhook idempotency, retries, and proper error handling
- Support country-based supplier selection (admin maps country → supplier), with the design open to price-based or priority/fallback rules later
- Logging and monitoring of sync jobs and failures
---
**Tech stack**
- Node.js (Express or NestJS — tell us your recommendation and why)
- TypeScript
- Hosted on a separate server (e.g. DigitalOcean); WordPress stays on its current host
- Reads/writes to a MySQL WordPress database
---
**Architecture priorities (please address these in your proposal)**
1. How you would structure the connector interface so each new supplier is a self-contained module
2. Your approach to the internal unified data model (mapping different supplier schemas to one format)
3. How you guarantee no duplicate fulfillment for instantly-delivered digital products (webhook idempotency)
4. Your estimate of the marginal effort to add a **second** supplier once the framework exists, broken down as connector-specific work vs. reused infrastructure
---
**What we'll provide**
- Supplier API documentation
- Access to a staging environment and the WordPress database schema
- A detailed scope document describing the target architecture and Phase 1 flow
---
**Phase 1 scope**
Build the framework + the first supplier connector, fully working end-to-end: data sync → product listing from DB → checkout → instant fulfillment → usage/consumption sync.
**Future phases** (not Phase 1, but design with these in mind): additional suppliers, multi-tenant reseller API access, custom product logic.
---
**Who we're looking for**
This is an architecture-sensitive project. We're looking for a **senior backend developer** who thinks about long-term maintainability and clean connector design, not just shipping the first integration as fast as possible.
Clear written English and the ability to explain technical trade-offs are required, since you'll be collaborating directly with our technical team.
---
**To apply, please include**
- Examples of past API-integration or middleware work (especially multi-provider connector architectures)
- Your recommended stack and a brief reasoning
- Your Phase 1 estimate in hours, broken down by the architecture blocks above
- Your answer to architecture priority #4 above (marginal cost of supplier #2)
Apri su Upwork