Skip to main content
Version: Upcoming

Schema: SpdrParentReviewRequest (ID: 4195)

SpdrParentReviewRequest records created when a parent order is submitted with StageType=StageReview. These records indicate that an external review of the parent order has been requested.

METADATA

AttributeValue
Topic4195-parent-review
MLink TokenClientTrading
SRSE ProductSRTrade

Note: The symbol = next to a field number indicates that it is a primary key.

BODY

#FieldTypeComment
10=parentNumberlongSPDR order number
100sysEnvironmentenum : SysEnvironmentoriginal (source) sys environment [Stable, Current, etc]
103runStatusenum : RunStatusoriginal (source) run status [Prod,Beta]
106parentShapeenum : SpdrOrderShapeParent Shape [Single, Cross, MLeg, MLegCross]
109altOrderIdstring(24)alternate order ID (usually clOrdId from client)
112altPrevOrderIdstring(24)alternate prev order ID (usually origClOrdId from client during cxl/replace)
115altAccntstring(32)alternate (client assigned) "long" account string (optional) [used to map between client and SR account strings]
118altUserNamestring(24)alternate (client assigned) user name (optional) [used to map between client and SR account strings]
121secKeyOptionKeyComposite Security Key
124secTypeenum : SpdrKeyTypeSecurity Type [Stock, Future, Option]
127securityDesctext1additional security description
130accntstring(16)SR trading account
133clientFirmstring(16)SR client firm
136spdrSourceenum : SpdrSourcefrom original parent order
139groupingCodelongfrom original parent order
142strategystring(36)client-supplied strategy string;visible on SpiderRock GUI tools and other order reports.
145userNamestring(24)name of the user entering the order
148orderSideenum : BuySell
151orderSizeintmaximum fill size (contracts)
154firmTypeenum : FirmTypeused to override firmType in account config
157orderCapacityenum : OrderCapacity
160positionTypeenum : PositionType
163ssaleFlagenum : ShortSaleFlagused to determine stock auto-hedge flags
166locateQuanintavailable locate quantity (if selling short)
169locateFirmstring(6)firm granting the locate (also locate firm used on street FIX orders)
172locatePoolstring(16)locate pool @ firm granting the locate
175noCrossGroupstring(16)
178exchTraderIdstring(16)
181largeTraderIdstring(16)
184tradingLocationstring(16)
187hedgeSecKeyExpiryKey
190hedgeSecTypeenum : SpdrKeyType
193hedgeUnitsfloat
196userData1text1client supplied data field; passes through to parent and child executions and reports as well as FIX drops
199userData2text1client supplied data field; passes through to parent and child executions and reports as well as FIX drops
202childDatatext1client supplied data field; passes through to down stream child orders
205timestampDateTime

REPEATING FIELDS

OrderLegs

FieldTypeComment
211tickerTickerKey
214stockSideenum : BuySell
217stockSharesint
220stockLegIdlong
223altStkLegIdstring(24)
226ssaleFlagenum : ShortSaleFlag
229numLegsbyte
232secKey1OptionKey
235secType1enum : SpdrKeyType
238mult1ushort
241side1enum : BuySell
244legId1long
247altLegId1string(24)
250posType1enum : PositionType
253ssaleFlag1enum : ShortSaleFlag
256secKey2OptionKey
259secType2enum : SpdrKeyType
262mult2ushort
265side2enum : BuySell
268legId2long
271altLegId2string(24)
274posType2enum : PositionType
277ssaleFlag2enum : ShortSaleFlag
280secKey3OptionKey
283secType3enum : SpdrKeyType
286mult3ushort
289side3enum : BuySell
292legId3long
295altLegId3string(24)
298posType3enum : PositionType
301ssaleFlag3enum : ShortSaleFlag
304secKey4OptionKey
307secType4enum : SpdrKeyType
310mult4ushort
313side4enum : BuySell
316legId4long
319altLegId4string(24)
322posType4enum : PositionType
325ssaleFlag4enum : ShortSaleFlag
328secKey5OptionKey
331secType5enum : SpdrKeyType
334mult5ushort
337side5enum : BuySell
340legId5long
343altLegId5string(24)
346posType5enum : PositionType
349ssaleFlag5enum : ShortSaleFlag
352secKey6OptionKey
355secType6enum : SpdrKeyType
358mult6ushort
361side6enum : BuySell
364legId6long
367altLegId6string(24)
370posType6enum : PositionType
373ssaleFlag6enum : ShortSaleFlag

Get Schema API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentReviewRequest'

# Request Parameters for Get Schema Of The MsgType
params = {
#Required Parameters
"apiKey": API_KEY,
"cmd": 'getschema',
"msgType": MSG_TYPE,
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Msg API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentReviewRequest'

# Replace with your pkey value for getting the specific message desired
PKEY = 'ReplaceThisValueForTheQueryToWork'

# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned.
VIEW = 'sysEnvironment|runStatus|parentShape|altOrderId|altPrevOrderId|altAccnt|altUserName|secKey|secType|securityDesc|accnt|clientFirm|spdrSource|groupingCode|strategy|userName|orderSide|orderSize|firmType|orderCapacity|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|noCrossGroup|exchTraderId|largeTraderId|tradingLocation|hedgeSecKey|hedgeSecType|hedgeUnits|userData1|userData2|childData|timestamp'

# Replace with your desired where clause.
# a string in the form "field1:eq:valuse" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'altOrderId:eq:ExampleString'

# Request Parameters for getmsg Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsg',
"pkey": PKEY,
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Msgs API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentReviewRequest'

# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'sysEnvironment|runStatus|parentShape|altOrderId|altPrevOrderId|altAccnt|altUserName|secKey|secType|securityDesc|accnt|clientFirm|spdrSource|groupingCode|strategy|userName|orderSide|orderSize|firmType|orderCapacity|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|noCrossGroup|exchTraderId|largeTraderId|tradingLocation|hedgeSecKey|hedgeSecType|hedgeUnits|userData1|userData2|childData|timestamp'

# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'altOrderId:eq:ExampleString'

# Replace with your desired limit of how many messages you receive. The default limit is 500
LIMIT = 500

# Order clause eg. "(field1:DESC | field1:ASC | field2:DESC:ABS | field2:ASC:ABS" (default is unordered; default is faster)
ORDER = 'sysEnvironment:ASC'

# Request Parameters for getmsgs Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsgs',
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE,
"limit": LIMIT,
"order": ORDER
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Aggregate API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentReviewRequest'

# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'sysEnvironment|runStatus|parentShape|altOrderId|altPrevOrderId|altAccnt|altUserName|secKey|secType|securityDesc|accnt|clientFirm|spdrSource|groupingCode|strategy|userName|orderSide|orderSize|firmType|orderCapacity|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|noCrossGroup|exchTraderId|largeTraderId|tradingLocation|hedgeSecKey|hedgeSecType|hedgeUnits|userData1|userData2|childData|timestamp'

# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'sysEnvironment|runStatus|parentShape|secType|spdrSource|orderSide|firmType|orderCapacity|positionType|ssaleFlag|hedgeSecType'

# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'altOrderId:eq:ExampleString'

# Request Parameters for getaggregate Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getaggregate',
"msgType": MSG_TYPE,
"measure": MEASURE,
"group": GROUP,
# Optional Parameters
"where": WHERE,
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Count API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentReviewRequest'

# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'altOrderId:eq:ExampleString'

# Request Parameters for getCount Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getcount',
"msgType": MSG_TYPE,
# Optional Parameters
"where": WHERE,
}

response = requests.get(MLINK_PROD_URL, params=params)