MSC Integration Docs
List Manager
Overview
- List Manager sends single lines to the Faction platform by API, and full lists through MSC's existing bulk template. No Faction user interface is needed.
- Submitting a line returns in under 1 second. Results arrive by webhook, so List Manager never waits on sourcing.
- Lists come back in MSC's own template, with the columns untouched and the 19 fields filled.
Phase: Pilot. MSC owner: List Manager developers.
Setup
- Faction provides the sandbox, API specification, OAuth credentials and a reference connector. Week 1.
- MSC IT and Faction map MSC's five-table schema to the Faction data model. Weeks 1–2.
- MSC IT chooses MSC-hosted or Faction-hosted SFTP and exchanges SSH keys with Faction. Week 2.
- List Manager developers build the call-out and webhook receiver against the sandbox. Weeks 3–4 onward.
- MSC IT connects List Manager to production. Pilot month 2.
How lines reach Faction
Single lines. One API call per line. List Manager's own line key is the idempotency key, so a retry never creates a duplicate. Each call carries the customer part, description, quantity, UOM, need-by date, tokenized customer number, attachments, the hierarchy and exclusion profile, and the mode (ask-first or autonomous).
Bulk lists. List Manager drops MSC's existing template on SFTP, with a checksum manifest, or posts it to the bulk API. Faction checks structure and required columns, then acknowledges with a batch ID and line count. Malformed rows come back in a row-level error file; the rest of the file still runs.
How results reach List Manager
Every change of state is sent to List Manager as a signed webhook.
| Event | When | Contains |
|---|---|---|
| Line accepted | On submit, under 1 second | Job ID, SLA due time |
| Candidates ready | Typically under 2 minutes | Ranked candidates with match type, vendor ID, hierarchy tier and confidence; the 19 fields, each with value, source and confidence; missing fields; source path; audit reference |
| RFQ sent | Within 1 minute of approval | Supplier, mailbox |
| Reply received | Within minutes of the email arriving | Fields returned by the supplier |
| Line decided | When a candidate is selected or the line is closed | Chosen candidate, or No Quote reason code |
| Files ready | On MSC's partial-return cadence, and at batch close | Completed template and RFQ log |
After candidates arrive, List Manager posts one of three actions: send RFQs to chosen candidates, select a candidate and write the cross-reference back, or No Quote with a reason code.
How bulk lists come back
- The same template, with MSC's columns untouched and the Sourcing SKU fields filled, each with source and confidence.
- A status per line: Sourced, RFQ sent, Awaiting supplier, Needs review, No Quote (with reason code) or Trusted auto-match.
- A companion RFQ log with one row per outreach: supplier, mailbox, sent time, fields requested, reply time, fields returned, follow-ups and message IDs.
- Partial returns go out on a cadence MSC sets.
Security
- OAuth 2.0 client credentials. The List Manager client can only submit lines and receive results.
- Webhooks are HMAC-signed. SFTP uses key authentication. TLS 1.3 on every connection.
- Customer numbers are tokenized at intake. Faction shares the base URL and webhook IP ranges at kickoff.
Frequently asked questions
What happens if List Manager misses a webhook?
Webhooks are delivered at least once, with a stable event ID for de-duplication, and in order per line. Any time window can be replayed, and a status endpoint returns the current state and partial results of any job.
Can MSC IT test without sending real emails?
Yes. The sandbox has the same contract as production, a webhook inspector, and a "simulate supplier reply" endpoint.
MSC provides: the schema, the bulk template, and the List Manager call-out and webhook receiver.
Faction handles: the API, webhooks, sandbox, reference connector, SFTP if Faction-hosted, and monitoring.