Syncrofy File Transfer Visibility (FTV) tracks file transfers by breaking them into three key stages:
A single transfer is tracked across multiple events using a shared ARRIVEDFILE_KEY
. Each event for the same transfer must include the same ARRIVEDFILE_KEY
.
Each event has a unique EVENT_KEY, a timestamp (TIME), and metadata about the event source.
Here's a sample flow of a full file transfer:
Stage | Event | Required | Purpose |
---|---|---|---|
ARRIVED_FILE |
StartTransfer |
Required | Initiates the transfer, includes sender info |
ARRIVED_FILE |
ProcessDetails |
Optional | Details about the received file |
PROCESSING |
ProcessDetails |
Optional | File processing steps (e.g. checksum, normalization) |
DELIVERY |
StartedDelivery |
Required | Delivery begins |
DELIVERY |
ProcessDetails |
Optional | Delivery-specific details |
DELIVERY |
CompleteDelivery |
Required | File successfully delivered |
ARRIVED_FILE |
CompleteTransfer |
Required | Marks the transfer as complete |
Each event has standard data describing the event itself:
"STAGE": "ARRIVED_FILE",
"Event": "StartTransfer",
"TIME": "1745964341771",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"EVENT_KEY": "20250429185005401657002"
STAGE
tells us which of the stages this event will provide data for.
Event tells us the type of action in the stage.
ARRIVEDFILE_KEY
is an ID used to link all events for the same transfer together. All events for the same transfer must have the same ARRIVEDFILE_KEY.
EVENT_KEY
is a unique ID for each event.
TIME
is ms Unix timestamp of the original event action.
EVENT_SOURCE_NAME
, EVENT_SOURCE_URL
, EVENT_SOURCE_TYPE
provide reference information to the event source.
Each event also has event specific fields based on that event type. For example, the StartTransfer event tells us all about the sender and file.
"ProducerUserId": "LP_Producer",
"ProducerMailboxPath": "/LP_Producer/Outbound",
"ProducerDocumentId": "4099021968389ad5anode1",
"ProducerFileSize": "1249",
"ProducerFilename": "payments_21360685.dat",
"ProducerName": "LP_Producer",
"ProducerOperation": "Put",
"ProducerRemoteHost": "172.172.51.6",
"ProducerRemoteIP": "172.172.51.6",
"ProducerProtocol": "SFTP",
"Direction": "inbound",
"Status": "SUCCESS",
"Username": "LP_Producer",
Additional fields vary by event type.
Provides details about the sender and the received file:
{
"STAGE": "ARRIVED_FILE",
"Event": "StartTransfer",
"TIME": "1745964341771",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"EVENT_KEY": "20250429185005401657002",
"ProducerUserId": "LP_Producer",
"ProducerMailboxPath": "/LP_Producer/Outbound",
"ProducerDocumentId": "4099021968389ad5anode1",
"ProducerFileSize": "1249",
"ProducerFilename": "payments_21360685.dat",
"ProducerName": "LP_Producer",
"ProducerOperation": "Put",
"ProducerRemoteHost": "172.172.51.6",
"ProducerRemoteIP": "172.172.51.6",
"ProducerProtocol": "SFTP",
"Direction": "inbound",
"Status": "SUCCESS",
"Username": "LP_Producer",
"EVENT_SOURCE_NAME": "System name",
"EVENT_SOURCE_URL": "http://your.source.url",
"EVENT_SOURCE_TYPE": "SFG"
}
Used to track intermediate steps like validation, compression, or transformation.
{
"STAGE": "PROCESSING",
"Event": "PROCESSING",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"TIME": "1745964365871",
"EVENT_KEY": "20250429186206011657005",
"LayerType": "Normalize Data",
"LayerFilename": "Test1.txt",
"LayerStatus": "Success",
"LayerMessage": "Message data is ready",
"EVENT_SOURCE_NAME": "COE Lab SFG System",
"EVENT_SOURCE_URL": "http://cs-sandbox2.coenterprise.com",
"EVENT_SOURCE_TYPE": "SFG"
}
{
"STAGE": "PROCESSING",
"Event": "PROCESSING",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"TIME": "1745964365871",
"EVENT_KEY": "20250429186206011657006",
"LayerType": "Generate Checksum",
"LayerFilename": "Test2.txt",
"LayerStatus": "Success",
"LayerMessage": "Checksum: af69451cda314fb49d06a165bd397b28",
"EVENT_SOURCE_NAME": "COE Lab SFG System",
"EVENT_SOURCE_URL": "http://cs-sandbox2.coenterprise.com",
"EVENT_SOURCE_TYPE": "SFG"
}
{
"STAGE": "PROCESSING",
"Event": "PROCESSING",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"TIME": "1745964365871",
"EVENT_KEY": "20250429186206011657007",
"LayerType": "Validate Checksum",
"LayerFilename": "Test3.txt",
"LayerStatus": "Success",
"LayerMessage": "Validation complete",
"EVENT_SOURCE_NAME": "COE Lab SFG System",
"EVENT_SOURCE_URL": "http://cs-sandbox2.coenterprise.com",
"EVENT_SOURCE_TYPE": "SFG"
}
Track the delivery process and outcome.
A delivery consists of at least a StartedDelivery event and a CompleteDelivery event and can include ProcessDetails and FailedDelivery events.
Reports the intent to deliver and provides transfer details:
{
"STAGE": "DELIVERY",
"Event": "StartedDelivery",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"EVENT_KEY": "20250429186206011657004",
"TIME": "1745964365871",
"ConsumerName": "LP_Consumer",
"ConsumerContentType": "application/x-octet",
"ConsumerFilename": "payments_21360685.dat",
"ConsumerDocumentId": "4099021968389ad5anode1",
"ConsumerMailboxPath": "/LP_Consumer/Inbox",
"ConsumerFileSize": "1249",
"ConsumerType": "UNKNOWN",
"EVENT_SOURCE_NAME": "COE Lab SFG System",
"EVENT_SOURCE_URL": "http://cs-sandbox2.coenterprise.com",
"EVENT_SOURCE_TYPE": "SFG"
}
Adds a processing step to the delivery:
{
"STAGE": "DELIVERY",
"Event": "ProcessDetails",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"EVENT_KEY": "20250429185005401657002",
"TIME": "1745964356440",
"LayerType": "ZIP",
"LayerFilename": "payments_21360685.zip",
"EVENT_SOURCE_NAME": "COE Lab SFG System",
"EVENT_SOURCE_URL": "http://cs-sandbox2.coenterprise.com",
"EVENT_SOURCE_TYPE": "SFG"
}
Marks the delivery as failed with an error message:
{
"STAGE": "DELIVERY",
"Event": "FailedDelivery",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"EVENT_KEY": "20250429186206011657004",
"TIME": "1745964399904",
"ConsumerFilename": "payments_21360685.dat",
"ErrorMessage": "Couldn't resolve host cs-sandbox.coenterprise.com",
"ConsumerOperation": "Put",
"ConsumerRemoteIP": "172.172.172.19",
"ConsumerRemoteHost": "cs-sandbox2.coenterprise.com",
"Username": "sftp_user",
"Mailbox_MailboxPath": "/LP_Consumer/Inbox",
"ConsumerProtocol": "SFTP",
"Direction": "outbound"
"EVENT_SOURCE_NAME": "COE Lab SFG System",
"EVENT_SOURCE_URL": "http://cs-sandbox2.coenterprise.com",
"EVENT_SOURCE_TYPE": "SFG",
}
Marks the delivery as completed:
{
"STAGE": "DELIVERY",
"Event": "CompleteDelivery",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"EVENT_KEY": "20250429186206011657004",
"TIME": "1745964399994",
"ConsumerFilename": "payments_21360685.dat",
"ConsumerOperation": "Put",
"ConsumerRemoteIP": "172.172.172.19",
"ConsumerRemoteHost": "cs-sandbox2.coenterprise.com",
"Username": "sftp_user",
"Mailbox_MailboxPath": "/LP_Consumer/Inbox",
"ConsumerProtocol": "SFTP",
"Direction": "outbound"
"EVENT_SOURCE_NAME": "COE Lab SFG System",
"EVENT_SOURCE_URL": "http://cs-sandbox2.coenterprise.com",
"EVENT_SOURCE_TYPE": "SFG",
}
Marks the entire transfer as completed:
{
"STAGE": "ARRIVED_FILE",
"Event": "CompleteTransfer",
"TIME": "1745964341771",
"ARRIVEDFILE_KEY": "20250429185005401657002",
"EVENT_KEY": "20250429185005401657002",
"EVENT_SOURCE_NAME": "System name",
"EVENT_SOURCE_URL": "http://your.source.url",
"EVENT_SOURCE_TYPE": "SFG"
}
Events can be submitted:
• Individually or in batches
• Via HTTPS POST
• Kafka support is coming soon