Skip to main content

ResendRequest (35=2)

The resend request is sent by the receiving application to initiate the retransmission of messages. This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process.

The resend request can be used to request a single message, a range of messages or all messages subsequent to a particular message.

Note: the sending application may wish to consider the message type when resending messages; e.g. if a new order is in the resend series and a significant time period has elapsed since its original inception, the sender may not wish to retransmit the order given the potential for changed market conditions. (The Sequence Reset-GapFill (4) message is used to skip messages that a sender does not wish to resend.)

Note: it is imperative that the receiving application process messages in sequence order, e.g. if message number 7 is missed and 8-9 received, the application should ignore 8 and 9 and ask for a resend of 7-9, or, preferably, 7-0 (0 represents infinity). This latter approach is strongly recommended to recover from out of sequence conditions as it allows for faster recovery in the presence of certain race conditions when both sides are simultaneously attempting to recover a gap.

Request types:

  • To request a single message: BeginSeqNo (7) = EndSeqNo (16)
  • To request a range of messages: BeginSeqNo (7) = first message of range, EndSeqNo (16) = last message of range
  • To request all messages subsequent to a particular message: BeginSeqNo (7) = first message of range, EndSeqNo (16) = 0 (represents infinity)

FIX Sequence Number Resent scenarios: Case 1: After logon request (35=A), CDC found that there are missing sequence number and requires retransmission of messages from client. ResendRequest (35=2) sent by CDC. Case 2: After logon request (35=A), client found that there are missing sequence number and requires retransmission of messages from CDC. ResendRequest (35=2) sent by client. Case 3: ResendRequest (35=2) sent by client and CDC after Logon (35=A) acknowledgement.

Request

Body

required
    BeginSeqNo Tag 7 (integer)required

    Possible values: >= 1

    First sequence number in the range to be resent. Please refer FIX Sequence Number Resent scenario for more details

    EndSeqNo Tag 16 (integer)required

    Possible values: >= 1

    Last sequence number in the range to be resent. For single message resend requests, set BeginSeqNo = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = 0.

    MsgType Tag 35 (string)

    Possible values: [2]

    Message Type = 2 (Resend Request)

Resend initiated
Schema
    GapFillFlag Tag 123 (string)

    Possible values: [Y, N]

    Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent. Y = Gap Fill Message, Msg Seq Num Field Valid. N = Sequence Reset, Ignore Msg Seq Num

    NewSeqNo Tag 36 (integer)required

    Possible values: >= 1

    New sequence number

    MsgType Tag 35 (string)

    Possible values: [4]

    Message Type = 4 (Sequence Reset)