Skip to main content
Optional feature. This job ships with the Global-e SFCC cartridges but is disabled by default and must not be turned on until Global-e has enabled SFTP order-status export for the merchant. See Order status SFTP fallback.
GlobaleOrderStatusFallback is a durable fallback for inbound Global-e → SFCC order status updates when the live webhook (Globale-OrderUpdateStatus) is unavailable or delayed. Global-e writes status-update JSON files to a shared SFTP folder. Each SFCC site flow downloads only files whose name starts with that site’s ID ({SiteID}_…), enqueues them as custom objects, then applies the same status-update logic used by the webhook. Already-applied updates are skipped using the OrderStatusUpdateTime token stored on the order. See also: Optional feature overview, Jobs overview, Order lifecycle, Metadata.

When to use it

Use this job only when:
  1. Global-e has enabled SFTP export of failed/offline UpdateOrderStatus notifications for the merchant, and
  2. SFTP host/credentials and remote folder have been agreed with Global-e, and
  3. SFCC metadata/code for this feature is deployed and validated on a non-production instance.
Keep the schedule disabled until those conditions are met. The live webhook remains the primary channel; this job is complementary and must not re-apply status updates the webhook already processed (deduplication is built in).

Job steps

Default site context in metadata/jobs.xml is RefArchGlobal. Replace it with your Global-e site ID(s). Add one job flow per SFCC site that should consume the feed. When Global-e WebStoreCode values differ from the SFCC site ID (or several codes map to one site), set the webStoreCodes step parameter.

High-level flow

  1. Global-e drops files named {WebStoreCode}_{…}_{OrderStatusUpdateTime}.json on SFTP (shared folder).
  2. Download — for the current site context, only files whose name starts with a configured WebStoreCode prefix are downloaded to IMPEX. By default the prefix is the SFCC site ID; override with webStoreCodes when needed. Other prefixes stay on SFTP for their own flows.
  3. Enqueue — each valid payload becomes a site-scoped GLOBALE_INBOUND_ORDER_FALLBACK custom object (key = file name).
  4. Process — COs are applied in ascending key order (lexicographic = time order for fixed-width OrderStatusUpdateTime). Per-order short-circuit: if an earlier event for an order fails, later events for that same order are skipped this run so sequence is preserved.
  5. On successful apply or dedup skip, SFCC best-effort calls Global-e CreateOrderLog (type 365, IsSuccess: true). On apply failure (or invalid CO JSON), SFCC also best-effort logs with the same type (IsSuccess: false, LogLevelId: 4).

Business Manager setup

1. Import metadata

Import job, service, and custom-object metadata from the cartridge package (metadata/jobs.xml, metadata/services.xml, metadata/meta/*). Confirm:
  • Job GlobaleOrderStatusFallback exists under Administration → Operations → Jobs
  • Service Globale-SFTPDownload (SFTP) and Globale-CreateOrderLog (HTTP) exist under Administration → Operations → Services
  • Custom object type GLOBALE_INBOUND_ORDER_FALLBACK exists
  • Order attribute geAppliedStatusOperationIds exists (CSV of already-applied OrderStatusUpdateTime values)

2. Configure SFTP download credentials

Open Globale-SFTPDownload credentials in Business Manager and set host, user, password (and path if required by your SFTP layout). The job step parameter sftpCredentialID defaults to Globale-SFTPDownload. Set the HTTP service base URL / credential for Globale-CreateOrderLog (/GEPI/CreateOrderLog) so fallback applies and apply failures can notify Global-e. Failures of this HTTP call never block status application. Keep mock-mode off in environments where you want real feedback to Global-e.

4. Configure the job step parameters

On DownloadOrderStatusFiles: On ProcessOrderStatusFallbackQueue:

5. Site flows and schedule

  • Assign each flow’s site context to the SFCC site that should apply the updates.
  • Set webStoreCodes when file prefixes are not identical to that site ID (supports multiple codes per site).
  • Recurring trigger is disabled by default (every 15 minutes when enabled), same pattern as GlobaleOrderNotifications.
  • Enable the trigger only after a successful manual run.

IMPEX folder layout

Per merchant / site:
merchantId comes from site preference Client JS Merchant Id (geClientJsMerchantId).

Custom object queue

CO lifecycle

Deduplication

Both the webhook and this job record applied OrderStatusUpdateTime values in order custom attribute geAppliedStatusOperationIds (comma-separated). If the same token arrives again on either channel, the update is skipped and an order note is written.

Logging and troubleshooting

Configure the GLOBALE custom log under Administration → Site Development → Development Setup → Custom Log Settings.