Sync WFS Reconciliation
POST/api/walmart/:integrationInstance/wfs/reconciliation/sync
Pull WFS fees and the monthly WFS inventory reconciliation report, ingest new rows, and raise discrepancies where SKU.io's mirrored WFS on-hand diverges from the report's ending quantity. Requires a Bearer token.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Fees are read from Walmart's payment reconciliation (settlement) report: the "Service Fee" lines that belong to WFS (storage, fulfillment, prep, removal, inbound and other WFS charges). Walmart's charges on seller-fulfilled orders are not WFS fees and are skipped. Amounts are stored as Walmart reports them (a fee is negative). By default the six most recent settlement periods are pulled; pass report_date / report_dates[] (Walmart's MMDDYYYY settlement dates) to pull specific periods.
Reconciliation is Walmart's per-month CSV keyed by GTIN, mapped to seller SKU through the instance's Walmart listings. By default the previous and current calendar months are pulled; pass month_year / month_years[] (mm-YYYY) to choose months. Discrepancies are only evaluated against the most recent month. A month with no WFS movement ingests zero rows and is not an error.
The two halves run independently: a failure in one is reported under data.errors (keyed fees / reconciliation) while the other still lands, and the outcome is stamped on the instance for the sync-status endpoint. The response is 422 only when both halves failed. Re-pulls are idempotent. The same sync also runs daily on a schedule for WFS-enabled instances.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Content
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.