Data Connection API 2.0

download Data Connection API 2.0

of 27

Transcript of Data Connection API 2.0

  • 8/20/2019 Data Connection API 2.0

    1/69

     

    GlobalView Software, Inc

    Data Connection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential

  • 8/20/2019 Data Connection API 2.0

    2/69

    TABLE OF CONTENTS Page

    i

    1  INTRODUCTION.......................................................................................1 

    1.1  Scope .............................................................................................1 

    1.2 

    Intended Audience..........................................................................1 

    1.3  Supporting Documentation .............................................................1 

    1.4  Revision History..............................................................................1 

    2  SYSTEM OVERVIEW...............................................................................2 

    2.1   API Architecture .............................................................................3 

    2.2   API Architecture Message Structure...............................................4 

    2.3  Messaging Detail ............................................................................4 

    2.4  The Request String.........................................................................5 

    2.5 

    Specifying Filters in the Request String (Conditions)......................6 

    2.6  The Response String......................................................................7 

    2.7  Values in the Request and Response String ..................................8 

    2.8  The “Raw” XML ..............................................................................8 

    2.9  The Data Stores ...........................................................................11 

    2.10  Correction Data Stores.................................................................11 

    2.11  Data Connection URL...................................................................11 

    2.12  Symbols and Aliases ....................................................................11 

    2.13 

     Authentication Issues ...................................................................12 

    2.14   Addressing Error Conditions/Error Codes ....................................13 

    3  DATA CONNECTION API.......................................................................15 

    3.1  MetaData Retrieval.......................................................................15 

    3.1.1  getInstrumentList ...............................................................15 

    3.1.2  getInstrumentRootList........................................................17 

    3.1.3  getInstrumentMetaData .....................................................18 

    3.1.4  getCurrencyList..................................................................19 

    3.1.5  getExchangeList ................................................................20 

    3.1.6  getUserDefinedInstrumentList ...........................................21 

    3.1.7  getOptionRootInstruments.................................................23 

    3.1.8  getVersion..........................................................................25 

    3.2  Realtime and Historical Price API Methods..................................26 

  • 8/20/2019 Data Connection API 2.0

    3/69

    TABLE OF CONTENTS (continued)

    Page

    ii

    3.2.1  getDailyPrices....................................................................26 

    3.2.2  getHourlyISOPrices ...........................................................29 

    3.2.3  getDailyISOPrices..............................................................31 

    3.2.4  getTradePrices ..................................................................33 

    3.2.5  getLiveQuotePrices ...........................................................35 

    3.2.6  getIntradayPrices...............................................................38 

    3.2.7  getNews.............................................................................40 

    3.2.8  getHourlyISOCorrections...................................................43 

    3.2.9  getDailyISOPriceCorrections.............................................45 

    3.2.10 

    getPriceCorrections ...........................................................47 

    3.3  Data Quality API Methods ............................................................49 

    3.3.1   Are{dataSet}PricesAvailable..............................................49 

    3.3.2  are{dataSet}PricesInAbsoluteThreshold ............................51 

    3.3.3  are{dataSet}PricesInPercentileThreshold ..........................54 

    3.4  Data Import Methods....................................................................57 

    3.4.1  importInstrumentPrice........................................................58 

    3.4.2  importInstrumentPriceCorrection .......................................60 

    3.4.3 

    importInstrumentMetaData ................................................62 

    3.4.4  getImportStatistics .............................................................64 

    4  FREQUENTLY ASKED QUESTIONS.....................................................66 

  • 8/20/2019 Data Connection API 2.0

    4/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 1

    1  Introduction

    MarketView provides customers with access to many data sets, including detailed historical

    price data. The system makes available an Application Program Interface (API) as detailed inthis document.

    1.1  Scope

    This document provides methods definition, sample code, and all technical details necessary forcustomers to develop applications that interface with the MarketView ASP system.

    1.2  Intended Audience

    This document is intended for IT developers working for or on behalf of MarketView customers.

    1.3  Supporting Documentation

    Document Description

     API_REQUEST.xsd Request XML schema for making requests to the API

     API_RESPONSE.xsd Response XML schema for responses from the API

    1.4  Revision History

    Date API Version Document Version

    8/23/05 1.0 1.0

    1/9/2006 1.0 1.0.1

    7/26/2006 2.0 2.0

  • 8/20/2019 Data Connection API 2.0

    5/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 2

    2  System Overview

    Data Connection provides easy access to GlobalView’s comprehensive data center XML based

    Web Services . Data sets include real-time, intraday, and historical prices data sources, includingposted corrections, as well as news. This gives you access to the complete breadth of theGlobalData services, including exchange data, Platts, Argus and many others, as well aspproprieatry data from your custom applications.

    Data Query Facilities

    •  Easy access to real-time, intraday, and historical price data frequencies, through aneasy-to-use web-centric API

    •  Conditional filters permit easy filtering for the desired data•  Instrument metadata•  Corrections from the exchange/data provider•  News

    Data Quality Facilities

    •  Programmatically determine availability of price quotes•  Determine quality of price quotes by checking them against thresholds (which may be

    expressed as either fixed amounts or percentages)

    Data Import Facilities

    •  Set up intra-company data feeds for prices and news; the same data is available for useby your MarketView desktop applications

    •  Monitor data imports for number of quotes poked; insertion errors

    Based on Industry Standards

    •  Uses industry-standard SOAP/XML API (Apache Axis)•  Implemented over HTTPS for data security•  Uses XML in both request and response, allowing for an easy-to-use and expressive

    message payload

  • 8/20/2019 Data Connection API 2.0

    6/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 3

    2.1  API Architecture

    Because all calls are expressed in standard Web Services Definition Language (WSDL),you donot need proprietary software (neither DLLs nor JARs,) to access MarketView data.

    MarketView Web Services

    Internet

    GlobalView Network

    External

    https://webapi.gvsi.com/services/mv2

     API User 

    DataPermissions DataData

    Data DataData

    XML

  • 8/20/2019 Data Connection API 2.0

    7/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 4

    2.2  API Architecture Message Structure

    The API is a set of SOAP/XML-based web services, exposed externally via a secure (HTTPS)web page. API users can request data by making SOAP requests.

    2.3  Messaging Detail

     All of the API methods are wrapped in a web services protocol within which a separate policyhandles exceptions relating to:

    •  User authentication,

    •  SOAP/XML message validation,

    •  Method “signature” validation,

    •  System availability,

    •  User (data entitlements) permissioning.

    The response XML includes price data, a code and description to provide feedback to the caller.Responses are as detailed as possible, providing feedback on an instrument-by-instrumentbasis whenever possible. When a global error occurs, such as credential failure or server error,a global response is returned. It should be noted also, a permission error may be sent for oneinstrument if the user is a valid API user but not entitled to the instrument requested.

    Data (XML):

    2005-04-

    01...

    SOAP Envelope (XML):

     ...

    HTTP Envelope (text):

    POST /services/mv2Host: webapi.gvsi.com

    Content-Type: application/soap+XML; charset="utf-8"

    Content-Length: ....

    SSL Encrypt ion (HTTPS secure transmission)

     API Message Format

  • 8/20/2019 Data Connection API 2.0

    8/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 5

    MarketView software prevents concurrent use of software by the same user credentials. DataConnection preserves this limitation – it will “log off” users using the same user account, fromeither MarketView or Data Connection. It is to your advantage therefore to procure separateaccounts between your MarketView and Data Connection clients.

    2.4  The Request String

    The Request String is a parameter that is present in the majority of MarketView Web Service’s API function calls. The contents of the string follow XML conventions, according to the schemadescribed in API_REQUEST.xsd. This allows you great flexibility in terms of specifying whichfield(s) you want to query, for which instrument(s), given which condition(s). Here is abreakdown the component sections of a sample Request String,

    Notes:

    1. A data request comprises of a list of instruments, enclosed in-between two tags. You can request quotes for one-to-many instruments at onetime.

    2. You can also search for instruments by passing wildcards in-between two tags. In a price quote request, one or the other pair oftags must appear . Or, as in the sample above, both sets of tags may appear in thesame request.

    3. The  tags allows you to set up filters on the returned data, to narrowthe range of returned data.

    4. The  tags allows you to specify the fields you want returned in response toyour query. In this example, Data Connection will return the fields, INSTRUMENT_ID,CLOSE, HIGH, and TRADE_DATETIME. If is not specified, Data Connectionwill return values for a default set of fields.

    ...

    ...

    1

    2

    3

    4

  • 8/20/2019 Data Connection API 2.0

    9/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 6

    2.5  Specifying Filters in the Request String (Conditions)

    Looking at the above request, you’ll see that we allow you specify a list of instruments by theirspecific INSTRUMENT_IDs, but also allow you to simultaneously specify instruments bywildcard masks. That collection of instruments are filtered through the CONDITIONS, each ofwhom must be met.

    Describing this through the metaphor of a SQL-language database, you can specify queries like,

    ...

    ...

    ...

    SELECT tag(s)

    FROM  GVSI_INFRASTRUCTURE

     WHERE

    (

    (  INSTRUMENT_ID = ‘id0’

    OR   INSTRUMENT_ID = ‘id1’

    OR   ...

    OR   INSTRUMENT_ID = ‘idx’) 

    OR

    (  INSTRUMENT_ID LIKE ‘ pattern0’

    OR   INSTRUMENT_ID LIKE ‘ pattern1’

    OR   ...

    OR   INSTRUMENT_ID LIKE ‘ patternx ’) 

    )

     AND  tag1 = ‘condition1’

     AND  tag2 = ‘condition2’

     AND  ...

     AND  tagx = ‘conditionx ’; 

  • 8/20/2019 Data Connection API 2.0

    10/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 7

     Although describable in terms of a SQL database, keep in mind that our infrastructure is tuned tobe a ticker plant, not a general-purpose database. Specifically,

    •  Conditions can only be tested for equality.

    •  All conditions specified must be met for a record to match.

    •  We do however offer facilities for date range queries, using START_DATE andEND_DATE tags.

    While you can use Data Connection for data-mining queries, its underlying infrastructure runsmost efficiently when given specific queries.

    2.6  The Response String

    Data Connection API functions universally return a string value. That string is formatted in XML,according to the schema laid out in API_RESPONSE.xsd. Again, there are several sections ofthe response string; here is a breakdown of them,

    Notes:

    1. All responses begin with the line, “ API_RESPONSE”. If there is an error in servicing therequest, that is enumerated as the attribute CODE; DETAILS in turn provides a textualdescription of the error. 

    2. As this function returns one-to-many instrument quotes, it is embedded within the tags,. All Data Connection methods follow this pattern: a plural form of thetag, followed by one-to-many singular -form tags (INSTRUMENTS versusINSTRUMENT.)

    3

    2

    1

  • 8/20/2019 Data Connection API 2.0

    11/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 8

    3. Each individual quote in turm is embedded within the tag, . Theindividual fields are treated as attributes of the INSTRUMENT tag.

    2.7  Values in the Request and Response String

    Within both the Request and Response strings, all attributes are expressed as string values –

    e.g., they are wrapped in double-quotation marks (“”.)

    1. Note that all arguments embedded in the Request String are handled as strings –e.g., they are wrapped in double-quotation marks (“). A numeric value, therefore, isexpressed as VALUE=”5”, not VALUE=5.

    2. All datetime fields are shown in ISO 8601 format. This means, expressed with theformat yyyy-mm-dd, followed by the letter ‘T’, then hh:mm:ss for the time portion.The timezone immediately follows; expressed as an hour and minute offset fromUTC, with the format, ±hhmm . The abbreviation ‘Z’ may replace the hour and minuteoffset, and denotes ‘+0000’.

    •  For example, Americas/Chicago (a.k.a., Central Standard Time, or CST)would be denoted as “-0600”, as there are 6 hours difference between it and

    the UTC. (Although, note that Daylight Savings Time affects the offset fromUTC.)

    •  Asia/Singapore (SGT) is expressed as “+0800”.

    2.8  The “Raw” XML

    Data Connection is implemented in SOAP/XML using Apache Axis 1 Framework, running on aJ2EE application server. We’ve discovered through previous support requests that developerswho are not familiar with this stack become confused about how method arguments and therequestXML String are encoded and transmitted.

    We’ve found that the best way to illustrate the conversation is to use a proxy that captures andlogs the packets. An example of such a proxy is tcpmon, which is part of the ApacheFoundation’s Axis 1 source distribution. Proxies such as tcpmon are very helpful for when thedynamics of a conversation between the client are server are not understood.

    Following is a sample incoming request, captured by tcpmon,

  • 8/20/2019 Data Connection API 2.0

    12/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 9

    Notes:

    1. Given that SOAP/XML is a protocol implemented on top of the HTTP stack, therenaturally is a HTTP header.

    2. The method being invoked is “getInstrumentList”. This particular method

    (documented in Section 3) requires that the user provide three parameters.3. These parameters are “user ”, ”password” and “requestXML”. The values for the first

    two, “user ” and “password”, establishes your authentication on Data Connection.HTTP/HTTPS protocol’s authentication, used to gain authorization to a specificURI/URL, is not used.

    4. The third parameter, “requestXML,” contains the body of the request, encoded inXML. To facilitate this, the , ’, “  and & characters in the string must be escaped totheir legal XML equivalents.

    POST /services/mv2 HTTP/1.0

    Content-Type: text/xml; charset=utf-8

    Accept: application/soap+xml, application/dime, multipart/related,text/*

    User-Agent: Axis/1.2.1

    Host: service.gvsi.comCache-Control: no-cache

    Pragma: no-cache

    SOAPAction: ""

    Content-Length: 616

    test_user

    test_password 

    2

    3

    4

    1

  • 8/20/2019 Data Connection API 2.0

    13/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 10

    The response from Data Connection, in turn, looks like,

    Notes:

    1. Again, given as how SOAP/XML is implemented over HTTP/HTTPS, there is a HTTPheader at the beginning of the response. 

    2. The user invoked a service called “getInstrumentList”. It’s response is called“getInstrumentListResponse”, which is encoded as an XML String. That is what werefer to as the Response String – every method returns a Response String (whosename follows the pattern ‘methodNameResponse’.) Note the requisite escape-XMLsequences <, ", et al, are present as well. 

    While understanding what the “raw” XML looks like is helpful, by no means do werecommend that your application creates or parses messages at this low level. Use a WebServices library that supports the SOAP/XML protocol. The Apache Foundation’s(http://www.apache.org) Axis 1 can be used for your client applications. Microsoft’s VisualStudio (2003 and above) also comes with the .Net Web Services API. Other toolkits exist,

    targeting different development languages and environments.

    While we don’t advocate any toolkit over the other, we’re most familiar with The ApacheFoundation’s Axis 1, in terms of being able to offer suggestions/support.

    HTTP/1.1 200 OKX-Powered-By: Servlet 2.4; Tomcat-5.0.28/JBoss-3.2.7 (build: ← CVSTag=JBoss_3_2_7 date=200501280217)Content-Type: text/xml;charset=utf-8Date: Wed, 01 Nov 2006 20:59:20 GMTServer: Apache-Coyote/1.1Connection: close

    <?xml 

    version="1.0" encoding="UTF-8"?>

    ... etc ...

    1

    2

  • 8/20/2019 Data Connection API 2.0

    14/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 11

    2.9  The Data Stores

    GlobalView keeps several data frequencies that are dependent on the source of the pricingdata.

      Tick or Trade data is available for Futures type data from sources such as theNYMEX or ICE. This data represents each transaction executed on a specificexchange for a specific contract.

    •  LiveQuote data is the most recent data for a specific instrument. Some data fromFutures exchanges update many times a day, other end-of-day data sources updateonly once a day.

    •  Intraday data is tick data aggregated into even minute summaries, showing a open,high, low, close for each interval. This data is mostly available from Futuresexchanges such as NYMEX or ICE.

    •  Daily data is a summary record for each day, potentially including prices, open, high,low, close, and also a volume and open interest. Futures data, as well as, end-of-daydata have a record representing an instruments daily activity.

    •  As there are major differences between ISO (electricity-related) instruments and otherenergy instruments, we keep those price quotes in a separate datastore, with Dailyand Hourly striping.

    2.10 Correction Data Stores

    From time to time, the exchange or data vendor may issue corrections to symbol quotes.Often, the price is corrected, although other fields in the price quote could be corrected. Wehandle corrections by,

    •  Updating the primary data stores, so you’ll receive the corrected field(s) if you executea query.

    •  Updating a correction data store, that keeps the trade date corrected, as well as thedate the correction was issued.

    •  As ISO symbols are different from other symbols, we keep their corrections in adifferent data store than other symbols’ corrections.

    2.11 Data Connection URL

    Data Connection is hosted from URL,

    https://webapi.gvsi.com/services/mv2 

    We also have “development” servers, against which you should develop your client software.The reason for this is quality-of-service – we’ll advise you as the name of servers assigned toyou.

    2.12 Symbols and Aliases

    When dealing with future contracts, you have to be aware that contracts (frequently) expire on amonthly basis. This necessitates that you know the exchanges’ symbology, expiration dates,

  • 8/20/2019 Data Connection API 2.0

    15/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 12

    and be prepared to change your queries several times during the month. To address thisinconvenience, Data Connection supports rolling symbol aliases.

    To illustrate, let’s look at NYMEX Crude Light Future contracts, whose root symbol is “/CL”. Youcould reference a specific contract by specifying its single-letter month code/single-digit yearcode (as in /CLF7 for the January 2007 daily session contract,) but specifying (and editing) the

    specific contracts you need is onerous and prone to mistakes. Chances are your businessanalysts did not specifically want the January ’07 contract, they wanted the front month’scontract. It just so happens that at a given time of the year, the front month contract is theJanuary ’07 contract. (But, later in the year, it will be the February ’07 contract.)

    We address this problem for you by providing rolling symbol aliases. These areINSTRUMENT_IDs that contains the sequence “[num]” (squared brackets with a single-digit.)The digit refers to how many months out from the current month’s Future Contract you want toselect. For example, assume it is January, and you want the contract that is two months out.That would be the March contract. So, you should query for /CL[2]. If you want the front month’scontract, that would be /CL[0].

    The flipside, given that you ask for a symbol by its rolling symbol alias, how do you know that/CL[0] refers to /CLF7? The “Actual” contract’s symbol has been mapped to the UNDERLIER tag, which Data Connection can return for you in your requests.

    Day Session  Globex (ACCESS) Session 

    Front Month /CL[0] Front Month /GCL[0]

    One Month Out /CL[1] One Month Out /GCL[1]

    Two Months Out /CL[2] Two Months Out /GCL[2]

    Three Months Out /CL[3] Three Months Out /GCL[3]

    Four Months Out /CL[4] Four Months Out /GCL[4]

    Five Months Out /CL[5] Five Months Out /GCL[5]

    Six Months Out /CL[6] Six Months Out /GCL[6]

    Seven Months Out /CL[7] Seven Months Out /GCL[7]

    Eigh Months Out /CL[8] Eigh Months Out /GCL[8]

    Nine Months Out /CL[9] Nine Months Out /GCL[9]

    2.13 Authentication Issues

     Authentication in Data Connection is established through the published methods requiring userand password parameters. Based on those values, we establish what data you can query(broken down at the exchange- and news data source-level.) We don’t use HTTP’sauthentication mechanisms (requiring username and password to access URLs.) Which isn’t tosay, you won’t be required to provide some sort of authentication to pass a request.

    Your company might have proxies set up, to enable HTTP access through your firewall. Someproxies may require user name and password to “leave the building.” Being able to access theData Connection’ web site through your web browser is not absolute proof that your proxy doesnot require authentication; the browser may already be set up by your IT staff.

  • 8/20/2019 Data Connection API 2.0

    16/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 13

    Such issues are generally between your IT staff and yourself; we’re not in a position where wecan provide much help. Although we’ll note that the underlying HTTP protocol layer in yourSOAP/XML toolkit should have support for setting up authentication for any proxies your firmmay have, see it’s documentation for details. Axis’ tcpmon is an excellent tool to determine howyour corporate proxy works: it is “too simple”(or unencumbered) to have your authentication

    pre-configured, such as your web browser would be. Place it in-between your client and thecorporate proxy.

    2.14 Addressing Error Conditions/Error Codes

    In Section 2.6, you saw that we return as the first line of the Response String a line that lookslike,

    This is one place in the Response String where an error condition may be expressed to you.The CODE attribute having any non-zero value is indicative of an error; the DETAILS attempts

    to describe the error.If an error is reported here, then the request itself could not be processed –e.g., you may have passed incorrect credentials.

    The other sort of error that can be reported are errors at the per sub-request level. For example,you queried for a number of symbols, but one of the symbols does not exist. You would thensee a response like,

    Notice the INSTRUMENT with ERROR_CODE and ERROR_DESCRIPTION attributes. Theseonly appear on lines where an error occurred in the request. The next line’s instrument had noerrors, so the attributes you asked for are displayed.

    (The error in the above example frequently happens because the symbol you are querying fordoes not exist. A convenient way to check the validity of the

    The API_REPONSE line will display values for CODE and DETAILS even if there is no errors;the intra-response lines will display ERROR_CODE and ERROR_DESCRIPTION only if thereis an error. Regardless of where the error appears in the response, it follows this error codemapping,

    Code Description

    0 Success-10 General Error-20 Authentication Error (invalid user name/password)-30 Invalid Parameters in the web server request-31 Invalid Instrument Attributes in the web server request-32 Invalid Conditions Attributes in the web server request-40 Instrument missing from response

  • 8/20/2019 Data Connection API 2.0

    17/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 14

    7 Price and correction requests are limited to 10,000 instruments. Reducethe number of instruments requested or narrow the instrument searchwildcard parameters.

    8 Requested more than 50,000 price or correction price data elements.Reduce the calendar range, the number of instruments requested, ornarrow the instrument search wildcard parameters.

    120 You are not permissioned for the requested instrument(s). This can bebecause a) you truly are not permissioned, or b) because the symbol ismisspelt, and there is no exchange associated with the symbol you askedfor.

    130 A database error occurred.136 The server is unable to retrieve the desired data because there it is unable

    to locate a database for the requested data.138 No instruments matched the query search pattern. Modify the search

    parameter.9001 Corrections are not available for the requested instrument.

  • 8/20/2019 Data Connection API 2.0

    18/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 15

    3  Data Connection API

    Data Connection API can be broken down into five categories of method calls. These are,

    •  MetaData Retrieval

    •  Real & Historical Price Retrieval

    •  Data Quality

    •  Data Import/Upload

    •  “Utility” methods

    This section provides a reference of those methods.

    3.1  MetaData Retrieval

    MetaData may be thought of as data concerning an instrument or instruments that are notgermaine to the realtime price or historical price data. Examples include, exchange wheretraded, company name, currency, underlier security, etc. As this data is very static, we oftenemploy different infrastructure to store it than for historical or realtime prices. While yougenerally can also receive metadata information from the price API methods, understand thatthere’s an overhead of “joining” the query between two data stores.

    3.1.1 getInstrumentList

    Returns a list of instruments for the given exchange code, for which the user has querypermissions. The user can only specify one exchange code per invocation.

     Arguments:

    Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)

    String requestXML Request String, formatted as per the schema at API_REQUEST.xsd. This request must contain a clause specifying one (and only one)EXCHANGE_CODE.

    Condition Tags:

    Name Description

    EXCHANGE_CODE Must be specified. This is due to the high number of instrumentsthat may be returned (both in terms of response time, and the

    length of the returned string)

    User-Specifiable Tags:

    Name Description

    N/A N/A

  • 8/20/2019 Data Connection API 2.0

    19/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 16

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

    Example Request XML:

    Example Response XML:

    … etc …

  • 8/20/2019 Data Connection API 2.0

    20/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 17

    3.1.2 getInstrumentRootList

    Returns a list of root instruments and associated metadata for which the user has permissionsto query/view data. There is no RequestXML parameter.

     Arguments:Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)

    Condition Tags:

    Name Description

    N/A There is no RequestXML parameter  

    User-Specifiable Tags:

    Name Description

    N/A

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

    Example Request XML: 

    N/A

    Example Response XML:

    … etc …

  • 8/20/2019 Data Connection API 2.0

    21/69

  • 8/20/2019 Data Connection API 2.0

    22/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 19

    3.1.4 getCurrencyList

    Returns a list of currencies and associated metadata.

     Arguments:

    Type Name DescriptionString User API user identifier

    String userPassword API user password (case-sensitive)

    Condition Tags:

    Name Description

    N/A N/A

    User-Specifiable Tags:

    Name Description

    N/A N/A

    Response:Type  Description 

    String XML structured to contain a response for the request. It will identify eachavailable currency. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

    Example Request XML:

    N/A

    Example Response XML:

  • 8/20/2019 Data Connection API 2.0

    23/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 20

    3.1.5 getExchangeList

    Returns a list of exchanges available in the infrastructure, and their associated metadata.

     Arguments:

    Type Name DescriptionString User API user identifier

    String userPassword API user password (case-sensitive)

    Condition Tags:

    Name Description

    N/A N/A

    User-Specifiable Tags:

    Name Description

    N/A N/A

    Response:Type Description

    String XML structured to contain a response for the request. It will identify eachavailable exchange. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

    Example Request XML:

    N/A

    Example Response XML:

    … etc …

  • 8/20/2019 Data Connection API 2.0

    24/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 21

    3.1.6 getUserDefinedInstrumentList

    Returns a list of user-defined instruments. These are known as “User Defined Formulas” in theMarketView client, and allow the user to map a formula to an instrument symbol. The“instruments” returned by this call in turn can be used in subsequent methods in Data

    Connection. The process of defining these instruments are outside the scope of WebServices; use the MarketView GUI application to create/edit your user defined instruments.

     Arguments:

    Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)

    Condition Tags:

    Name Description

    N/A N/A

    User-Specifiable Tags:Name Description

    N/A N/A

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable exchange. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    25/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 22

    Example Request XML:

    N/A

    Example Response XML:

  • 8/20/2019 Data Connection API 2.0

    26/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 23

    3.1.7 getOptionRootInstruments

    Returns a list of instruments associated with a root or an underlier symbol. This is useful if youwould like a list of current future contracts associated with Natural Gas, or options of anunderlying instrument. The CONDITIONS clause must appear in the request.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML, with a requisite CONDITIONS clause.

    Condition Tags:

    Name Description

    OPTION_ROOT The root symbol for option or futures contracts Either this orUNDERLIER must appear.

    UNDERLIER The underlying symbol. Either this or OPTION_ROOT must

    appear.SECURITY_TYPE “F” for Futures; “O” for OptionsCURRENT_SESSION Session the instrument trades on (“1”=night “2”=day)

    User-Specifiable Tags:

    Name Description

    N/A N/A

    Default Tags:

    NameINSTRUMENT_ID, EXPIRATION_DATE, SYMBOL_DESCRIPTION, CURRENCY,SECURITY_TYPE

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable exchange. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    27/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 24

    Example Request XML:

    Example Response XML:

  • 8/20/2019 Data Connection API 2.0

    28/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 25

    3.1.8 getVersion

    Returns the version of Data Connection. This method exists to facilitate customer supportissues. It is the exception to the rule, as it returns ithe version identifier in the DETAILS attribute of the API_RESPONSE.

     Arguments:

    Type Name Description

    N/A

    Condition Tags:

    Name Description

    N/A

    User-Specifiable Tags:

    Name Description

    N/A N/A

    Default Tags:

    NameN/A

    Response:

    Type Description

    String XML structured to contain a response for the request. The API_RESPONSE’s error description field contains the version identifier.

    Request XML

    N/A

    Response XML

  • 8/20/2019 Data Connection API 2.0

    29/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 26

    3.2  Realtime and Historical Price API Methods

    Data Connection provides realtime pricing data in Intraday and Daily strips. We also keepLiveQuote (latest) data, and Historical Trades (ticks) data stores. In addition, we also keepcorrections issued by the exchange.

    ISO data is fairly different from other securities, keeping disparate information such as usagehour and date, voltage et al. As such, we keep them in separate datastores, in daily and hourlyISO strips. We also keep ISO corrections.

    Rounding out our offerings is News. As in MarketView, you can receive a collection of newsheadlines, headlines with the story body, or headlines with a URL that a HTML browser canload & display.

    3.2.1 getDailyPrices

    Returns daily strip prices from the intraday datastore, for a user-defined set of instruments,covering a user-defined period of time. The user may specify which Tags (a.k.a., fields) theywant to have returned, or rely on the default set of Tags.

     Arguments:

    Type Name Description

    String User API user identifierString UserPassword API user password (case-sensitive)String requestXML Request XML. Any number of instruments can be

    requested as shown below.

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; instead appearsin (specific instrument_id’s) or (wildcards)

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the two fields,creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between the two fields,creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with the START_DATE/END_DATE pair, with the proviso that END_DATE is the currentdate.

    RECORDS_BACK Synomyn for DAYS_BACKOther Tags Any of the User-Specifiable tags may appear as a CONDITION

    tag, with the exception of TRADE_DATE and TRADE_TIME(Use TRADE_DATETIME instead.) But see INSTRUMENT_IDabove.

  • 8/20/2019 Data Connection API 2.0

    30/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 27

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID The security’s instrument identifier. If are specified, this field must appear in the request.

    HIGH This session’s highest transaction

    valueLOW This session’s lowest transaction

    valueTRADE_DATETIME Date and Time of the last reported

    Trade, in ISO formatTRADE_DATE The Date portion (only) of the

    TRADE_DATETIMEOPEN This session's opening priceVOLUME Today's total trading volumeOPEN_INTEREST Open interestCLOSE Settlement price. The official closing

    price of a commodity

    MID_POINT MidpointCOMPANY_NAME Name of underlying companySYMBOL_DESCRIPTION Symbol description

    Default Tags:

    Name

    INSTRUMENT_ID, TRADE_DATETIME, OPEN, HIGH, LOW, CLOSE

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    31/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 28

    Example Request XML:

    Example Response XML:

  • 8/20/2019 Data Connection API 2.0

    32/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 29

    3.2.2  getHourlyISOPrices

    Returns ISO data in hourly strips, for a user-defined set of instruments, covering a user-defined period of time. The user may specify which Tags (a.k.a., fields) they want to havereturned, or rely on the default set of Tags.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML.

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s) or (wildcards)

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the two fields,creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between the twofields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with the START_DATE/END_DATE pair, with the proviso that END_DATE is the currentdate.

    RECORDS_BACK Synomyn for DAYS_BACK

     AGGREGATE_TYPE 1 for PEAK, 2 for OFFPEAK, 0 for BOTH

    Other Tags Any of the User-Specifiable tags may appear as a CONDITIONtag, with the exception of TRADE_DATE and TRADE_TIME(Use TRADE_DATETIME instead.) But see INSTRUMENT_IDabove.

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID The security’s instrument identifier. If are specified, this field must appear in the request.

    CLOSE Settlement priceTRADE_DATETIME Date and Time of the last reported

    tradeUSAGE_HOUR Usage hour as 24-hour integer

    Default Tags:

    Name

    INSTRUMENT_ID, TRADE_DATETIME, CLOSE

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument. If a global error occurs, such as authentication, the

  • 8/20/2019 Data Connection API 2.0

    33/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 30

     API_RESPONSE will only contain an error code and error description.

    Example Request XML:

    Example Response XML:

    …etc …

  • 8/20/2019 Data Connection API 2.0

    34/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 31

    3.2.3  getDailyISOPrices

    Returns ISO data in daily strips, for a user-defined set of instruments, covering a user-definedperiod of time. The user may specify which Tags (a.k.a., fields) they want to have returned, orrely on the default set of Tags.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML. The request may contain a single

    conditions clause identifying either a number of calendardays back or a START_DATE and END_DATE. The

     AGGREGATE_TYPE element can be used to restrict theresult to peak (AGGREGATETYPE of “1”) or off-peak (“2”)hours.

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s) or (wildcards)

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the two fields,creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between the twofields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with the START_DATE/END_DATE pair, with the proviso that END_DATE is the current

    date.RECORDS_BACK Synomyn for DAYS_BACK

     AGGREGATE_TYPE 1 for PEAK, 2 for OFFPEAK, 0 for BOTHOther Tags Any of the User-Specifiable tags may appear as a CONDITION

    tag, with the exception of TRADE_DATE and TRADE_TIME(Use TRADE_DATETIME instead.) But see INSTRUMENT_IDabove.

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID The security’s instrument identifier. If are specified, this field must appear in the request.

    CLOSE Settlement priceTRADE_DATETIME Date and Time of the last reported

    tradeUSAGE_DAY Usage Day as YYYY-MM-DDUSAGE_HOUR Usage hour as 24-hour integerNODE_ID Integer; node IDLOCATION LocationSYMBOL_DESCRIPTION Security description

  • 8/20/2019 Data Connection API 2.0

    35/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 32

    Name Description

    VOLTAGE Voltage (in KV)POWER_TYPE Power type (HUB, ZONE, GEN,

     AGGREGATE, INTERFACE, EHV,LOAD, HUB NODE, NETWORKNODE)

    Default Tags:

    Name

    INSTRUMENT_ID, CLOSE, TRADE_DATETIME, USAGE_HOUR, USAGE_DAY,SYMBOL_DESCRIPTION

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

    Example Request XML:

    Example Response XML:

  • 8/20/2019 Data Connection API 2.0

    36/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 33

    3.2.4  getTradePrices

    Returns the Trade (a.k.a., Tick or Historical) prices for a user-defined set of instruments,covering a user-defined period of time. The user may specify which Tags (a.k.a., fields) theywant to have returned, or rely on the default set of Tags.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML. The request may contain a single

    conditions clause identifying either a number of calendardays back or a START_DATE and END_DATE. The

     AGGREGATE_TYPE element can be used to restrict theresult to peak (AGGREGATETYPE of “1”) or off-peak (“2”)hours.

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s) or (wildcards)

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the two fields,creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between the twofields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with the START_DATE/END_DATE pair, with the proviso that END_DATE is the current

    date.RECORDS_BACK Synomyn for DAYS_BACKOther Tags Any of the User-Specifiable tags may appear as a CONDITION

    tag, with the exception of TRADE_DATE and TRADE_TIME(Use TRADE_DATETIME instead.) But see INSTRUMENT_IDabove.

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID The security’s instrument identifier. If are specified, this field must appear in the request.

    LAST Trade price or valueTRADE_DATETIME Date and Time of the last reported

    tradeTRADE_VOLUME Transactional volume of the last trade

    price reported in TRDPRC_1

    Default Tags:

    Name

    INSTRUMENT_ID, LAST, TRADE_DATETIME, TRADE_VOLUME

  • 8/20/2019 Data Connection API 2.0

    37/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 34

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument. If a global error occurs, such as authentication, the

     API_RESPONSE will only contain an error code and error description.

    Example Request XML:

    Example Response XML:

  • 8/20/2019 Data Connection API 2.0

    38/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 35

    3.2.5  getLiveQuotePrices

    Returns Livequote prices for a set of instruments, covering a user-defined period of time. Theuser may specify which Tags (a.k.a., fields) they want to have returned, or rely on the defaultset of Tags.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML. The request most contain a single

    conditions clause identifying either a number of calendardays back or a START_DATE and END_DATE:

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s) or (wildcards)

     AGGREGATE_TYPE 1 for peak; 2 for off-peak; 0 for allSTART_DATE A date in the format, ‘YYYY-MM-DD’. If specified, then

    END_DATE must be specified as well. Between the two fields,creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between the twofields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with the START_DATE/END_DATE pair, with the proviso that END_DATE is the currentdate.

    RECORDS_BACK Synomyn for DAYS_BACK

    Other Tags Any of the User-Specifiable tags may appear as a CONDITIONtag, with the exception of TRADE_DATE and TRADE_TIME(Use TRADE_DATETIME instead.) But see INSTRUMENT_IDabove.

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID The security’s instrument identifier. If are specified, this field must appear in the request.

    LAST Last trade price or value (mostrecent)

    NET_CHANGE Net change from previous closeHIGH This session's highest transactionvalue

    LOW This session's lowest transactionvalue

    TRADE_DATETIME Date and Time of the last reportedtrade

    TRADE_DATE Date portion of TRADE_DATETIMEOPEN This session's opening price

  • 8/20/2019 Data Connection API 2.0

    39/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 36

    Name Description

    HIST_CLOSE Most recent closing or settlementprice

    BID Latest bid price

     ASK Latest ask price

    BID_SIZE The quantity bid at the latest bid price

     ASK_SIZE The quantity offered at the latest askprice

    TOTAL_VOLUME Today's total trading volume

    OPEN_INTEREST Open interest

    STRIKE Strike price (the price at which theoption is exercisable)

    VOLUME Today's total trading volume

    PUT_CALL P = put C = call U = underlier

    TRADE_VOLUMETransactional volume of the last tradeprice reported

    SYMBOL_DESCRIPTION Symbol descriptionCOMPANY_NAME Name of underlying companyBID_DATETIME Date of bid

     ASK_DATETIME Date of askMID_POINT MidpointDAILY_AGGREGATE Daily AggregatePEAK_DAILY_AGGREGATE Daily Peak AggregateOFFPEAK_DAILY_AGGREGAGE Daily Off Peak Aggregate

    Default Tags:

    Name

    INSTRUMENT_ID, LAST, NET_CHANGE, HIGH, LOW, TRADE_DATETIME,OPEN, BID, ASK, BID_SIZE, ASK_SIZE, COMPANY_NAME

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    40/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 37

    Example Request XML:

    Example Response XML:

  • 8/20/2019 Data Connection API 2.0

    41/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 38

    3.2.6  getIntradayPrices

    Returns intraday prices for a set of instruments, covering a user-defined period of time. Theuser may specify which Tags (a.k.a., fields) they want to have returned, or rely on the defaultset of Tags.

     Arguments:

    Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)

    String requestXML Request XML. The request most contain a singleconditions clause identifying either a number of calendardays back or a START_DATE and END_DATE. Anynumber of instruments can be requested as shown below:

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s) or (wildcards)

     AGGREGATE_TYPE 1 for peak; 2 for off-peak; 0 for all

    BAR_INTERVAL Desired stripping, in minutes. Available are 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 90, 120, 150, 180,210, 240.

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the two fields,creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between the twofields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with the START_DATE/END_DATE pair, with the proviso that END_DATE is the currentdate.

    RECORDS_BACK Synomyn for DAYS_BACK

    Other Tags Any of the User-Specifiable tags may appear as a CONDITIONtag, with the exception of TRADE_DATE and TRADE_TIME(Use TRADE_DATETIME instead.) But see INSTRUMENT_IDabove.

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID The security’s instrument identifier. If

    are specified, this field must appear in the request.LAST Last trade price or valueHIGH This session’s highest transaction

    valueLOW This session’s lowest transaction

    valueTRADE_DATETIME Date and Time of the last reported

    trade

  • 8/20/2019 Data Connection API 2.0

    42/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 39

    Name Description

    TRADE_DATE Date portion of TRADE_DATETIMEOPEN This session’s opening price

    Default Tags:

    Name

    INSTRUMENT_ID, TRADE_DATETIME, OPEN, HIGH, LOW, LAST

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument which has price corrections for the period specified. If aglobal error occurs, such as authentication, the API_RESPONSE will onlycontain an error code and error description.

    Example XML Request:

    Example Xml Response:

  • 8/20/2019 Data Connection API 2.0

    43/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 40

    3.2.7  getNews

    Returns News articles. Articles either have their own body (e.g., the story,) or have a referenceto a web URL, to be used by a web browser. The user may specify which Tags (a.k.a., fields)they want to have returned, or rely on the default set of Tags.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML. The request most contain a single

    conditions clause identifying either a number of calendardays back or a START_DATE and END_DATE.

    Condition Tags:

    Name Description

    NEWS_SOURCE ID Code for News Source. Must appear

    NEWS_DEPTH Not a condition per se, but controls the number of headlinesreturned by query. Defaults to 300.

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the two fields,creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between the twofields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with the START_DATE/END_DATE pair, with the proviso that END_DATE is the currentdate.

    RECORDS_BACK Synomyn for DAYS_BACKOther Tags Any of the User-Specifiable tags may appear as a CONDITION

    tag, with the exception of NEWS_DATE and NEWS_TIME (UseNEWS_DATETIME instead.)

    User-Specifiable Tags:

    Name Description

    NEWS_DATETIME News Story DateTimeNEWS_DATE Date portion of NEWS_DATETIMENEWS_TIME Time portion of NEWS_DATETIMENEWS_HEADLINE Headline TextNEWS_BODY Story TextNEWS_STORY_NUMBER News Story ID NumberNEWS_SOURCE ID Code for News Source

    NEWS_PAGE The News Page NumberNEWS_CATEGORIES News CategoryNEWS_SYMBOL Instrument/Symbol associated with

    StoryNEWS_KEYWORDS Keywords in the headlinesNEWS_SERVER_DATE Server News Story DateNEWS_SERVER_TIME Server News Story TimeNEWS_HREF URL/URI pointing to the story on the

    Web (used in conjunction with web

  • 8/20/2019 Data Connection API 2.0

    44/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 41

    browser component.)

    Default Tags:

    Name

    NEWS_DATETIME, NEWS_HEADLINE, NEWS_BODY,NEWS_STORY_NUMBER, NEWS_SOURCE, NEWS_PAGE,

    NEWS_CATEGORIES, NEWS_SYMBOL, NEWS_KEYWORDS,NEWS_SERVER_DATE, NEWS_SERVER_TIME, NEWS_HREF

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    45/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 42

    Example XML Request:

    Example XML Response:

     

  • 8/20/2019 Data Connection API 2.0

    46/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 43

    3.2.8  getHourlyISOCorrections

    Returns price corrections for ISO instruments. The user may specify which Tags (a.k.a., fields)they want to have returned, or rely on the default set of Tags.

     Arguments:Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)String requestXML Request XML. The request most contain a single

    conditions clause identifying either a number of calendardays back or a START_DATE and END_DATE.

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s)or (wildcards)

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the twofields, creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between thetwo fields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with theSTART_DATE/ END_DATE pair, with the proviso thatEND_DATE is the current date.

    RECORDS_BACK Synomyn for DAYS_BACK

    Other Tags Any of the User-Specifiable tags may appear as aCONDITION tag, with the exception of NEWS_DATE and

    NEWS_TIME (Use NEWS_DATETIME instead.)

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID Instrument ID. Must appear  CORRECTION_DATETIME Date and time on which the correction

    was made.LAST Last trade price or valueCLOSE Settlement priceTRADE_DATETIME Date and time of the tradeUSAGE_DAY Day of Month (format YYYY-MM-DD)USAGE_HOUR Hour of usage

    NODE_ID Node IDLOCATION Location

  • 8/20/2019 Data Connection API 2.0

    47/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 44

    Default Tags:

    Name

    INSTRUMENT_ID, CORRECTION_DATETIME, LAST, CLOSE,TRADE_DATETIME, USAGE_DAY, USAGE_HOUR, NODE_ID, LOCATION

    Response:

    Type DescriptionString XML structured to contain a response for the request. It will identify each

    available instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    48/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 45

    3.2.9  getDailyISOPriceCorrections

    Returns price corrections for ISO instruments. The user may specify which Tags (a.k.a., fields)they want to have returned, or rely on the default set of Tags.

     Arguments:Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)String requestXML Request XML. The request most contain a single

    conditions clause identifying either a number of calendardays back or a START_DATE and END_DATE.

    Condition Tags:

    Name Description

    INSTRUMENT_ID The instrument id. Must appear  START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, then

    END_DATE must be specified as well. Between the twofields, creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between thetwo fields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with theSTART_DATE/ END_DATE pair, with the proviso thatEND_DATE is the current date.

    RECORDS_BACK Synomyn for DAYS_BACK

    Other Tags Any of the User-Specifiable tags may appear as aCONDITION tag, with the exception of NEWS_DATE andNEWS_TIME (Use NEWS_DATETIME instead.)

    User-Specifiable Tags:Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s) or

    (wildcards)

    CORRECTION_DATETIME Date and time on which the correctionwas made.

    LAST Last trade price or valueCLOSE Settlement price

    TRADE_DATETIME Date and time of the tradeUSAGE_DAY Day of Month (format YYYY-MM-DD)USAGE_HOUR Hour of usageNODE_ID Node IDLOCATION Location

  • 8/20/2019 Data Connection API 2.0

    49/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 46

    Default Tags:

    Name

    INSTRUMENT_ID, CORRECTION_DATETIME, LAST, CLOSE,TRADE_DATETIME, USAGE_DAY, USAGE_HOUR, NODE_ID, LOCATION

    Response:

    Type DescriptionString XML structured to contain a response for the request. It will identify each

    available instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    50/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 47

    3.2.10  getPriceCorrections

    Returns price corrections for normal (non-ISO) instruments. The user may specify which Tags(a.k.a., fields) they want to have returned, or rely on the default set of Tags.

     Arguments:Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)String requestXML Request XML. The request most contain a single

    conditions clause identifying either a number of calendardays back or a START_DATE and END_DATE.

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; insteadappears in (specific instrument_id’s)or (wildcards)

    START_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenEND_DATE must be specified as well. Between the twofields, creates a date-within-range query.

    END_DATE A date in the format, ‘YYYY-MM-DD’. If specified, thenSTART_DATE must be specified as well, Between thetwo fields, creates a date-within-range query.

    DAYS_BACK Expressed as an integer. Synonymous with theSTART_DATE/ END_DATE pair, with the proviso thatEND_DATE is the current date.

    RECORDS_BACK Synomyn for DAYS_BACK

    Other Tags Any of the User-Specifiable tags may appear as aCONDITION tag, with the exception of NEWS_DATE and

    NEWS_TIME (Use NEWS_DATETIME instead.)

    User-Specifiable Tags:

    Name Description

    INSTRUMENT_ID Instrument ID. Must appear  CORRECTION_DATETIME Date and time on which the correction

    was made.ORIGINAL_PRICE Last trade price or valueNEW_PRICE Settlement priceTRADE_DATETIME Date and time of the trade

  • 8/20/2019 Data Connection API 2.0

    51/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 48

    Default Tags:

    Name

    INSTRUMENT_ID, CORRECTION_DATETIME, ORIGINAL_PRICE, NEW_PRICE,TRADE_DATETIME

    Response:

    Type DescriptionString XML structured to contain a response for the request. It will identify each

    available instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    52/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 49

    3.3  Data Quality API Methods

    Data Connection provides functions that allow you to inspect data quality in the Intraday,LiveQuote, Daily, Trades, ISO-Hourly and ISO-Daily data stores. These allow you to check,

    •  Is there a quote available for the given day

    •  Does the quote lie within a certain threshold of previous quotes in the system

    o  Expressible as a fixed amount

    o  Expressible as a percentage

    o  The positive threshold (amount the quote goes up) can be explicitly expressed

    o  The negative threshold (amount the quote goes down) can be explicitly expressed

    o  You can set the sampling size of previous quotes – e.g., read and average thelastmost ‘x’ quotes, then compare that value to the threshold values.

    o  The field being compared in the quote is user-definable. So, you could comparethe CLOSE, LAST, or VOLUME.

    3.3.1 Are{dataSet}PricesAvailable

    Data Connection provides this family of methods (areDailyPricesAvailable, areHourlyISOPricesAvailable, areDailyISOPricesAvailable, areTradePricesAvailable,areLiveQuotePricesAvailable, and areIntradayPricesAvailable,,) to determine if a pricequote has been delivered for the given instrument(s) today. Reasons why quotes may not beavailable vary, but can include issues such as exchange holidays or transmission problems. Ifyou are concerned that you may not have a complete dataset, this family of methods can helpyou track down issues.

    Essentially, these methods run a variant of get{dataSet}Prices methods, documented inSections 3.2.1 – 3.2.6, where there is a clause of DAYS_BACK=”2” set, toprevious two days’ quotes.

    Data Connection determines whether a quote for today is available, and returns thatinformation to you through the tag QUOTE_AVAILABLE. If the quote is available, this tag hasthe value of “AVAILABLE”; else “NOT AVAILABLE”.

    Note that the definition of “today” is a little nebulous: MarketView’s infrastructure stores alldate/times in Greenwich Mean Time, and does not necessarily “know” then the day ends atthe Exchange where the Instrument is quoted from. Therefore, it is up to you to specify theExchange’s timezone (through the TIMEZONE tag.) If no timezone is specified, DataConnection assumes “America/Chicago”.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML. The request should contain a

    clause identifying the TIMEZONE forwhich to run the query.

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; instead

  • 8/20/2019 Data Connection API 2.0

    53/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 50

    appears in (specific instrument_id’s)or (wildcards)

    TIMEZONE Should appear; as all quotes’ date/time fields are storedin Greenwich Mean Time, how does Data Connectiondetermine when (in equivalent GMT,) the day ends at theExchange’s timezone?

    Given that information, Data Connection then looks for thelastmost quote being within the range of 0:00:00 to23:23:59 of todays date for the given timezone.

    If you do not specify timezone, it is assumed to be‘Americas/Chicago’, or ‘GMT-06:00’ (ISO 8601designation for Central Standard Timezone) 

    Default Tags:

    Name

    Whatever the default tags are for the given method, plus INSTRUMENT_ID,TRADE_DATETIME, QUOTE_AVAILABLE

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

    Example XML Request:

    Example XML Response:

  • 8/20/2019 Data Connection API 2.0

    54/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 51

    3.3.2  are{dataSet}PricesInAbsoluteThreshold

    Data Connection provides this family of methods (areDailyPricesInAbsoluteThreshold,areHourlyISOPricesInAbsoluteThreshold, areDailyISOPricesInAbsoluteThreshold ,areTradePricesInAbsoluteThreshold, areLiveQuotePricesInAbsoluteThreshold, and

    areIntradayPricesInAbsoluteThreshold,) to determine if a price quote is within a user-specified threshold. The major difference between this family of methods and thosedocumented in Section 3.3.3 is these methods deal with fixed numbers (e.g., ± a constant);the family of methods in Section 3.3.3 instead deals with changes in the quotes that are ± apercentage.

    For example, you might wish to be notified if the last price of an instrument increases ordecreases by more than $5 of the average last, established by sampling ‘x’ previous pricequotes. These methods allow you to determine that.

    In order to use these methods properly, you first need to indicate which tag you want DataConnection to analyze. This is set with the THRESHOLD_FIELD tag in the CONDITIONS clause; by default, the tag “CLOSE” is inspected. Other reasonable tags might be LAST, or  

    VOLUME. (Obviously, tags analyzed must be numeric)

    Next, you need to set the SAMPLE_SIZE tag in the CONDITIONS clause. Doing soestablishes the number of records Data Connection should look at when establishing what theaverage value of the THRESHOLD_FIELD is. By default, the SAMPLE_SIZE is set to 1(which means, the previous quote in the system is used to establish the average – anaverage, sampling one record.)

    Next you need to set the CHECK_SIZE tag in the CONDITIONS clause. This indicates howmany quotes, following the SAMPLE_SIZE, you would like to analyze for being withinthreshold values. The default value for CHECK_SIZE is 1. (What this means is, if bothSAMPLE_SIZE and CHECK_SIZE are set to 1, the last two quotes are read – the second-to-last to establish the average, the last to analyze for thresholds.)

    The following diagram shows the relationship of SAMPLE_SIZE versus CHECK_SIZE:Sample Size indicates the number of quotes in the system for which you want to system tosample, and establish an average value. Check Size designates the number of quotesimmediately following the Sample Size, which will be tested against thresholds of that averagevalue. Check Size always ends at the lastmost quote in the system, and Sample Size alwaysabuts Check Size.

  • 8/20/2019 Data Connection API 2.0

    55/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 52

    Finally, you must set the thresholds to compare against. You have two ways to do this,

    •  If the range you want to check for is the same amount (e.g., the threshold is ± a value,like ±2), assign THRESHOLD_AMOUNT tag in the CONDITIONS clause.

    •  If you would like individual control of the ceiling the quote can increase by, set the

    POSITIVE_THRESHOLD_AMOUNT tag in the CONDITIONS clause. For the floor,set the NEGATIVE_THRESHOLD_AMOUNT tag. (If you specify positive threshold,you must also specify negative threshold.) Both amounts should be positive.

    Data Connection will run a query for you, adding a tag named THRESHOLD_REPORT, thatreports whether the tag specified is within or outside the specified threshold.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String requestXML Request XML. The request must contain a

    clause with the THRESHOLD_AMOUNT

    or the POSITIVE_THRESHOLD_AMOUNT --NEGATIVE_THRESHOLD_AMOUNT pair (both mustappear)

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; instead appears in (specific instrument_id’s) or (wildcards)

    SAMPLE_SIZE Specifies the number of records to read fromthe datastore to establish the average. Defaults

    to 1.CHECK_SIZE Specifies the number of records to read fromthe datastore to for analysis against theaverage. Defaults to 1.

    THRESHOLD_FIELD The tag in the quote(s) to compare. Defaults toCLOSE; must be a numeric field.

    THRESHOLD_AMOUNT The threshold amount to compare against.Shortcut for specifyingPOSITIVE_THRESHOLD_AMOUNT andNEGATIVE_THRESHOLD_AMOUNT with thesame value.

    POSITIVE_THRESHOLD_AMOUNT The threshold value for positive value changethat the quote value cannot exceed. A positive

    value.NEGATIVE_THRESHOLD_AMOUNT The threshold value for negative value change

    that the quote value cannot exceed. A positivevalue.

    Default Tags:

    Name

    Whatever the default tags are for the given method, plus INSTRUMENT_ID,TRADE_DATETIME, the tag specified by THRESHOLD_FIELD, and

  • 8/20/2019 Data Connection API 2.0

    56/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 53

    Name

    THRESHOLD_REPORT.

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify each

    available instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

    Example XML Request:

    NOT A REAL SAMPLE

    Example XML Response:

  • 8/20/2019 Data Connection API 2.0

    57/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 54

    3.3.3  are{dataSet}PricesInPercentileThreshold

    Data Connection provides this family of methods (areDailyPricesInPercentileThreshold ,areHourlyISOPricesInPercentileThreshold , areDailyISOPricesInPercentileThreshold ,areTradePricesInPercentileThreshold , areLiveQuotePricesInPercentileThreshold , and

    areIntradayPricesInPercentileThreshold,)  to determine if a price quote is within a user-specified threshold. The major difference between this family of methods and thosedocumented in Section 3.3.2 is that the former deals with fixed numbers (e.g., ± a constant);this family of methods instead deals with changes in the quotes that are ± a percentage.

    For example, you might wish to be notified if the last price of an instrument increases ordecreases by more than 5% of the average last, established by sampling ‘x’ previous pricequotes. These methods allow you to determine that.

    In order to use these methods properly, you first need to indicate which tag you want DataConnection to analyze. This is set with the THRESHOLD_FIELD tag in the CONDITIONSclause; by default, the tag “CLOSE” is inspected. Other reasonable tags might be LAST, orVOLUME. (Obviously, tags analyzed must be numeric)

    Next, you need to set the SAMPLE_SIZE tag in the CONDITIONS clause. Doing soestablishes the number of records Data Connection should look at when establishing what theaverage value of the THRESHOLD_FIELD is. By default, the SAMPLE_SIZE is set to 1(which means, the previous quote in the system is used to establish the average – anaverage, sampling one record.)

    Next you need to set the CHECK_SIZE tag in the CONDITIONS clause. This indicates howmany quotes, following the SAMPLE_SIZE, you would like to analyze for being withinthreshold values. The default value for CHECK_SIZE is 1. (What this means is, if bothSAMPLE_SIZE and CHECK_SIZE are set to 1, the last two quotes are read – the second-to-last to establish the average, the last to analyze for thresholds.)

    Finally, you must set the thresholds to compare against. You have two ways to do this,

    •  If the range you want to check for is the same amount (e.g., the threshold is ± a value,like ±2), assign THRESHOLD_AMOUNT tag in the CONDITIONS clause. If youwould like to check against 5%, THRESHOLD_AMOUNT should be set to 5. DataConnection will divide your entries by 100. Which means, fractional amounts in yourarguments are considered to be fractions of a percent.

    •  If you would like individual control of the ceiling the quote can increase by, set thePOSITIVE_THRESHOLD_AMOUNT tag in the CONDITIONS clause. For the floor,set the NEGATIVE_THRESHOLD_AMOUNT tag. (If you specify positive threshold,you must also specify negative threshold.) Both amounts should be positive. If you’d

    like to check against 5%, pass “5” as the argument; Data Connection will divide yourarguments by 100. Which means, fractional amounts in your arguments areconsidered to be fractions of a percent.

  • 8/20/2019 Data Connection API 2.0

    58/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 55

    Data Connection will run a query for you, adding a tag named THRESHOLD_REPORT, thatreports whether the tag specified is within or outside the specified threshold.

     Arguments:

    Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)String requestXML Request XML. The request must contain a

    clause with the THRESHOLD_AMOUNTor the POSITIVE_THRESHOLD_AMOUNT --NEGATIVE_THRESHOLD_AMOUNT pair (both mustappear)

    Condition Tags:

    Name Description

    INSTRUMENT_ID Does not appear in the clause; instead appears in (specific instrument_id’s) or (wildcards)

    SAMPLE_SIZE Specifies the number of records to read fromthe datastore to establish the average. Defaultsto 1.

    CHECK_SIZE Specifies the number of records to read fromthe datastore to for analysis against theaverage. Defaults to 1.

    THRESHOLD_FIELD The tag in the quote(s) to compare. Defaults toCLOSE; must be a numeric field.

    THRESHOLD_AMOUNT The threshold amount to compare against.Shortcut for specifyingPOSITIVE_THRESHOLD_AMOUNT andNEGATIVE_THRESHOLD_AMOUNT with the

    same value. Data Connection will divide yourargument by 100, so if you want 5%, pass “5”.

    POSITIVE_THRESHOLD_AMOUNT The threshold value for positive value changethat the quote value cannot exceed. A positivevalue.

    NEGATIVE_THRESHOLD_AMOUNT The threshold value for negative value changethat the quote value cannot exceed. A positivevalue.

    Default Tags:

    Name

    Whatever the default tags are for the given method, plus INSTRUMENT_ID,TRADE_DATETIME, the tag specified by THRESHOLD_FIELD, and

    THRESHOLD_REPORT.

    Response:

    Type Description

    String XML structured to contain a response for the request. It will identify eachavailable instrument which has price corrections for the period specified. Ifa global error occurs, such as authentication, the API_RESPONSE willonly contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    59/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 56

    Example XML Request:

    NOT A REAL SAMPLE

    Example XML Response:

  • 8/20/2019 Data Connection API 2.0

    60/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 57

    3.4  Data Import Methods

    Data Connection provides data import facilities, that allow you to upload price quotes,corrections and news stories into the GlobalView data servers. This is very useful if you haveinformation that you want to be available on a real-time basis to other members of your

    company through the MarketView system and client application suite.

    In order to take advantage of the powerful data import function, customers will need tocoordinate with GlobalView support in order to design and provision the facilities to meet therequirements for the specific data sets, as well as enetitlements to limit who can see the data.Contact your GlobalView sales person for more information.

    Instrument Prices

    •  importInstrumentPrice

    •  importInstrumentPriceCorrection

    •  importInstrumentMetaData

    News Art icles

    •  importNews

    Data Importation Runtime Monitoring

    •  getImportStatistics

    Data Connection’ Import Data methods require that you provide the name of the application.That value is user-defined, and it allows you to fine-tune the granularity of the runtime statisticswe gather for you. Import Statistics keeps track of the number of success and failures to importdata, broken down by userName and application. If you partition the application name

    passed by the type of data being imported (or the machine doing the importing,) this can helpyou track down Production issues.

    No restrictions are placed on application values you can use, nor do you have to do anythingspecial to register a legal value – merely pass an application to one of the API calls – if it didnot exist beforehand, it will be created.

  • 8/20/2019 Data Connection API 2.0

    61/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 58

    3.4.1  importInstrumentPrice

     Allows the user to import a price for an instrument. This price is inserted into two data stores:LiveQuote and Trade/Historical. For the Trade/Historical data store, we use the tradedatetime and the close  tags. For LiveQuote we use the trade datetime, open, high, low,

    volume, open interest and last tags. (Last and close tags would contain the same value.)

    Data Connection allows one price quote to be published per method invocation.

     Arguments:

    Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)String Application User-defined name of the importing application process.String requestXML Request XML.

    Required Tags:

    Name Description

    INSTRUMENT_ID Identifier for the given instrument.

    EXCHANGE_CODE Exchange identifier for the instrument.TRADE_DATETIME Date/Time of the price quoteCLOSE Price communicated to the Trade/Historical data storeLAST Price communicated to the LiveQuote data store

    Optional Tags:

    Name Description

    HIGH Session’s High priceLOW Session’s Low priceOPEN Session’s opening priceVOLUME VolumeOPEN_INTEREST Open Interest

    Response:

    Type Description

    String XML structured to contain a response for the request. API_RESPONSEwill only contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    62/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 59

    Example XML Request:

    Example XML Response:

  • 8/20/2019 Data Connection API 2.0

    63/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 60

    3.4.2  importInstrumentPriceCorrection

     Allows the user to import a price correction. The corrections will be propaged to the LiveQuoteand Trade/Historical data stores, and the date the correction was issued will be stored in theCorrection data store. The Correction data store has the dates corrections were issued per

    trade date, but is unaware of what data field has been corrected.

    Data Connection allows one price correction to be published per method invocation.

     Arguments:

    Type Name Description

    String User API user identifier

    String userPassword API user password (case-sensitive)String Application User-defined name of the importing application process.String requestXML Request XML.

    Required Tags:

    Name Description

    INSTRUMENT_ID Identifier for the given symbol.

    EXCHANGE_CODE Exchange identifier for the symbol.CORRECTION_DATETIME Date/Time of the price correctionTRADE_DATETIME Date/Time of the price quoteCLOSE Price communicated to the Trade/Historical data storeLAST Price communicated to the LiveQuote data store

    Optional Tags:

    Name Description

    HIGH Session’s High priceLOW Session’s Low priceOPEN Session’s opening price

    VOLUME VolumeOPEN_INTEREST Open Interest

    Response:

    Type Description

    String XML structured to contain a response for the request. API_RESPONSEwill only contain an error code and error description.

  • 8/20/2019 Data Connection API 2.0

    64/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 61

    Example XML Request:

    Example XML Response:

  • 8/20/2019 Data Connection API 2.0

    65/69

    Data Connnection API 2.0

    © GVSI 2005-2007, Proprietary and Confidential Page 62

    3.4.3  importInstrumentMetaData

     Allows the user to import metadata concerning a given instrument. Instrument metadataincludes fields such as description, currency, lot units, etc., and these are values that generallydo not change.

    Data Connection allows one instrument’s metadata to be published per method invocation.

     Arguments:

    Type Name Description

    String User API user identifierString userPassword API user password (case-sensitive)String Application User-defined name of the importing application process.String requestXML Request XML.

    Required Tags:

    Name Description

    INSTRUMENT_ID Identifier for the given symbol.EXCHANGE_CODE Exchange identifier for the symbol.

    Optional Tags:

    Name Description

    SYMBOL_DESCRIPTION Symbol descriptionCURRENCY CurrencyLOT_UNITS Lot Units. E.g., gallons,barrows, etc.MARKET Market (used in symbol search)REGION Region (used in symbol search)LOCATION Location (used in symbol search)CONVERSION_FACTOR Lot unit conversion factorEXPIRATION_DATE Expiration Date

    Response: