{"ScriptPreparationCode":null,"TestCases":[{"Name":"Dom Parser","Code":"const html = \u0060\r\n\u003Chtml\u003E\r\n\r\n\u003Chead\u003E\r\n\u003C!--\u003Cmeta HTTP-EQUIV=\u0022Content-Type\u0022 CONTENT=\u0022text/html; charset=ISO-8859-1\u0022\u003E --\u003E\r\n\r\n\u003Ctitle\u003ELarge HTML page with images\u003C/title\u003E\r\n\r\n\u003C!-- The following link block and style block present methods how to load external CSS documents.\r\n The link tag forces an immediate download of the CSS document whereas the import clause in\r\n the style block has the document downloaded some random time later. --\u003E\r\n\r\n\u003Clink href=\u0022htmlparser/sections.css\u0022 rel=\u0022stylesheet\u0022 type=\u0022text/css\u0022\u003E\r\n\r\n\r\n\u003C!--\r\n\u003Cstyle type=\u0022text/css\u0022\u003E\r\n@import url(htmlparser/sections.css);\r\n\u003C/style\u003E \r\n--\u003E\r\n\r\n\u003C/head\u003E\r\n\r\n\u003Cbody\u003E\r\n\u003Cdiv align=\u0022center\u0022\u003E\u003Ccenter\u003E\r\n\u003Ch1 class=\u0022fore\u0022\u003EWhen to load CSS\u003C/h1\u003E\r\n\r\n\u003Ctable border=\u00220\u0022 cellspacing=\u00225\u0022 width=\u0022100%\u0022 bgcolor=\u0022#F2F2FF\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd\u003E\u003Cp align=\u0022left\u0022\u003E\u003Cfont color=\u0022#000080\u0022 size=\u00225\u0022 face=\u0022Tahoma\u0022\u003E\u003Cstrong\u003ELarge HTML page\r\n with Images\u003C/strong\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\u003C/center\u003E\u003C/div\u003E\r\n\r\n\u003Chr\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Csmall\u003E\u003Cfont face=\u0022Verdana\u0022\u003EThis page shall test if the recorder generates\r\nscripts with requests in correct order. It includes images in sequential order: stadyn_image1.gif\r\nthrough stadyn_image10.gif\u003C/font\u003E\u003C/small\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\r\n\u003Chr\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image1.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image1.gif (6512 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image1\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image2.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image2.gif (5983 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image2\u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00226\u0022\u003EOpen Financial Exchange\u003Cbr\u003E\r\nSpecification 1.0\u003C/font\u003E\u003C/b\u003E \u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003EFebruary 14, 1997\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u00A9 1997 CheckFree Corp., Intuit Inc., Microsoft Corp.\r\nAll rights reserved\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Ci\u003E\u003Cb\u003E\u003Cfont SIZE=\u00225\u0022\u003EChapters 1 - 10\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/b\u003E\u003C/i\u003E\u003C/p\u003E\r\n\r\n\u003Ch1\u003E\u003Cimg src=\u0022stadyn_image3.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image3.gif (6537 bytes)\u0022\u003E\u003Cbr\u003E\r\n\u003Cfont SIZE=\u00225\u0022\u003Estadyn_image3\u003C/font\u003E\u003C/h1\u003E\r\n\r\n\u003Ch1\u003E\u003Cimg src=\u0022stadyn_image4.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image4.gif (6028 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image4\u003C/h1\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image5.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image5.gif (4068 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image5\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\r\n\u003Ch1\u003E\u003Ca NAME=\u0022_Toc371408167\u0022\u003E\u003Cfont SIZE=\u00225\u0022\u003EContents\u003C/font\u003E\u003C/a\u003E\u003C/h1\u003E\r\n\r\n\u003Cp\u003E1. Overview 51.1 Introduction 51.1.1 Design Principles 51.2 Open Financial Exchange at\r\na Glance 71.2.1 Data Transport 71.2.2 Request and Response Model 81.3 Conventions 92.\r\nStructure 102.1 HTTP Headers 102.2 Open Financial Exchange Headers 112.2.1 The Meaning of\r\nVersion Numbers 122.3 SGML Details 122.3.1 Compliance 122.3.2 Special Characters 122.4\r\nOpen Financial Exchange SGML Structure 132.4.1 Overview 132.4.2 Top Level 132.4.3 Messages\r\n132.4.4 Message Sets and Version Control 142.4.5 Transactions 152.5 The Signon Message Set\r\n162.5.1 Signon \u0026lt;SONRQ\u0026gt; \u0026lt;SONRS\u0026gt; 162.5.2 PIN Change \u0026lt;PINCHRQ\u0026gt;\r\n\u0026lt;PINCHRS\u0026gt; 192.5.3 Examples 202.6 External Data Support 202.7 Extensions to Open\r\nFinancial Exchange 213. Common Aggregates, Elements, and Data Types 223.1 Common\r\nAggregates 223.1.1 Identifying Financial Institutions and Accounts 223.1.2 Balance Records\r\n\u0026lt;BAL\u0026gt; 223.1.3 Error Reporting \u0026lt;STATUS\u0026gt; 233.2 Common Elements 243.2.1 Financial\r\nInstitution Transaction ID \u0026lt;FITID\u0026gt; 243.2.2 Server-Assigned ID \u0026lt;SRVRTID\u0026gt;\r\n243.2.3 Client-Assigned Transaction UID \u0026lt;TRNUID\u0026gt; 253.2.4 Token \u0026lt;TOKEN\u0026gt; 253.2.5\r\nTransaction Amount \u0026lt;TRNAMT\u0026gt; 253.2.6 Memo \u0026lt;MEMO\u0026gt; 253.2.7 Date Start and Date\r\nEnd \u0026lt;DTSTART\u0026gt; \u0026lt;DTEND\u0026gt; 263.3 Common data types 263.3.1 Dates and Times 263.3.2\r\nAmounts, Prices, and Quantities 283.3.3 Language 283.3.4 Basic data types 284. Security\r\n294.1 Security Solutions 294.1.1 Determining Security Levels \u0026lt;OFXSEC\u0026gt;\r\n\u0026lt;TRANSPSEC\u0026gt; 294.2 Channel-Level Security 304.2.1 Security Requirements 304.2.2 Using\r\nSSL 3.0 in Open Financial Exchange 304.3 Application-Level Security 314.3.1 Requirements\r\nfor Application-Layer Security 314.3.2 Using Application-level Encryption in Open\r\nFinancial Exchange 325. International Support 335.1 Language and Encoding 335.2 Currency\r\n\u0026lt;CURDEF\u0026gt; \u0026lt;CURRENCY\u0026gt; \u0026lt;ORIGCURRENCY\u0026gt; 335.3 Country-Specific Tag Values\r\n346. Data Synchronization 356.1 Overview 356.2 Background 356.3 Data Synchronization\r\nApproach 366.4 Data Synchronization Specifics 376.5 Conflict Detection and Resolution\r\n396.6 Synchronization vs. Refresh 406.7 Typical Server Architecture for Synchronization\r\n416.8 Typical Client Processing of Synchronization Results 436.9 Simultaneous Connections\r\n446.10 Synchronization Alternatives 446.10.1 Lite Synchronization 446.10.2 Relating\r\nSynchronization and Error Recovery 456.11 Examples 467. FI Profile 487.1 Overview 487.1.1\r\nMessage Sets 487.1.2 Version Control 497.1.3 Batching and Routing 497.2 Profile Request\r\n507.3 Profile Response 517.3.1 Message Set 527.3.2 Signon Realms 537.3.3 Status Codes\r\n537.4 Profile Message Set Profile Information 548. Activation \u0026amp; Account Information\r\n558.1 Overview 558.2 Approaches to User Sign-Up with Open Financial Exchange 558.3 Users\r\nand Accounts 568.4 Enrollment and Password Acquisition \u0026lt;ENROLLRQ\u0026gt; \u0026lt;ENROLLRS\u0026gt;\r\n568.4.1 User IDs 578.4.2 Enrollment Request 578.4.3 Enrollment Response 598.4.4 Enrollment\r\nStatus Codes 598.4.5 Examples 608.5 Account Information 608.5.1 Request \u0026lt;ACCTINFORQ\u0026gt;\r\n618.5.2 Response \u0026lt;ACCTINFORS\u0026gt; 618.5.3 Account Information Aggregate \u0026lt;ACCTINFO\u0026gt;\r\n628.5.4 Status Codes 628.5.5 Examples 638.6 Service Activation 638.6.1 Activation Request\r\nand Response 648.6.2 Service Activation Synchronization 668.6.3 Examples 668.7 Name and\r\nAddress Changes \u0026lt;CHGUSERINFORQ\u0026gt; \u0026lt;CHGUSERINFORS\u0026gt; 678.7.1 \u0026lt;CHGUSERINFORQ\u0026gt;\r\n678.7.2 \u0026lt;CHGUSERINFORS\u0026gt; 688.7.3 Status Codes 688.8 Signup Message Set Profile\r\nInformation 699. Customer to FI Communication 709.1 The E-Mail Message Set 709.2 E-Mail\r\nMessages 709.2.1 Regular vs. Specialized E-Mail 719.2.2 Basic \u0026lt;MAIL\u0026gt; Aggregate\r\n719.2.3 E-Mail \u0026lt;MAILRQ\u0026gt; \u0026lt;MAILRS\u0026gt; 719.2.4 E-Mail Synchronization\r\n\u0026lt;MAILSYNCRQ\u0026gt; \u0026lt;MAILSYNCRS\u0026gt; 729.2.5 Example 739.3 Get HTML Page 749.3.1 MIME Get\r\nRequest and Response \u0026lt;GETMIMERQ\u0026gt; \u0026lt;GETMIMERS\u0026gt; 749.3.2 Example 759.4 E-Mail\r\nMessage Set Profile Information 7610. Recurring Transactions 7710.1 Creating a Recurring\r\nModel 7710.2 Recurring Instructions \u0026lt;RECURRINST\u0026gt; 7710.2.1 Values for \u0026lt;FREQ\u0026gt;\r\n7810.2.2 Examples 7910.3 Retrieving Transactions Generated by a Recurring Model 8010.4\r\nModifying and Canceling Individual Transactions 8010.5 Modifying and Canceling Recurring\r\nModels 8010.5.1 Examples 81 \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493239\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493240\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EIntroduction\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange is a broad-based framework for exchanging\r\nfinancial data and instructions between customers and their financial institutions. It\r\nallows institutions to connect directly to their customers without requiring an\r\nintermediary. \u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange is an open specification that anyone can\r\nimplement: any financial institution, transaction processor, software developer or other\r\nparty. It uses widely accepted open standards for data formatting (such as SGML),\r\nconnectivity (such as TCP/IP and HTTP), and security (such as SSL).\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange defines the request and response messages used\r\nby each financial service as well as the common framework and infrastructure to support\r\nthe communication of those messages. This specification does not describe any specific\r\nproduct implementation.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493241\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EDesign Principles\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following principles were used in designing Open Financial Exchange:\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003E\u003Cb\u003EBroad\u003C/b\u003E \u003Cb\u003ERange of Financial Activities\u003C/b\u003E\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E -\r\nOpen Financial Exchange provides support for a \u003Ci\u003E\u003Cb\u003Ebroad\u003C/b\u003E\u003C/i\u003E range of financial\r\nactivities. Open Financial Exchange 1.0 specifies the following services:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Bank statement download\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Credit card statement download\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Funds transfers including\r\nrecurring transfers\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Consumer payments, including\r\nrecurring payments\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Business payments, including\r\nrecurring payments\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Brokerage and mutual fund\r\nstatement download, including transaction history, current holdings and balances\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003E\u003Cb\u003EBroad\u003C/b\u003E \u003Cb\u003ERange of Financial Institutions\u003C/b\u003E\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E -\r\nOpen Financial Exchange supports communication with a \u003Ci\u003E\u003Cb\u003Ebroad\u003C/b\u003E\u003C/i\u003E range of\r\nfinancial institutions (FIs), including:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Banks\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Brokerage houses\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Merchants\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Processors\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Financial advisors\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Government agencies\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003E\u003Cb\u003EBroad\u003C/b\u003E \u003Cb\u003ERange of Front-End applications\u003C/b\u003E\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E -\r\nOpen Financial Exchange supports a \u003Ci\u003E\u003Cb\u003Ebroad \u003C/b\u003E\u003C/i\u003Erange of front-end applications\r\ncovering all types of financial activities running on all types of platforms, including\r\nWeb-based applications.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EExtensible\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange has been\r\ndesigned to allow the easy addition of new services. Future versions will include support\r\nfor many new services.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EOpen\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - This specification is publicly available.\r\nYou can build client and server applications using the Open Financial Exchange protocols\r\nindependent of any specific technology, product, or company.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EMultiple Client Support\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange\r\nallows a user to use multiple client applications to access the same data at a financial\r\ninstitution. With the popularity of the World Wide Web, customers are increasingly more\r\nlikely to use multiple applications-either desktop-based or Web-based-to perform financial\r\nactivities. For example, a customer can track personal finances at home with a desktop\r\napplication and occasionally pay bills while at work with a Web-based application. The use\r\nof data synchronization to support multiple clients is a key innovation in Open Financial\r\nExchange.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003ERobust\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange will be used for\r\nexecuting important financial transactions and for communicating important financial\r\ninformation. Assuring users that transactions are executed and information is correct is\r\ncrucial. Open Financial Exchange provides robust protocols for error recovery.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003ESecure\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange provides a\r\nframework for building secure online financial services. In Open Financial Exchange,\r\nsecurity encompasses authentication of the parties involved, as well as secrecy and\r\nintegrity of the information being exchanged.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EBatch \u0026amp; Interactive\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - The design of request and\r\nresponse messages in Open Financial Exchange is for use in either batch or interactive\r\nstyle of communication. Open Financial Exchange provides for applying a single\r\nauthentication context to multiple requests in order to reduce the overhead of user\r\nauthentication.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EInternational\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ESupport\u003C/font\u003E\u003C/b\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E - Open Financial Exchange is designed to supply financial services throughout\r\nthe world. It supports multiple currencies, country-specific extensions, and different\r\nforms of encoding such as UNICODE.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EPlatform Independent\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E -Open Financial Exchange can\r\nbe implemented on a wide variety of front-end client devices, including those running\r\nWindows 3.1, Windows 95, Windows NT, Macintosh, or UNIX. It also supports a wide variety\r\nof Web-based environments, including those using HTML, Java, JavaScript, or ActiveX.\r\nSimilarly on the back-end, Open Financial Exchange can be implemented on a wide variety of\r\nserver systems, including those running UNIX, Windows NT, or OS/2.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003ETransport Independent\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange is\r\nindependent of the data communication protocol used to transport the messages between the\r\nclient and server computers. Open Financial Exchange 1.0 will use HTTP.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493242\u0022\u003EOpen Financial Exchange \u003C/a\u003Eat a\r\n Glance\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe design of Open Financial Exchange is as a client and server system.\r\nAn end-user uses a client application to communicate with a server at a financial\r\ninstitution. The form of communication is requests from the client to the server and\r\nresponses from the server back to the client.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses the Internet Protocol (IP) suite to provide\r\nthe communication channel between a client and a server. IP protocols are the foundation\r\nof the public Internet and a private network can also use them.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493243\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EData Transport\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use the HyperText Transport Protocol (HTTP) to communicate to an\r\nOpen Financial Exchange server. The World Wide Web throughout uses the same HTTP protocol.\r\nIn principle, a financial institution can use any off-the-shelf web server to implement\r\nits support for Open Financial Exchange.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo communicate by means of Open Financial Exchange over the Internet,\r\nthe client must establish an Internet connection. This connection can be a dial-up\r\nPoint-to-Point Protocol (PPP) connection to an Internet Service Provider (ISP) or a\r\nconnection over a local area network that has a gateway to the Internet.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use the HTTP POST command to send a request to the previously\r\nacquired Uniform Resource Locator (URL) for the desired financial institution. The URL\r\npresumably identifies a Common Gateway Interface (CGI) or other process on an FI server\r\nthat can accept Open Financial Exchange requests and produce a response.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe POST identifies the data as being of type application/x-ofx. Use\r\napplication/x-ofx as the return type as well. Fill in other fields per the HTTP 1.0 spec.\r\nHere is a typical request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EPOST http://www.fi.com/ofx.cgi HTTP/1.0\r\nUser-Agent:MyApp 5.0\r\nContent-Type: application/x-ofx\r\nContent-Length: 1032\r\n\r\nOFXHEADER:100\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EDATA:OFXSGML\r\nVERSION:100\r\nSECURITY:1\r\nENCODING:USASCII\r\n\r\n\u0026lt;OFX\u0026gt;\r\n... Open Financial Exchange requests ...\r\n\u0026lt;/OFX\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA blank line defines the separation between the HTTP headers and the\r\nstart of the actual Open Financial Exchange data. A blank line also separates the Open\r\nFinancial Exchange headers and the actual response. (See Chapter 2, for more information.)\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe structure of a response is similar to the request, with the first\r\nline containing the standard HTTP result, as shown next. The content length is given in\r\nbytes.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EHTTP 1.0 200 OK\r\nContent-Type: application/x-ofx\r\nContent-Length: 8732\r\n\r\nOFXHEADER:100\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EDATA:OFXSGML\r\nVERSION:100\r\nSECURITY:1\r\nENCODING:USASCII\r\n\r\n\u0026lt;OFX\u0026gt;\r\n... Open Financial Exchange responses ...\r\n\u0026lt;/OFX\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493244\u0022\u003ERequest and Response\u003C/a\u003E Model\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe basis for Open Financial Exchange is the request and response model.\r\nOne or more requests can be batched in a single file. This file typically includes a\r\nsignon request and one or more service-specific requests. An FI server will process all of\r\nthe requests and return a single response file. This batch model lends itself to Internet\r\ntransport as well as other off-line transports. Both requests and responses are plain text\r\nfiles, formatted using a grammar based on Standard Generalized Markup Language (SGML).\r\nOpen Financial Exchange is syntactically similar to HyperText Markup Language (HTML),\r\nfeaturing tags to identify and delimit the data. The use of a tagged data format allows\r\nOpen Financial Exchange to evolve over time while continuing to support older clients and\r\nservers.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EHere is a simplified example of an Open Financial Exchange request file.\r\n(This example does not show the Open Financial Exchange headers and the indentation is\r\nonly for readability.) For complete details, see the more complete examples throughout\r\nthis specification.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u0026lt;OFX\u0026gt; \u0026lt;!-- Begin request data --\u0026gt; \u0026lt;SIGNONMSGSRQV1\u0026gt; \u0026lt;SONRQ\u0026gt;\r\n\u0026lt;!-- Begin signon --\u0026gt; \u0026lt;DTCLIENT\u0026gt;19961029101000 \u0026lt;!-- Oct. 29, 1996, 10:10:00\r\nam --\u0026gt; \u0026lt;USERID\u0026gt;123-45-6789 \u0026lt;!-- User ID (that is, SSN) --\u0026gt;\r\n\u0026lt;USERPASS\u0026gt;MyPassword \u0026lt;!-- Password (SSL encrypts whole) --\u0026gt;\r\n\u0026lt;LANGUAGE\u0026gt;ENG \u0026lt;!-- Language used for text --\u0026gt; \u0026lt;FI\u0026gt; \u0026lt;!-- ID of\r\nreceiving institution --\u0026gt; \u0026lt;ORG\u0026gt;NCH \u0026lt;!-- Name of ID owner --\u0026gt;\r\n\u0026lt;FID\u0026gt;1001 \u0026lt;!-- Actual ID --\u0026gt; \u0026lt;/FI\u0026gt; \u0026lt;APPID\u0026gt;MyApp \u0026lt;APPVER\u0026gt;0500\r\n\u0026lt;/SONRQ\u0026gt; \u0026lt;!-- End of signon --\u0026gt; \u0026lt;/SIGNONMSGSRQV1\u0026gt; \u0026lt;BANKMSGSRQV1\u0026gt;\r\n\u0026lt;STMTTRNRQ\u0026gt; \u0026lt;!-- First request in file --\u0026gt; \u0026lt;TRNUID\u0026gt;1001 \u0026lt;STMTRQ\u0026gt;\r\n\u0026lt;!-- Begin statement request --\u0026gt; \u0026lt;BANKACCTFROM\u0026gt; \u0026lt;!-- Identify the account\r\n--\u0026gt; \u0026lt;BANKID\u0026gt;121099999 \u0026lt;!-- Routing transit or other FI ID --\u0026gt;\r\n\u0026lt;ACCTID\u0026gt;999988 \u0026lt;!-- Account number --\u0026gt; \u0026lt;ACCTTYPE\u0026gt;CHECKING \u0026lt;!--\r\nAccount type --\u0026gt; \u0026lt;/BANKACCTFROM\u0026gt; \u0026lt;!-- End of account ID --\u0026gt; \u0026lt;INCTRAN\u0026gt;\r\n\u0026lt;!-- Begin include transaction --\u0026gt; \u0026lt;INCLUDE\u0026gt;Y \u0026lt;!-- Include transactions\r\n--\u0026gt; \u0026lt;/INCTRAN\u0026gt; \u0026lt;!-- End of include transaction --\u0026gt; \u0026lt;/STMTRQ\u0026gt; \u0026lt;!--\r\nEnd of statement request --\u0026gt; \u0026lt;/STMTTRNRQ\u0026gt; \u0026lt;!-- End of first request --\u0026gt;\r\n\u0026lt;/BANKMSGSRQV1\u0026gt;\u0026lt;/OFX\u0026gt; \u0026lt;!-- End of request data --\u0026gt;\u003Cfont SIZE=\u00222\u0022\u003EThe\r\nresponse format follows a similar structure. Although a response such as a statement\r\nresponse contains all of the details of each transaction, each element is identified using\r\ntags.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe key rule of Open Financial Exchange syntax is that each tag is\r\neither an element or an aggregate. Data follows its element tag. An aggregate tag begins a\r\ncompound tag sequence, which must end with a matching tag; for example, \u0026lt;AGGREGATE\u0026gt;\r\n... \u0026lt;/AGGREGATE\u0026gt;. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe actual file Open Financial Exchange sends is without any extra white\r\nspace between tags.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493245\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EConventions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe conventions used in the detailed descriptions include: \u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tags are in \u003Cb\u003Ebold\u003C/b\u003E. Regular face indicates tags that are\r\n optional. Required means that a client will always include a tag in a request, and a\r\n server must always include a tag in a response.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EItalic \u003C/i\u003Eshows a required or optional aggregate from a set of\r\n possible aggregates. \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tags occur once unless noted as one or more in the description,\r\n in which case the specification allows multiple occurrences. \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EOptional tags occur once if present unless noted as zero or more in the\r\n description, in which case the specification allows multiple occurrences.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EAllowable specific values are listed, where applicable.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EA-\u003Ci\u003En\u003C/i\u003E or N-\u003Ci\u003En\u003C/i\u003E, specify those values that take general\r\n alphanumeric or pure numeric type values, where \u003Ci\u003En\u003C/i\u003E indicates the maximum size. \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EReferences to certain common value types, such as a dollar amount, are by\r\n name. Chapter 3 lists value types that can be referenced by name.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REQUIREDTAG\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tag (1 or more)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REQUIREDTAG2\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tag that occurs only once \u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;OPTIONALTAG\u0026gt; \u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOptional tag; this particular one can occur multiple times\r\n (0 or more) \u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SPECIFIC\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EValues are A, B, and C\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ALPHAVALUE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETakes an alphanumeric value up to 32 characters,\u003Ci\u003E A-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493246\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EStructure\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis chapter describes the basic structure of an Open Financial Exchange\r\nrequest and response. Structure includes headers, basic syntax, and the Signon request and\r\nresponse. This chapter also describes how Open Financial Exchange encodes external data,\r\nsuch as bit maps.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange data consists of some headers plus one or more\r\nOpen Financial Exchange data blocks. Each block consists of a signon message and zero or\r\nmore additional messages. When sent over the internet using HTTP, standard HTTP and\r\nmulti-part MIME headers and formats surround the Open Financial Exchange data. A simple\r\nfile that contained only Open Financial Exchange data would have the following form:\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EHTTP headers\r\nMIME type application/x-ofx\r\nOpen Financial Exchange headers\r\nOpen Financial Exchange SGML block 1\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA more complex file that contained multiple Open Financial Exchange data\r\nblocks and additional Open Financial Exchange data would have this form:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EHTTP headers\r\nMIME type multipart/x-mixed-replace; boundary =--boundary-\r\n---boundary---\r\nMIME type application/x-ofx\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E\tOpen Financial Exchange headers\r\n\tOpen Financial Exchange SGML block 1\r\n\tOpen Financial Exchange SGML block 2\r\n---boundary---\r\n\tMIME type image/jpeg\r\n\t\tFI logo\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493247\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EHTTP Headers\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EData delivered by way of HTTP places the standard HTTP result code on\r\nthe first line. HTTP defines a number of status codes. Servers can return any standard\r\nHTTP result. However, FIs should expect clients to collapse these codes into the following\r\nthree cases:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002284\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002296\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022312\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EAction\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E200\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOK\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe request was processed and a valid Open Financial\r\n Exchange result is returned.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E400s\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBad request\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe request was invalid and was not processed. Clients will\r\n report an internal error to the user.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E500s\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EServer error\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server is unavailable. Clients should advise the user\r\n to retry shortly.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange returns a code 400 only if it cannot parse the\r\nfile. Open Financial Exchange handles content errors such as wrong PIN, or invalid\r\naccount, by returning a valid Open Financial Exchange response along with code 200.\u003C/i\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003EOpen Financial Exchange requires the following HTTP standard headers: \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002284\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002296\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022312\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EExplanation\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EContent-type\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003Eapplication/x-ofx\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe MIME type for Open Financial Exchange\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EContent-length\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003Elength\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELength of the data after removing HTTP headers\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cpre\u003E\r\n\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen responding with multi-part MIME, the main type will be\r\nmulti-part/x-mixed-replace; \u003Cbr\u003E\r\none of the parts will use application/x-ofx.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493248\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOpen Financial Exchange Headers\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe intent of Open Financial Exchange is for use with a variety of\r\ntransports and to provide sufficient version control capabilities for future expansion. To\r\nsupport this goal, the contents of an Open Financial Exchange file consist of a simple set\r\nof headers followed by contents defined by that header. \u0026quot;File format\u0026quot; means the\r\nentire content after removal of any transport headers. The HTTP transport described in\r\nthis document, means without the HTTP and MIME headers.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Open Financial Exchange headers are in a simple \u003Ci\u003Etag:value\u003C/i\u003E\r\nsyntax and terminated by a blank line. Open Financial Exchange always sends headers\r\nunencrypted, even if there is application-level encryption in use for the remaining\r\ncontents. The first entry will always be OFXHEADER with a version number. This entry will\r\nhelp identify the contents as an Open Financial Exchange file, and provides the version of\r\nthe Open Financial Exchange headers that follow (not of the content itself). For example:\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EOFXHEADER:100\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis document defines version 1.0 of the headers to contain at least the\r\nfollowing additional tags:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EDATA:OFXSGML\r\nVERSION:100\r\nSECURITY: \r\nENCODING:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003ECHARSET:\r\nCOMPRESSION:\r\nOLDFILEUID:\r\nNEWFILEUID:\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe data tag identifies the contents as being in OFX SGML form. VERSION\r\nidentifies the version type as OFXSGML data. In the case of OFXSGML, it translates to the\r\nversion of the Document Type Definition (DTD) that it uses for parsing. The ENCODING and\r\nCHARSET tags define the interpretation of the character data. See Chapter 5,\r\n\u0026quot;International Support\u0026quot; for more information on these tags. Chapter 4 describes\r\nthe security tag. A future version of this specification will define compression.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses OLDFILEUID and NEWFILEUID to support error\r\nrecovery. They are not present when clients are not requesting error recovery. (See\r\nChapter 6, \u0026quot;Data Synchronization\u0026quot;)\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA blank line follows the last tag. Then (for type OFXSGML), the\r\nSGML-readable data begins with the \u0026lt;OFX\u0026gt; tag.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Here, VERSION provides the overall version of the DTD.\r\nThe \u0026lt;OFX\u0026gt; block describes the specific message set versions used, shown later in\r\nthis chapter.\u003C/i\u003E\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493249\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EThe Meaning of Version Numbers\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe OFXHEADER value should only change its major number if an existing\r\nclient is unable to process the new header. This can occur because of a complete syntax\r\nchange in a header, or a significant change in the semantics of an existing tag-not the\r\nentire response. You can add new tags as long as clients can function without\r\nunderstanding them.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EYou should add new values for a data tag only when you introduce an\r\nentirely new syntax. In the case of OFXSGML, a new syntax would have to be non-SGML\r\ncompliant to warrant a new data value. It is possible that there will be more than one\r\nsyntax in use at the same time to meet different needs.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe intent of the header version tag is to identify syntactic changes.\r\nIn the case of OFXSGML, this corresponds to the DTD. Purely for identification purposes,\r\neach change will increment the minor number of the version tag. If you introduce an\r\nincompatible change so that an older DTD can not parse the file, the major number will\r\nchange. See the general discussion of message sets and version control, later in this\r\nchapter.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493250\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESGML Details\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493251\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ECompliance\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESGML is the basis for Open Financial Exchange. There is a DTD that\r\nformally defines the SGML wire format. However, Open Financial Exchange is not completely\r\nSGML-\u003Ci\u003Ecompliant\u003C/i\u003E because the specification allows unrecognized tags to be present. It\r\nrequires clients and servers to skip over the unrecognized material. That is, if\r\n\u0026lt;XYZ\u0026gt;qqq\u0026lt;/XYZ\u0026gt; appeared and a client or server cannot recognize \u0026lt;XYZ\u0026gt;,\r\nthe server should ignore that tag and its enclosed data. A fully-compliant SGML parser\r\nwould not \u003Ci\u003Evalidate\u003C/i\u003E an Open Financial Exchange document if it contained any tags\r\nthat the DTD does not define.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAlthough SGML is the basis for the specification, and the specification\r\nis largely compliant with SGML, do not assume Open Financial Exchange supports any SGML\r\nfeatures not documented in this specification. The intent is to allow parsing to be as\r\nsimple as possible, while retaining compatibility with the SGML world.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493252\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ESpecial Characters\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following characters are special to SGML. Use the given alternative\r\nsequence to represent them:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECharacter\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EEscape sequence\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt; (less than)\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026amp;lt;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026gt; (greater than)\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026amp;gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026amp; (ampersand)\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026amp;amp;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EFor example, the string \u0026quot;AT\u0026amp;amp;T\u0026quot; encodes \u0026quot;AT\u0026amp;T.\u0026quot; \u003C/p\u003E\r\n\r\n\u003Cp\u003EA special case applies in specific tags that can accept HTML-formatted strings, such as\r\ne-mail records. These accept SGML marked section syntax to hide the HTML from the Open\r\nFinancial Exchange parser. You must prefix strings with \u0026quot;\u0026lt;![ CDATA [\u0026quot;and\r\nsuffixed with\u0026quot;]]\u0026gt;.\u0026quot; Within these bounds, treat the above characters literally\r\nwithout an escape. See the Chapter 9 for an example. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493253\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOpen Financial Exchange SGML\r\n Structure\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493254\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange hierarchically organizes request and response\r\nblocks:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETop Level \u0026lt;OFX\u0026gt;\u003Cbr\u003E\r\nMessage Set and Version \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSVn\u0026gt;\u003Cbr\u003E\r\nSynchronization Wrappers \u0026lt;YYYSYNCRQ\u0026gt;, \u0026lt;YYYSYNCRS\u0026gt; \u003Cbr\u003E\r\nTransaction Wrappers \u0026lt;YYYTRNRQ\u0026gt;, \u0026lt;YYYTRNRS\u0026gt;\u003Cbr\u003E\r\nSpecific requests and responses\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following sections describe each of these levels.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493255\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ETop Level\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn Open Financial Exchange request or response has the following\r\ntop-level form:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003EOFX\u003C/b\u003E\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E... Open Financial Exchange requests or responses ...\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E0 or more transaction requests and responses inside\r\n appropriate message set aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003EOFX\u003C/b\u003E\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClosing tag for the Open Financial Exchange record\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThis chapter specifies the order of requests and responses. \u003C/p\u003E\r\n\r\n\u003Cp\u003EA single file can contain multiple \u0026lt;OFX\u0026gt; ... \u0026lt;/OFX\u0026gt; blocks. A typical use\r\nof multiple blocks is to request in a single file information associated with different\r\nusers. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493256\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMessages\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA message is the unit of work in Open Financial Exchange. It refers to a\r\nrequest and response pair, and the status codes associated with that response. For\r\nexample, the message to download a bank statement consists of the request \u0026lt;STMTRQ\u0026gt;\r\nand the response \u0026lt;STMTRS\u0026gt;. In addition, with the exception of the signon message,\r\neach message includes a \u003Ci\u003Etransaction wrapper\u003C/i\u003E. These aggregates add a transaction\r\nunique ID \u0026lt;TRNUID\u0026gt;, and for responses, a \u0026lt;STATUS\u0026gt; aggregate, to the basic\r\nrequest and response. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor messages subject to synchronization (see Chapter 6), a third layer\r\nof aggregates is also part of a message definition: a synchronization request and\r\nresponse. These add a token and, in some cases, other information to the transactions. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses the following naming where the \u003Ci\u003EXXX\u003C/i\u003E\r\nmessage includes:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBasic request \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ERQ\u003C/b\u003E\u0026gt; and response \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ERS\u003C/b\u003E\u0026gt;\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction wrapper \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ETRNRQ\u003C/b\u003E\u0026gt; and \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ETRNRS\u003C/b\u003E\u0026gt;\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf needed, synchronization wrapper \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ESYNCRQ\u003C/b\u003E\u0026gt; and\r\n \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ESYNCRS\u003C/b\u003E\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn a few cases, a small number of related basic requests and responses\r\nshare a transaction and synchronization wrapper. The term message will still apply to each\r\nrequest and response; only the naming scheme will not hold in those cases.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493257\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMessage Sets and Version Control\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets are collections of messages. Generally they form all or\r\npart of what a user would consider a \u003Ci\u003Eservice\u003C/i\u003E, something for which they might have\r\nsigned up, such as \u0026quot;banking.\u0026quot; Message sets are the basis of version control,\r\nrouting, and security. They are also the basis for the required ordering in Open Financial\r\nExchange files.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWithin an Open Financial Exchange block, Open Financial Exchange\r\norganizes messages by message set. A message set can appear at most once within an Open\r\nFinancial Exchange block. All messages from a message set must be from the same version of\r\nthat message set.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor each message set of \u003Ci\u003EXXX\u003C/i\u003E and version \u003Ci\u003En\u003C/i\u003E, there exists an\r\naggregate named \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSV\u003Ci\u003En\u003C/i\u003E\u0026gt;. (Compare with \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSETV\u003Ci\u003En\u003C/i\u003E\u0026gt;\r\nin Chapter 7.) All of the messages from that message set must be inside the appropriate\r\nmessage set aggregate. In the following example, the Open Financial Exchange block\r\ncontains a signon request inside the signon message set, and two statement requests and a\r\ntransfer request inside the bank message set.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;OFX\u0026gt;\r\n\t\u0026lt;SIGNONMSGSRQV1\u0026gt;\t\u0026lt;!-- Signon message set --\u0026gt;\r\n\t\t\u0026lt;SONRQ\u0026gt;\t\t\t\t\u0026lt;!-- Signon message --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/SONRQ\u0026gt;\r\n\t\u0026lt;/SIGNONMSGSRQV1\u0026gt;\r\n\r\n\t\u0026lt;BANKMSGSRQV1\u0026gt;\t\t\u0026lt;!-- Banking message set --\u0026gt;\r\n\t\t\u0026lt;STMTTRNRQ\u0026gt;\t\t\u0026lt;!-- Statement request --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/STMTTRNRQ\u0026gt;\r\n\t\t\u0026lt;STMTTRNRQ\u0026gt;\t\t\u0026lt;!-- Another stmt request --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/STMTTRNRQ\u0026gt;\r\n\t\t\u0026lt;INTRATRNRQ\u0026gt;\t\t\u0026lt;!-- Intra-bank transfer request --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/INTRATRNRQ\u0026gt;\r\n\t\u0026lt;/BANKMSGSRQV1\u0026gt;\r\n\u0026lt;/OFX\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets, if used at all, must appear in the following order:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignup\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBanking\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ECredit card statements\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment statements\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInterbank funds transfers\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EWire funds transfers\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EPayments\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral e-mail\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment security list\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI Profile\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe definition of each message set can further prescribe an order of its\r\nmessages within that message set.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493258\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ETransactions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOther than the signon message, each request is made as a transaction.\r\nTransactions contain a client-assigned globally unique ID, optional client-supplied\r\npass-back data, and then the record for the specific request. A transaction similarly\r\nwraps each response. The response transaction returns the client ID sent in the request,\r\nalong with a status message, the pass-back data if present, and the specific response\r\nrecord. This technique allows a client to track responses against requests.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe \u0026lt;STATUS\u0026gt; aggregate, defined in Chapter 3, provides feedback on\r\nthe processing of the request. If the \u0026lt;SEVERITY\u0026gt; of the status is ERROR, the server\r\nprovides no specific response record. Otherwise, the response will be complete even though\r\nsome warning might have occurred.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients can send additional information in \u0026lt;CLTCOOKIE\u0026gt; that\r\nservers will return in the response. This allows clients that do not maintain state, and\r\nthus do not save TRNUIDs, to cause some additional descriptive information to be present\r\nin the response. For example, a client might identify a request as relating to a user or a\r\nspouse.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn some countries some transactions require a customer-supplied\r\nauthorization number for each transaction. In those countries, the \u0026lt;TAN\u0026gt; element\r\nprovides the means to pass this information to servers. As Open Financial Exchange is\r\nimplemented in each country, the specification will define the specific requirements for\r\nthe use of \u0026lt;TAN\u0026gt; in each country.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA typical request is as follows:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRQ\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TRNUID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-assigned globally unique ID for this transaction \u003Ci\u003Etrnuid\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CLTCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EData to be echoed in the transaction response \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TAN\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction authorization number; used in some countries\r\n with some types of transactions. Country-specific documentation will define messages that\r\n require a TAN, \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003Especific request\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAggregate for the specific request\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRQ\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EA typical response is as follows:\u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRS\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TRNUID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-assigned globally unique ID for this transaction, \u003Ci\u003Etrnuid\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CLTCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-provided data, \u003Cb\u003EREQUIRED\u003C/b\u003E if provided in\r\n request, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EStatus aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003Eresponse record\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAggregate for the specific response\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRS\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493259\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EThe Signon Message Set\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Signon message set includes the signon message and the PIN change\r\nmessage, and must appear in that order. The \u0026lt;SIGNONMSGSRQV1\u0026gt; and\r\n\u0026lt;SIGNONMSGSRSV1\u0026gt; aggregates wrap the message.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493260\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ESignon \u0026lt;SONRQ\u0026gt; \u0026lt;SONRS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe signon record identifies and authenticates a user to an FI. It also\r\nincludes information about the application making the request, because some services might\r\nbe appropriate only for certain clients. Every Open Financial Exchange request contains\r\nexactly one \u0026lt;SONRQ\u0026gt;. Every response must contain exactly one \u0026lt;SONRS\u0026gt; record. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse of Open Financial Exchange presumes that FIs authenticate each\r\ncustomer and then give the customer access to one or more accounts or services. If\r\npasswords are specific to individual services or accounts, a separate Open Financial\r\nExchange request will be made for each distinct user ID or password required. This will\r\nnot necessarily be in a manner visible to the user. Note that some situations, such as\r\njoint accounts or business accounts, will have multiple user IDs and multiple passwords\r\nthat can access the same account.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFIs assign user IDs for the customer. It can be the customer\u0027s social\r\nsecurity number, but the client will not make any assumptions about the syntax of the ID,\r\nadd check-digits, or do similar processing.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo improve server efficiency in handling a series of Open Financial\r\nExchange request files sent over a short period of time, clients can request that a server\r\nreturn a \u0026lt;USERKEY\u0026gt; in the signon response. If the server provide a user key, clients\r\nwill send the \u0026lt;USERKEY\u0026gt; in instead of the user ID and password in subsequent\r\nsessions, until the \u0026lt;USERKEY\u0026gt; expires. This allows servers to authenticate\r\nsubsequent requests more quickly.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client returns \u0026lt;SESSCOOKIE\u0026gt; if it sent one in a previous\r\n\u0026lt;SONRS\u0026gt;. Servers can use this value to track client usage but cannot assume that all\r\nrequests come from a single client, nor can they deny service if they did not expect the\r\nreturned cookie. Use of a backup file, for example, would lead to an unexpected\r\n\u0026lt;SESSCOOKIE\u0026gt; value that should nevertheless not stop a user from connecting.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EServers can request that a consumer change his or her password by\r\nreturning status code 15000. Servers should keep in mind that only one status code can be\r\nreturned. If the current signon response status should be 15500 (invalid ID or password),\r\nthe request to change password will need to wait until an otherwise successful signon is\r\nachieved.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ERecord Request \u0026lt;SONRQ\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETag\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SONRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecord- request aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003EDTCLIENT\u003C/b\u003E\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of the request from the client computer, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser identification string. Use \u0026lt;USERID\u0026gt; \u0026amp;\r\n \u0026lt;USERPASS\u0026gt;, or \u0026lt;USERKEY\u0026gt;, but not both; \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERPASS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser password on server - either \u0026lt;USERID\u0026gt; \u0026amp;\r\n \u0026lt;USERPASS\u0026gt; are used, or \u0026lt;USERKEY\u0026gt;, but not both;\u003Ci\u003E A-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERKEY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELogin using previously authenticated context - use\r\n \u0026lt;USERID\u0026gt; \u0026amp; \u0026lt;USERPASS\u0026gt;, or \u0026lt;USERKEY\u0026gt;, but not both; \u003Ci\u003EA-64\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GENUSERKEY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequest server to return a USERKEY for future use, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LANGUAGE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequested language for text responses, \u003Ci\u003Elanguage\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SESSCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESession cookie, value received in previous \u0026lt;SONRS\u0026gt;,\r\n not sent if first login or if none sent by FI \u003Ci\u003EA-1000\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFinancial-Institution-identification aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;APPID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EID of client application, \u003Ci\u003EA-5\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;APPVER\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EVersion of client application, \u003Ci\u003EN-4\u003C/i\u003E (6.00 encoded as\r\n 0600)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SONRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EResponse \u0026lt;SONRS\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SONRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecord-response aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EStatus aggregate, see list of possible code values\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTSERVER\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of the server response, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERKEY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse user key that instead of USERID and USERPASS for\r\n subsequent requests. TSKEYEXPIRE can limit lifetime\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TSKEYEXPIRE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time that USERKEY expires\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u003Cb\u003E\u0026lt;LANGUAGE\u003C/b\u003E\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELanguage used in text responses, \u003Ci\u003Elanguage\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTPROFUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of last update to profile information for any\r\n service supported by this FI (see Chapter 7), \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTACCTUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of last update to account information (see\r\n Chapter 8), \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFinancial-Institution-identification aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SESSCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESession cookie that the client should return on the next\r\n \u0026lt;SONRQ\u0026gt; \u003Cbr\u003E\r\n \u003Ci\u003EA-1000\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SONRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EList of status code values for the \u0026lt;CODE\u0026gt; element of \u0026lt;STATUS\u0026gt;: \u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002260\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022438\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMust change PIN (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15500\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon (for example, user ID or password) invalid (ERROR)\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15501\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECustomer account already in use (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15502\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPIN Lockout (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EFinancial Institution ID \u0026lt;FI\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome service providers support multiple FIs, and assign each FI an ID.\r\nThe signon allows clients to pass this information along, so that providers will know to\r\nwhich FI the user is actually doing a signon.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FI\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI-record aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ORG\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOrganization defining this FI name space, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FID\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFinancial Institution ID (unique within \u0026lt;ORG\u0026gt;), \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/FI\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493261\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EPIN Change \u0026lt;PINCHRQ\u0026gt;\r\n \u0026lt;PINCHRS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe signon sends a request to change a customer password as a separate\r\nrequest. The transaction request \u0026lt;PINCHTRNRQ\u0026gt; aggregate contains \u0026lt;PINCHRQ\u0026gt;.\r\nResponses are also inside transaction responses \u0026lt;PINCHTRNRS\u0026gt;. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EPassword changes pose a special problem for error recovery. If the\r\nclient does not receive a response, it does not know whether the password change was\r\nsuccessful or not. Open Financial Exchange recommends that servers accept either the old\r\npassword or the new password on the connection following the one containing a password\r\nchange. The password used becomes the new password.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PINCHRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPIN-change-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser identification string. Often a social security number,\r\n but if so, does not include any check digits, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;NEWUSERPASS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENew user password, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PINCHRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PINCHRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPIN-change-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser identification string. Often a social security number,\r\n but if so, does not include any check digits, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTCHANGED\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time the password was changed, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PINCHRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Code Values for the \u0026lt;CODE\u0026gt; Element of\r\n \u0026lt;STATUS\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002260\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022438\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15503\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECould not change PIN (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493262\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser requests a password change: \u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;PINCHTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;888\r\n\t\u0026lt;PINCHRQ\u0026gt;\r\n\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\t\u0026lt;NEWUSERPASS\u0026gt;5321\r\n\t\u0026lt;/PINCHRQ\u0026gt;\r\n\u0026lt;/PINCHTRNRQ\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server responds with: \u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PINCHTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;888\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;PINCHRS\u0026gt;\r\n\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\u0026lt;/PINCHRS\u0026gt;\r\n\u0026lt;/PINCHTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493263\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EExternal Data Support\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome data, such as binary data, cannot be easily sent directly within\r\nSGML. For these situations, the specification will define a tag that contains a reference\r\nto some external data. The way that clients pick up the external data depends on the\r\ntransport used. For the HTTP-based transport described in this document, servers can send\r\nthe data in one of two ways:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESend the same response, using multi-part MIME types to separate the\r\n response into basic \u003Cbr\u003E\r\n Open Financial Exchange and one or more external data files\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient can make a separate HTTP get against the supplied URL, if it\r\n really needs the data \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor example, to retrieve a logo, a \u0026lt;GETMIMERS\u0026gt; might answer a\r\n\u0026lt;GETMIMERQ\u0026gt; as follows: \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMERS\u0026gt;\r\n\t\u0026lt;URL\u0026gt;https://www.fi.com/xxx/yyy/zzz.html\r\n\u0026lt;/GETMIMERS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf the file sent includes the same response using multi-part MIME,\r\nclients will assume it has the local file, zzz.jpg.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493264\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EExtensions to Open Financial\r\n Exchange\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn organization that provides a customized client and server that\r\ncommunicate by means of \u003Cbr\u003E\r\nOpen Financial Exchange might wish to add new requests and responses or even specific\r\nelements to existing requests and responses. To ensure that each organization can extend\r\nthe specification without the risk of conflict, Open Financial Exchange defines a style of\r\ntag naming that lets each organization have its own name space.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOrganizations can register a specific tag name prefix. (The specific\r\nprocedure or organization to manage this registration will be detailed at a later time.)\r\nIf an organization registers \u0026quot;ABC,\u0026quot; then they can safely add new tags named\r\n\u0026lt;ABC.SOMETHING\u0026gt; without\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EColliding with another party wishing to extend the specification\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EConfusing a client or server that does not support the extension\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe extensions are not considered proprietary. An organization is free\r\nto publish their extensions and encourage client and server implementers to support them.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAll tag names that do not contain a period (.) are reserved for use in\r\nfuture versions of the core \u003Cbr\u003E\r\nOpen Financial Exchange specification.\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493265\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ECommon Aggregates, Elements, and\r\n Data Types\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493266\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECommon Aggregates\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis section describes aggregates used in more than one service of Open\r\nFinancial Exchange (for example, investments and payments).\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493267\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EIdentifying Financial Institutions\r\n and Accounts\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange does not provide a universal space for\r\nidentifying financial institutions, accounts, or types of accounts. The way to identify an\r\nFI and an account at that FI depends on the service. For information about\r\nservice-specific ID aggregates, see Chapters 11, 12, and 13 on banking, payments, and\r\ninvestments.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493268\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBalance Records \u0026lt;BAL\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeveral responses allow FIs to send an arbitrary set of balance\r\ninformation as part of a response, for example a bank statement download. FIs might want\r\nto send information on outstanding balances, payment dates, interest rates, and so forth.\r\nBalances can report the date the given balance reflects in \u0026lt;DTASOF\u0026gt;.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;BAL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance-response aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;NAME\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance name, \u003Ci\u003EA-20\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DESC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance description, \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;BALTYPE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance type. \u003Cbr\u003E\r\n DOLLAR = dollar (value formatted DDDDcc)\u003Cbr\u003E\r\n PERCENT = percentage (value formatted XXXX.YYYY)\u003Cbr\u003E\r\n NUMBER = number (value formatted as is)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;VALUE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance value.\u003Cbr\u003E\r\n Interpretation depends on \u0026lt;BALTYPE\u0026gt; field, \u003Ci\u003EN-20\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CURRENCY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf dollar formatting, can optionally include currency\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DTASOF\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEffective date of the given balance, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/BAL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493269\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EError Reporting \u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo provide as much feedback as possible to clients and their users, Open\r\nFinancial Exchange defines a \u0026lt;STATUS\u0026gt; aggregate. The most important element is the\r\ncode that identifies the error. Each response defines the codes it uses. Codes 0 through\r\n2999 have common meanings in all Open Financial Exchange transactions. Codes from 3000 and\r\nup have meanings specific to each transaction.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EError-reporting aggregate.\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CODE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EError code, \u003Ci\u003EN-6\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SEVERITY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeverity of the error: \u003Cbr\u003E\r\n INFO = Informational only\u003Cbr\u003E\r\n WARN = Some problem with the request occurred but valid response still present\u003Cbr\u003E\r\n ERROR = A problem severe enough that response could not be made\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;MESSAGE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EA textual explanation from the FI. Note that clients will\r\n generally have messages of their own for each error ID. Use this tag only to provide more\r\n details or for the General errors.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image6.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image6.gif (4356 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image6\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image7.gif\u0022 width=\u0022223\u0022 height=\u002272\u0022 alt=\u0022stadyn_image7.gif (1702 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image7\u003C/p\u003E\r\n\r\n\u003Cp\u003EFor general errors, the server can respond with one of the following \u0026lt;CODE\u0026gt;\r\nvalues. However, not all codes are possible in a specific context. \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2021\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnsupported version (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Clients will generally have error messages based on \u0026lt;CODE\u0026gt;.\r\nTherefore, do not use \u0026lt;MESSAGE\u0026gt; to replace that text. Use \u0026lt;MESSAGE\u0026gt; only to\r\nexplain an error not well described by one of the defined CODEs, or to provide some\r\nadditional information.\u003C/i\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493270\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECommon Elements\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis section defines elements used in several services of Open Financial\r\nExchange. The format of the value is either alphanumeric (A-\u003Ci\u003En\u003C/i\u003E)\u003Ci\u003E \u003C/i\u003Eor numeric\r\n(N-\u003Ci\u003En\u003C/i\u003E) with a maximum length \u003Ci\u003En\u003C/i\u003E; or as a named type. Section 3.3 describes the\r\nnamed types.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493271\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EFinancial Institution Transaction ID\r\n \u0026lt;FITID\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat: \u003C/b\u003E\u003Ci\u003EA-255\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn FI assigns an \u0026lt;FITID\u0026gt; to uniquely identify a transaction. Its\r\nprimary purpose is to allow a client to detect duplicate responses. Open Financial\r\nExchange intends \u0026lt;FITID\u0026gt; for use in statement download applications, where every\r\ntransaction requires a unique ID; not just those that are client-originated or\r\nserver-originated.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFITIDs must be unique within the scope of the requested transactions\r\n(that is, within an account) but need not be sequential or even increasing. Clients should\r\nbe aware that FITIDs are not unique across FIs. If a client performs the same type of\r\nrequest within the same scope at two different FIs, clients will need to use FI \u002B account\r\n\u002B \u0026lt;FITID\u0026gt; as a unique key in a client database.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493272\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EServer-Assigned ID \u0026lt;SRVRTID\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-10\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA \u0026lt;SRVRTID\u0026gt; is a server-assigned ID. It should remain constant\r\nthroughout the lifetime of the object on the server. The client will consider the SRVRTID\r\nas its \u0026quot;receipt\u0026quot; or confirmation and will use this ID in any subsequent requests\r\nto change, delete, or inquire about this object. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhere the context allows, it is possible for a server to use the same \u003Ci\u003Evalue\r\n\u003C/i\u003Efor a given server object for both \u0026lt;SRVRTID\u0026gt; and \u0026lt;FITID\u0026gt;, but the client\r\nwill not know this. SRVRTIDs need be unique only within the scope of the requests and\r\nresponses they apply to, such as an account number. Like \u0026lt;FITID\u0026gt;, a \u0026lt;SRVRTID\u0026gt;\r\nis not unique across FIs and clients might need to use FI \u002B \u0026lt;SRVRTID\u0026gt; if a client\r\nrequires a unique key.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Payments, Banking\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493273\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EClient-Assigned Transaction UID\r\n \u0026lt;TRNUID\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-36\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses TRNUIDs to identify transactions,\r\nspecifically \u0026lt;\u003Ci\u003EXXX\u003C/i\u003ETRNRQ\u0026gt;. Clients expect a server to return the same\r\n\u0026lt;TRNUID\u0026gt; in the corresponding response and can use this to match up requests and\r\nresponses. Servers can use TRNUIDs to reject duplicate requests. Because multiple clients\r\nmight be generating requests to the same server, transaction IDs need to be unique across\r\nclients. Thus, \u0026lt;TRNUID\u0026gt; must be a globally unique ID.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Open Software Foundation Distributed Computing Environment standards\r\nspecify a 36-character hexadecimal encoding of a 128-bit number and an algorithm to\r\ngenerate it. Clients are free to use their own algorithm, to use smaller TRNUIDs, or to\r\nrelax the uniqueness requirements if in their particular application it makes sense.\r\nHowever, it is \u003Cb\u003ERECOMMENDED\u003C/b\u003E that clients allow for the full 36 characters in\r\nresponses to work better with other clients.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E All services\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493274\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EToken \u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-10\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses \u003Cb\u003E\u0026lt;\u003C/b\u003ETOKEN\u0026gt; as part of data\r\nsynchronization requests to identify the point in history that the client has already\r\nreceived data, and in responses to identify the server\u0027s current end of history. See\r\nChapter 6, \u0026quot;Data Synchronization,\u0026quot; for more information.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;TOKEN\u0026gt; is unique within an FI and the scope of the\r\nsynchronization request. For example, if the synchronization request includes an account\r\nID, the \u0026lt;TOKEN\u0026gt; needs be unique only within an account. Servers are free to use a\r\n\u0026lt;TOKEN\u0026gt; that is unique across the entire FI. Clients must save separate\r\n\u0026lt;TOKEN\u0026gt;s for each account, FI, and type of synchronization request.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E All synchronization requests and responses\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493275\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ETransaction Amount \u0026lt;TRNAMT\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EAmount\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses \u0026lt;TRNAMT\u0026gt; in any request or response\r\nthat reports the total amount of an individual transaction.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download,\r\npayments\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493276\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMemo \u0026lt;MEMO\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-255\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA \u0026lt;MEMO\u0026gt; provides additional information about a transaction.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download,\r\npayments, transfers\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493277\u0022\u003EDate Start and Date End\r\n \u0026lt;DTSTART\u0026gt;\u003C/a\u003E \u0026lt;DTEND\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EDatetime\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses these tags in requests to provide guidance\r\nto the FI about the range of response that is desired. It also uses them in responses to\r\nlet clients know what the FI was actually able to produce.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn requests, the following rules apply:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf \u0026lt;DTSTART\u0026gt; is absent, the client is requesting all available\r\n history (up to the \u0026lt;DTEND\u0026gt;, if specified). Otherwise, it indicates the \u003Ci\u003Einclusive\u003C/i\u003E\r\n date and time in history where the client expects servers to start sending information.\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf \u0026lt;DTEND\u0026gt; is absent, the client is requesting all available\r\n history (starting from \u0026lt;DTSTART\u0026gt;, if specified). Otherwise, it indicates the \u003Ci\u003Eexclusive\u003C/i\u003E\r\n date and time in history where the client expects servers to stop sending information.\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn responses, the following rules apply:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;DTSTART\u0026gt; is the date and time where the server began \u003Ci\u003Elooking\u003C/i\u003E\r\n for information, not necessarily the date of the earliest returned information. If the\r\n response \u0026lt;DTSTART\u0026gt; is later than the requested \u0026lt;DTSTART\u0026gt;, clients can infer\r\n that the user has not signed on frequently enough to ensure that the client has retrieved\r\n all information. If the user has been calling frequently enough, \u0026lt;DTSTART\u0026gt; in the\r\n response will match \u0026lt;DTSTART\u0026gt; in the request.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;DTEND\u0026gt; is the date and time that, if used by the client as the\r\n next requested \u0026lt;DTSTART\u0026gt;, it would pick up exactly where the current response left\r\n off. It is the \u003Ci\u003Eexclusive\u003C/i\u003E date and time in history where the server stopped \u003Ci\u003Elooking\u003C/i\u003E\r\n for information, based on the request \u0026lt;DTEND\u0026gt; rules. \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn all cases, servers are \u003Cb\u003EREQUIRED\u003C/b\u003E to use a \u0026quot;system add\r\ndatetime\u0026quot; as the basis for deciding which details match the requested date range. For\r\nexample, if an FI posts a transaction dated Jan 3 to a user\u0027s account on Jan 5, and a\r\nclient connects on Jan 4 and again on Jan 6, the server is \u003Cb\u003EREQUIRED\u003C/b\u003E to return that\r\nJan 3 dated transaction to the client when it calls on Jan 6. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493278\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECommon data types\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493279\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EDates and Times\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EBasic Format\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere is one format for representing dates, times, and time zones. The\r\ncomplete form is:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS.XXX[\u003Ci\u003Egmt offset\u003C/i\u003E:\u003Ci\u003Etz name\u003C/i\u003E]\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor example, \u0026quot;19961005132200.1234[-5:EST]\u0026quot; represents October\r\n5, 1996, at 1:22 and 124 milliseconds p.m., in Eastern Standard Time. This is the same as\r\n6:22 p.m. Greenwich Mean Time (GMT).\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETags specified as type \u003Ci\u003Edate \u003C/i\u003Eand generally starting with the\r\nletters \u0026quot;DT\u0026quot; will accept a fully formatted date-time-timezone as specified\r\nabove. They will also accept values with fields omitted from the right. They assume the\r\nfollowing defaults if a field is missing:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDD: 12:00 midnight (the start of the day), GMT\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS: GMT\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS.XXX: GMT\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS.XXX[-0500:EST]: Fully qualified\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange identifies elements that require a time as\r\nhaving type \u003Ci\u003Etimestamp \u003C/i\u003Eand their tag name will start with the prefix TS. The\r\ntimezone and milliseconds are still optional, and will default to GMT.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETake care when specifying an ending date without a time. If the last\r\ntransaction returned for a bank statement download was Jan 5 1996 10:46 a.m. and if the\r\n\u0026lt;DTEND\u0026gt; was given as just Jan 5, the transactions on Jan 5 would be resent. If\r\nresults are only available daily, then just using dates and not times will work correctly.\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange does not require servers or\r\nclients to use the full precision specified. However, they are \u003Ci\u003E\u003Cb\u003EREQUIRED\u003C/b\u003E to\r\naccept any of these forms without complaint.\u003C/i\u003E\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome services extend the general notion of a \u003Ci\u003Edate\u003C/i\u003E by adding\r\nspecial values, such as \u0026quot;TODAY.\u0026quot; These special values are called \u0026quot;smart\r\ndates.\u0026quot; Specific requests indicate when to use these extra values, and list the tag\r\nas having a special data type.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ETime Zone Issues\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeveral issues arise when a customer and the FI are not in the same time\r\nzone, or when a customer moves a computer into new time zones. In addition, it is\r\ngenerally unsafe to assume that computer users have correctly set their time or timezone.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAlthough most transactions are not sensitive to the exact time, they\r\noften are sensitive to the date. In some cases, time zone errors lead to actions occurring\r\non a different date than intended by the customer. For this reason, servers should always\r\nuse a complete local time plus GMT offset in any datetime values in a response. If a\r\ncustomer\u0027s request is for 5 p.m. EST, and a server in Europe responds with 1 a.m. MET the\r\nnext day, a smart client can choose to warn the customer about the date shift.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients that maintain local state, especially of long-lived server\r\nobjects, should be careful how they store datetime values. If a customer initiates a\r\nrepeating transaction for 5 p.m. EST, then moves to a new time zone, the customer might\r\nhave intended that the transaction remain 5 p.m. in the new local time, requiring a change\r\nrequest to be sent to the server. If, however, they intended it to remain fixed in server\r\ntime, this would require a change in the local time stored in the client.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493280\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EAmounts, Prices, and Quantities\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EPositive and Negative Signs\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnless otherwise noted in the specification, Open Financial Exchange\r\nalways signs amounts and quantities from the perspective of the customer. Some typically\r\nnegative amounts:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment buy amount, investment sell quantity\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBank statement debit amounts, checks, fees\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ECredit card purchases\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMargin balance (unless the FI owes the client money)\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome typically positive amounts:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment sell amount, investment buy quantity\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBank statement credits\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ECredit card payments\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ELedger balance (unless the account is overdrawn)\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EAmount: \u003C/i\u003EAll amount-valued tags are sent with a decimal point or\r\ncomma, as in \u0026quot;XXXX.XX.\u0026quot; There should not be any punctuation separating\r\nthousands, millions, and so forth. The maximum value accepted depends on the client.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EQuantity: \u003C/i\u003EUse decimal notation.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EUnitprice: \u003C/i\u003EUse decimal notation. Unless specifically noted,\r\nprices should always be positive.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003ERate: \u003C/i\u003EUse decimal notation, with the rate specified out of 100%.\r\nFor example, 5.2 is 5.2%.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome services define special values, such as INFLATION, which you can\r\nuse instead of a designated value. Open Financial Exchange refers to these as \u0026quot;smart\r\ntypes,\u0026quot; and identifies them in the specification.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493281\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ELanguage\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange identifies human-readable language-for such\r\nthings as status messages and e-mail-with a three-letter code based on ISO-639.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493282\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBasic data types\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EBoolean: \u003C/i\u003EY = yes or true, N = no or false.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EURL: \u003C/i\u003EString form of a World Wide Web Uniform Resource Location.\r\nIt should be fully qualified including protocol, host, and path.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493283\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ESecurity\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493284\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESecurity Solutions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange carries financial information over the Internet\r\nin such a way to provide privacy, message integrity, and authentication for applications\r\nat the appropriate level. Each service within Open Financial Exchange requires a certain\r\nlevel of security. Online banking and payments require strong secrecy, whereas stock\r\nquotations consist of publicly available information and consequently have a much weaker\r\nsecrecy requirement.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome Internet protocols, such as HTTPS (which uses Secure Socket Layer\r\nversion 3, SSLv3), provide channel-level security. When the security requirement exceeds\r\nthat provided by the channel, you must use an application-level protocol.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Ca NAME=\u0022_Toc371763498\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo address these various needs, Open Financial\r\nExchange allows a range of security solutions. Open Financial Exchange 1.0 supports online\r\nbanking and payment functions for which strong channel security is currently appropriate.\r\nFuture releases will support a wider array of services, some of which will require more\r\nelaborate trust models. Application-level protection will secure the latter.\u003C/font\u003E\u003C/a\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange security properties include:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL - protects information during transmission over the Internet between\r\n a customer and an FI \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EApplication layer security - encrypts and formats messages using RSA Data\r\n Security PKCS#7 techniques \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ENew cryptographic options and enhancements when available - will enhance\r\n Open Financial Exchange to provide these facilities \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493285\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EDetermining Security Levels\r\n \u0026lt;OFXSEC\u0026gt; \u0026lt;TRANSPSEC\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETwo elements in the FI profile, \u0026lt;OFXSEC\u0026gt; and \u0026lt;TRANSPSEC\u0026gt;,\r\ncontain the security level a client should use to communicate with a server.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe valid values for \u0026lt;OFXSEC\u0026gt; are as follows:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EType\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ENONE\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENo application level security\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EAPPSEC\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse application level security\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe \u0026lt;TRANSPSEC\u0026gt; element value is Boolean. If the value is YES, use channel-level\r\nsecurity. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493286\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EChannel-Level Security\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESecure Socket Layer version 3 (SSLv3) provides channel-level security in\r\nOpen Financial Exchange. SSLv3 provides confidentiality, message integrity, and implicit\r\nauthentication. In Open Financial Exchange 1.0, channel-level security using SSLv3 is the\r\nprimary form of security.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493287\u0022\u003ESecurity Requirements\u003C/a\u003E \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange provides a method to exchange financial\r\ninformation over public networks. This necessitates strong security facilities and careful\r\nprotocol design. The most commonly used facility, and trusted method for accomplishing\r\nmany of these goals is SSL. The following sub-sections describe the most prominent\r\nrequirements for security and how Secure Socket Layer (SSL) addresses these.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EPrivacy, Authentication, and Message Integrity\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL provides a range of strong encryption methods for insuring\r\nconfidentiality, and strong measures to insure that messages are not altered as they\r\npropagate over the Internet. User authentication is usually addressed at the application\r\nlayer, not within SSL. Servers are configured with public key certificates that client\r\napplication software verifies. This provides some measure of server authentication.\r\nTesting certificate revocation lists is not commonly performed. However, as these\r\nfacilities emerge, client software will be written to support this need. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EFacilities for Authorization\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange messages typically provide user ID and password\r\nso that a service provider can authenticate the user. Once a system authenticates a user,\r\nthe service provider must insure that the user is authorized to perform the requested\r\nactions. For example, the service provider must decide if the specified user is authorized\r\nto perform a transfer from the specified account. The service provider must also determine\r\nwhether the user has exceeded allowed limits on withdrawals, whether the activity on this\r\naccount is unusual given past history, and other context-sensitive issues.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493288\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EUsing SSL 3.0 in Open Financial\r\n Exchange\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL version 3.0 provides a set of widely and commonly accepted methods\r\nfor securing Internet transactions. These common methods within SSL are called\r\nCipherSuites. You can secure applications appropriately within SSL by specifying an\r\nordered sequence of preferred CipherSuites (highest preference listed first). Servers\r\nselect the strongest supported CipherSuite from the list provided by the client. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Passing username and password pairs in a weakly\r\nencrypted channel exposes this information to cryptographic attack. When implementing Open\r\nFinancial Exchange, use the strongest available ciphers.\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EYou should not use the following CipherSuites because they are\r\nvulnerable to man-in-the-middle attacks during Open Financial Exchange message exchanges:\u003C/font\u003E\r\n\r\n\u003Cmenu\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_EXPORT_WITH_RC4_40_MD5 \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_WITH_RC4_128_MD5 \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_WITH_DES_CBC_SHA \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_WITH_3DES_EDE_CBC_SHA\u003C/font\u003E \u003C/li\u003E\r\n\u003C/menu\u003E\r\n\r\n\u003Cp\u003E\u003Ca NAME=\u0022_Toc376002624\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESetting tags to enable channel-level security in\r\nthe FI profile advises the Open Financial Exchange application to use this security\r\nmethod. Usually, the service provider of the Web server configures the allowed\r\nCipherSuites within SSL. \u003C/font\u003E\u003C/a\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493289\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EApplication-Level Security\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhile strong channel-level security is sufficient for the current suite\r\nof Open Financial Exchange transactions, there are features that channel security does not\r\nprovide. These include (but are not limited to) data signing, non-repudiation, rational\r\ncertificate management and revocation, and trust proxy. Where the trust model for an\r\napplication requires such features to conduct the transaction safely, Open Financial\r\nExchange stipulates the use of an application-level protocol. A future implementation\r\nguide will publish this protocol. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe standard method for providing application-level security is to rely\r\nupon the RSA Public Key Cryptography Standard (PKCS) message format. The PKCS #7 standard\r\nspecifies a message format that is both cryptographically strong and flexible enough to\r\nprovide sufficient facilities for evolution. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493290\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERequirements for Application-Layer\r\n Security\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EPrivacy, Authentication, and Message Integrity\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ERSA Public Key Cryptography Standard #7 (PKCS#7) defines a rich set of\r\nmessage formats for securely exchanging information over public networks. These message\r\nformats provide for encrypting data using a combination of cryptographic techniques to\r\nleverage manageability of public key cryptography. It also utilizes the speed of block\r\nciphers into a hybrid, which exploits the best properties of each. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EPKCS#7 message encryption provides privacy. A digitally signed message\r\n(or applying HMAC) insures message integrity.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse one of the following to define PKCS#7 messages: Data, Digitally\r\nSigned-Data, Enveloped-Data, or Digitally Signed and Enveloped-Data (also referred to as\r\nSealed-Data). Open Financial Exchange can use Digested-Data, which digests application\r\ndata before it embeds data within an Enveloped-Data object. However, it should not\r\ntransmit this data over public networks without encryption applied.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EFacilities for Authorization\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAs stated previously in the section 4.2, authentication and\r\nauthorization are the responsibility of the service provider. Open Financial Exchange\r\nmessages contain the information to enable authentication and authorization decisions.\r\nWith application-level security that uses a digitally signed format, the verification of\r\nthat signature provides an additional method of authenticating the user.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493291\u0022\u003EUsing Application-level Encryption\r\n in \u003C/a\u003EOpen Financial Exchange \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange applications requiring a sophisticated trust\r\nmodel require more facilities than those provided by SSL. If an Open Financial Exchange\r\napplication requires only point-to-point security, SSL version 3.0 provides adequate\r\nfacilities for message security. However, if the application requires more directed,\r\nspecific forms of security, then use the appropriate PKCS#7 message formats for the\r\napplication. An example of this might be a stock trading application issuing orders whose\r\nvalues demand that the security level be high, and where Open Financial Exchange treats\r\nthe message with special handling instructions. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecommended cryptographic techniques for Open Financial Exchange\r\napplication security are: \u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERC4 for bulk encryption (using 40 bits for exportable applications, 128\r\n for North America)\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERSA encryption of bulk encryption keys and digital signatures\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESHA-1 as a secure hash algorithm \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn the absence of digital signatures, Open Financial Exchange\r\napplications should utilize the HMAC keyed MAC algorithm, using SHA-1 as a secure hash\r\nfunction. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen you set the tags for application-layer security-which determines\r\nwhether to use PKCS#7 message format-in the FI profile, the application software uses\r\nthese facilities. \u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493292\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EInternational Support\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493293\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ELanguage and Encoding\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMost of the content in Open Financial Exchange is language-neutral.\r\nHowever, some error messages, balance descriptions, and similar tags contain text meant to\r\nappear to the financial institution customers. There are also cases, such as e-mail\r\nrecords, where customers need to send text in other languages. To support world-wide\r\nlanguages, Open Financial Exchange must identify the basic text encoding, specific\r\ncharacter set, and the specific language.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe outer Open Financial Exchange headers specify the encoding and\r\ncharacter set, as described Chapter 2. Current encoding values are ASCII and UNICODE. For\r\nASCII, character set values are code pages. Unicode ignores the character set \u003Ci\u003Eper se\u003C/i\u003E\r\nalthough it still requires the syntax. Clients identify the language in the signon\r\nrequest. Open Financial Exchange specifies languages by three-letter codes as defined in\r\nISO-639. Servers report their supported languages in the profile (see Chapter 7). If a\r\nserver cannot support the requested language, they must return an error and not process\r\nthe rest of the transactions.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493294\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECurrency \u0026lt;CURDEF\u0026gt;\r\n \u0026lt;CURRENCY\u0026gt; \u0026lt;ORIGCURRENCY\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn each transaction involving amounts, responses include a default\r\ncurrency identification, \u0026lt;CURDEF\u0026gt;. The values are based on the ISO 4217 three-letter\r\ncurrency identifiers.\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022\u003E \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWithin each transaction, specific parts of the response might need to\r\nreport a different currency. Where appropriate, aggregates will include an optional\r\n\u0026lt;CURRENCY\u0026gt; aggregate. The scope of a \u0026lt;CURRENCY\u0026gt; aggregate is everything within\r\nthe same aggregate that the \u0026lt;CURRENCY\u0026gt; aggregate appears in, including nested\r\naggregates, unless overridden by a nested \u0026lt;CURRENCY\u0026gt; aggregate. For example,\r\nspecifying a \u0026lt;CURRENCY\u0026gt; aggregate in an investment statement detail means that the\r\nunit price, transaction total, commission, and all other amounts are in terms of the given\r\ncurrency, not the default currency. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ENote that there is no way for two or more individual elements that\r\nrepresent amounts-and are directly part of the same aggregate-to have different\r\ncurrencies. For example, there is no way in a statement download to have a different\r\ncurrency for the \u0026lt;LEDGERBAL\u0026gt; and the \u0026lt;AVAILBAL\u0026gt;, because they are both\r\ndirectly members of \u0026lt;STMTRS\u0026gt;. In most cases, you can use the optional \u0026lt;BAL\u0026gt;\r\nrecords to overcome this limitation, which do accept individual \u0026lt;CURRENCY\u0026gt;\r\naggregates.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe default currency for a request is the currency of the source\r\naccount. For example, the currency for \u0026lt;BANKACCTFROM\u0026gt;.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe \u0026lt;CURRATE\u0026gt; should be the one in effect throughout the scope of\r\nthe \u0026lt;CURRENCY\u0026gt; aggregate. It is not necessarily the current rate. Note that the\r\n\u0026lt;CURRATE\u0026gt; needs to take into account the choice of the FI for formatting of amounts\r\n(that is, where the decimal is) in both default and overriding currency, so that a client\r\ncan do math. This can mean that the rate is adjusted by orders of magnitude (up or down)\r\nfrom what is commonly reported in newspapers.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CURRENCY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E \u003Ci\u003Eor\r\n \u003Cbr\u003E\r\n \u003C/i\u003E\u003Cb\u003E\u0026lt;ORIGCURRENCY\u0026gt;\u003C/b\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECurrency aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CURSYM\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EISO 4217 3-letter currency identifier, \u003Ci\u003EA-3\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CURRATE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERatio of \u0026lt;CURDEF\u0026gt; currency to \u0026lt;CURSYM\u0026gt;\r\n currency, in decimal form\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/CURRENCY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\r\n \u003Ci\u003Eor \u003Cbr\u003E\r\n \u003C/i\u003E\u003Cb\u003E\u0026lt;/ORIGCURRENCY\u0026gt;\u003C/b\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EIn some cases, Open Financial Exchange will define transaction responses so that\r\namounts have been converted to the home currency. However, Open Financial Exchange will\r\nallow FIs to optionally report the original amount and the original (foreign) currency. In\r\nthese cases, transactions include a specific tag for the original amount, and then a\r\n\u0026lt;ORIGCURRENCY\u0026gt; tag to report the details of the foreign currency. \u003C/p\u003E\r\n\r\n\u003Cp\u003EAgain, \u0026lt;CURRENCY\u0026gt; means that Open Financial Exchange \u003Ci\u003Ehas not\u003C/i\u003E converted\r\namounts. Whereas, \u0026lt;ORIGCURRENCY\u0026gt; means that Open Financial Exchange \u003Ci\u003Ehas\u003C/i\u003E\r\nalready converted amounts. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493295\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECountry-Specific Tag Values\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome of the tags in Open Financial Exchange have values that are\r\ncountry-specific. For example, \u0026lt;USPRODUCTTYPE\u0026gt; is only useful within the United\r\nStates. Open Financial Exchange will extend in each country as needed to provide tags that\r\naccept values useful to that country. Clients in other countries that do not know about\r\nthese tags will simply skip them.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn some cases, a tag value represents a fundamental way of identifying\r\nsomething, yet there does not exist a world-wide standard for such identification.\r\nExamples include bank accounts and securities. In these cases, it is important that Open\r\nFinancial Exchange defines a single, extensible approach for identification. For example,\r\nCUSIPs are used within the U.S., but not in other countries. However, CUSIPs are\r\nfundamental to relating investment securities, holdings, and transactions. Thus, a\r\nsecurity ID consists of a two-part aggregate: one to identify the naming scheme, and one\r\nto provide a value. Open Financial Exchange will define valid naming schemes as necessary\r\nfor each country.\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493296\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EData Synchronization\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493297\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ECurrently, some systems provide only limited support for error recovery\r\nand no support for backup files or multiple clients. The Open Financial Exchange data\r\nsynchronization approach described in this chapter handles all of these situations. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange defines a powerful form of data synchronization\r\nbetween clients and servers. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange data synchronization addresses the following\r\nproblems:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EError recovery\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse of multiple client applications\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERestoring from a backup file\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMultiple data files (for example, one copy at home, another at work).\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis chapter first provides a brief background of error recovery\r\nproblems and then presents the basic strategy used in Open Financial Exchange to perform\r\ndata synchronization. Each Open Financial Exchange service includes specific details for\r\ndata synchronization requests and responses.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMost of the information in this chapter concerns data synchronization,\r\nsince it is a relatively new concept. The final section in this chapter discusses\r\nalternatives to full synchronization, and summarizes the options for each.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493298\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EBackground\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen a client begins a connection with a server for which the connection\r\ndoes not successfully complete, there are two main problems:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnconfirmed requests\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a client does not receive a response to work it initiates, it has no\r\nway of knowing whether the server processed the request. It also will not have any\r\nserver-supplied information about the request, such as a server ID number.\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnsolicited data\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome banking protocols allow a server to send data to the client\r\nwhenever the client makes a connection. This specification assumes that the first client\r\nthat calls in after the unsolicited data is available for download receives the data. If\r\nthe connection fails, this information would be forever lost to the client. Examples of\r\nunsolicited data include updates in the status of a bill payment and e-mail responses.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnsolicited data presents problems beyond error recovery. Because the\r\nfirst client that connects to a server is the only one to receive unsolicited data, this\r\nsituation precludes use of multiple clients without a data synchronization method. For\r\nexample, if a user has a computer at work and one at home, and wants to perform online\r\nbanking from both computers, a bank server could send unsolicited data to one but not the\r\nother. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn even greater problem occurs when a user resorts to a backup copy of\r\nthe client data file. This backup file will be missing recent unsolicited data with no way\r\nto retrieve it from the server once the server sends it.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493299\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EData Synchronization Approach\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA simple solution is to make sure that clients can always obtain\r\ninformation from the server for a reasonable length of time. Clients can request recent\r\nresponses-whether due to client-initiated work or other status changes on the server-by\r\nsupplying the previous endpoint in the response history. Servers always supply a new\r\nendpoint whenever they supply responses. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a client connection fails-or a client receives a response, but\r\ncrashes before updating its database-the client will not save the new endpoint. On the\r\nnext synchronization request, the server sends the same information (plus any further\r\nstatus changes). \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a user switches to a backup file, again the client will use the older\r\nendpoint in the synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf multiple clients are in use, each will send requests based on its own\r\nendpoint, so that both clients will obtain complete information from the server. This is\r\none reason why Open Financial Exchange responses carry enough information from the request\r\nto enable them to be processed on their own. The diagram below shows the relationship\r\nbetween clients and servers.\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange relieves the server from maintaining any special\r\nerror-recovery state information. However, Open Financial Exchange requires the server to\r\nmaintain a history of individual responses it would have sent and a way to identify a\r\nposition in the history. This ID could be a timestamp, or be based on its existing state\r\ninformation. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange does not require servers to\r\nstore these responses based on individual connections. Also, not all requests are subject\r\nto synchronization. For example, Open Financial Exchange does not require servers to store\r\nstatement-download responses separately for data synchronization. \u003C/i\u003E\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493300\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EData Synchronization Specifics\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange does synchronization separately for each type of\r\nresponse. In addition, a synchronization request might include further identifying\r\ninformation, such as a specific account number. This specification defines the additional\r\ninformation for each synchronization request.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach Open Financial Exchange service will identify the specific\r\nresponses that are subject to data synchronization. For example, a bank statement-download\r\nis a read-only operation from the server. A client can request again if it fails;\r\nconsequently, there is no special data synchronization for this type of response.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe basis for synchronization is a \u003Ci\u003Etoken\u003C/i\u003E as defined by the\r\n\u0026lt;TOKEN\u0026gt; tag. The server is free to create a token in any way it wishes. The client\r\nsimply holds the token for possible use in a future synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server can derive a token from one of the following: \u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ETimestamp\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESequential number\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnique non-sequential number\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EOther convenient values for a server \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cmenu\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange reserves a \u0026lt;TOKEN\u0026gt; value of\r\n zero for the first time each type of response does a synchronization task. \u003C/i\u003E\u003C/font\u003E\u003C/li\u003E\r\n\u003C/menu\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients will send a \u0026lt;TOKEN\u0026gt; of zero on their first synchronization\r\nrequest. Servers should send all available history, allowing a new client to know about\r\nwork done by other clients. If a user\u0027s account has never been used with Open Financial\r\nExchange, the server returns no history.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server can use different types of tokens for different types of\r\nresponses, if suitable for the server. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETokens will be subject to a maximum size; see Chapter 3, \u0026quot;Common\r\nAggregates, Elements, and Data Types.\u0026quot; Tokens need to be unique only with respect to\r\na specific type of synchronization request and the additional information in that request.\r\nFor example, a bill payment synchronization request takes an account number; therefore, a\r\ntoken needs to be unique only within payments for a specific account.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EServers will not have infinite history available, so synchronization\r\nresponses include a \u0026lt;LOSTSYNC\u0026gt; element with a value of Y (yes) if the old token in\r\nthe synchronization request was older than available history. This tag allows clients to\r\nalert users that some responses have been lost.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E A token is unrelated to a \u0026lt;TRNUID\u0026gt;,\r\n\u0026lt;SRVRTID\u0026gt;, or \u0026lt;FITID\u0026gt;. Each of these serves a specific purpose, and has its\r\nown scope and lifetime. \u003C/i\u003E\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA \u0026lt;SRVRTID\u0026gt; is not appropriate as a \u0026lt;TOKEN\u0026gt; for bill\r\npayment. A single payment has a single \u0026lt;SRVRTID\u0026gt;, but it can undergo several state\r\nchanges over its life and thus have several entries in the token history.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere are three different ways a client and a server can conduct their\r\nrequests and responses:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EExplicit synchronization - A client can request synchronization without\r\n sending any (other) Open Financial Exchange requests. Clients will send a specific\r\n synchronization request, including the current token for that request. The response will\r\n be a set of individual responses more recent than the given token, along with a new token.\r\n \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESynchronization with new requests - A client can request synchronization\r\n as part of the response to any new requests it has. It gives the old token. The response\r\n should include responses to the new requests plus any others that became available since\r\n the old token, along with a new token. An aggregate contains the requests so that the\r\n server can process the new requests and update the token as an atomic action.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ENew requests without synchronization - A client can make new requests\r\n without providing the old token. In this case, it expects just responses to the new\r\n requests. A subsequent request for synchronization will cause the client to send the same\r\n response again, because the client did not update its token.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach request and response that requires data synchronization will define\r\na synchronization aggregate. The aggregate tells the server which particular kind of data\r\nit should synchronize. By convention, these aggregates always have SYNC as part of their\r\ntag names, for example, \u0026lt;PMT\u003Cb\u003ESYNC\u003C/b\u003ERQ\u0026gt;. You can use these aggregates on their\r\nown to perform explicit synchronization, or as wrappers around one or more new\r\ntransactions. For example, you can use \u0026lt;PMTSYNCRQ\u0026gt; aggregates to request\r\nsynchronization in combination with new work. You can use the \u0026lt;PMTTRNRQ\u0026gt; by itself\r\nif you do not require synchronization.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome clients can choose to perform an explicit synchronization before\r\nsending any new requests (with or without synchronization). This practice allows clients\r\nto be up-to-date and possibly interact with the user before sending any new requests.\r\nOther clients can simply send new requests as part of the synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a client synchronizes in one file, then sends new work inside a\r\nsynchronization request in a second file, there is a small chance that additional\r\nresponses become available between the two connections. There is even a smaller chance\r\nthat these would be conflicting requests, such as modifications to the same object.\r\nHowever, some clients and some requests might require absolute control, so that the user\r\ncan be certain that they are changing known data. To support this, synchronization\r\nrequests can optionally specify \u0026lt;REJECTIFMISSING\u0026gt;. The tag tells a server that it\r\nshould reject all enclosed requests if the supplied \u0026lt;TOKEN\u0026gt; is out of date \u003Ci\u003Ebefore\r\nconsidering the new requests.\u003C/i\u003E That is, if any new responses became available, whether\r\nrelated to the incoming requests or not (but part of the scope of the synchronization\r\nrequest), the server should immediately reject the requests. It should still return the\r\nnew responses. A client can then try again until it finds a stable window to submit the\r\nwork. See section 6.5 for more information about conflict detection and resolution.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe password change request and response present a special problem. See\r\nsection 2.5.2 for further information.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493301\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EConflict Detection and Resolution\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EConflicts arise whenever two or more users or servers modify the same\r\ndata. This can happen to any object that has a \u0026lt;SRVRTID\u0026gt; that supports change or\r\ndelete requests. For example, one spouse and the other might independently modify the same\r\nrecurring bill payment model. From a server perspective, there is usually no way to\r\ndistinguish between the same user making two intended changes and two separate users\r\nmaking perhaps unintended changes. Therefore, Open Financial Exchange provides enough\r\ntools to allow clients to carefully detect and resolve conflicts. Open Financial Exchange\r\nrequires only that a server process atomically all requests in a single \u0026lt;OFX\u0026gt; block.\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA careful client will always synchronize before sending any new\r\nrequests. If any responses come back that could affect a user\u0027s pending requests, the\r\nclient can ask the user whether it should still send those pending requests. Because there\r\nis a small chance for additional server actions to occur between the initial\r\nsynchronization request and sending the user\u0027s pending requests, extremely careful clients\r\ncan use the \u0026lt;REJECTIFMISSING\u0026gt; option. Clients can iterate sending pending requests\r\ninside a synchronization request with \u0026lt;REJECTIFMISSING\u0026gt; and testing the responses to\r\nsee if they conflict with pending requests. A client can continue to do this until a\r\nwindow of time exists wherein the client is the only agent trying to modify the server. In\r\nreality, this will almost always succeed on the first try.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493302\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESynchronization vs. Refresh\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere are some situations, and some types of clients, where it is\r\npreferable for a client to ask a server to send everything it knows, rather than just\r\nreceive a set of changes. For example, a situation where a client that has not connected\r\noften enough has lost synchronization. An example of \u0026quot;type\u0026quot; might be a\r\ncompletely stateless client, such as a web browser. This choice is made during client\r\nimplementation. Open Financial Exchange does not require a client to refresh just because\r\nit has lost synchronization.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients will mainly want to refresh lists of long-lived objects on the\r\nserver; generally objects with a \u0026lt;SRVRTID\u0026gt;. For example, Open Financial Exchange\r\nPayments has both individual payments and models of recurring payments. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA brand new client, or a client that lost synchronization, might want to\r\nlearn about in-progress payments by doing a synchronization refresh of the payment\r\nrequests. It would almost certainly want to do a synchronization refresh of the recurring\r\npayment models, because these often live for months or years. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA client might not perform a synchronization refresh on e-mail\r\nresponses.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA client can request a refresh by using the \u0026lt;REFRESH\u0026gt; tag with\r\nvalue of Y instead of the \u0026lt;TOKEN\u0026gt; tag. Server descriptions detail the exact behavior\r\nthat servers should follow. However, the general rule is that servers should send\r\nresponses that emulate a client creating or adding each of the objects governed by the\r\nparticular synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn these cases, you can set \u0026lt;TRNUID\u0026gt; to zero; the standard value\r\nfor server-generated responses. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere is no need to recreate a stream of responses that emulate the\r\nentire history of the object, just an add response that reflects the current state. For\r\nexample, if you create a model and then modify it three times, even if this history would\r\nhave been available for a regular synchronization, servers should only send a single add\r\nthat reflects the current state. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA client that just wants the current token, without refresh or\r\nsynchronization, makes requests with \u0026lt;TOKENONLY\u0026gt; and a value of Y.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn all cases, servers should send the current ending \u0026lt;TOKEN\u0026gt; for\r\nthe synchronization request in refresh responses. This allows a client to perform regular\r\nsynchronization requests in the future.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following table summarizes the options in a client synchronization\r\nrequest:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPrevious value of \u0026lt;TOKEN\u0026gt; received for this type of\r\n synchronization request from server; 0 for first-time requests; \u003Ci\u003Etoken\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKENONLY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequest for just the current \u0026lt;TOKEN\u0026gt; without the\r\n history, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REFRESH\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequest for refresh of current state, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REJECTIFMISSING\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf Y, do not process requests if client \u0026lt;TOKEN\u0026gt; is\r\n out of date, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003ENOTE:\u003C/b\u003E \u003Ci\u003EOpen Financial Exchange requires one each of\u003C/i\u003E \u0026lt;TOKEN\u0026gt;,\r\n\u0026lt;TOKENONLY\u0026gt;, \u003Ci\u003Eor\u003C/i\u003E \u0026lt;REFRESH\u0026gt;. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493303\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ETypical Server Architecture for\r\n Synchronization\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis section describes how an FI can approach supporting synchronization\r\nbased on the assumption that modifications to an existing financial server will be kept to\r\na minimum. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe simplest approach is to create a history database separate from the\r\nexisting server. This history could consist of the actual Open Financial Exchange\r\ntransaction responses (\u0026lt;TRNRS\u0026gt; aggregates) that are available to a synchronization\r\nrequest. The history database could index records by token, response type, and any other\r\nidentifying information for that type, such as account number. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe diagram below shows a high-level model of the Open Financial\r\nExchange architecture for a financial institution. Notice that the diagram shows the\r\npresence of a history journal. \u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server adds responses to the history journal for any action that\r\ntakes place on the existing server. This is true whether the Open Financial Exchange\r\nrequests initiate the action or, in the case of recurring payments, it happens\r\nautomatically on the server. Once added to the history journal, the server can forget\r\nthem.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe areas of the Open Financial Exchange server that process\r\nsynchronization requests need only search this history database for matching responses\r\nthat are more recent than the incoming token. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor a refresh request, an Open Financial Exchange server would access\r\nthe actual bank server to obtain the current state rather than recent history. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EPeriodically the bank server would purge the history server of older\r\nentries.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOnly requests that are subject to synchronization need to have entries\r\nin the history database. Statement downloads do not involve synchronization; therefore,\r\nthe FI server should not add these responses to the history database. Since statement\r\ndownloads are usually the largest in space and the most frequent, eliminating these saves\r\nmuch of the space a response history might otherwise require.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMore sophisticated implementations can save even more space. The history\r\ndatabase could save responses in a coded binary form that is more compact than the full\r\nOpen Financial Exchange response format. Some FIs might have much or all of the necessary\r\ndata already in their servers; consequently, they would not require new data. An FI could\r\nregenerate synchronization responses rather than recall them from a database.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493304\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ETypical Client Processing of\r\n Synchronization Results\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe diagram below shows a general flowchart of what an Open Financial\r\nExchange client would do with the results of a synchronization request. Most requests and\r\nresponses subject to data synchronization contain both \u0026lt;TRNUID\u0026gt; and \u0026lt;SRVRTID\u0026gt;.\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493305\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESimultaneous Connections\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIt is increasingly common that a server can get simultaneous or\r\noverlapping requests from the same user over two different computers. Open Financial\r\nExchange requires a server to process each set of requests sent in a file as an atomic\r\naction. Servers can deal with the problems that arise with simultaneous use in two ways:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EAllow simultaneous connections, insure each is processed atomically, and\r\n use the data synchronization mechanism to bring the two clients up to date. This is the\r\n preferred method.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ELock out all but one user at a time, returning the error code for\r\n multiple users.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493306\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESynchronization Alternatives\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAlthough it is \u003Cb\u003ERECOMMENDED \u003C/b\u003Ethat Open Financial Exchange servers\r\nimplement full synchronization as described in this chapter, an alternate approach,\r\n\u0026quot;lite synchronization,\u0026quot; could be easier for some servers to support. This\r\napproach focuses only on error recovery and does not provide any support for multiple\r\nclients, multiple data files, or use of backup files. The approach is to preserve the\r\nmessage sets while simplifying the implementation.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn addition, some clients might prefer to use response-file based error\r\nrecovery with all servers, even if the client and some server both support full\r\nsynchronization. This section first describes lite synchronization, and then explains the\r\nrules that clients and servers use to decide how to communicate.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493307\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ELite Synchronization\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ELite synchronization requires servers to accept all synchronization\r\nmessages, but does not require them to keep any history or tokens. Responses need only be\r\nsent once and then the server can forget them. Responses to client requests, whether or\r\nnot they are made inside a synchronization request, are processed normally. Responses that\r\nrepresent server-initiated work, such as payment responses that arise from recurring\r\npayments, are sent only in response to synchronization requests. A server does not have to\r\nhold responses in case a second client makes a synchronization request.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBecause full synchronization supports error recovery, an alternative is\r\nneeded for lite synchronization. Servers using lite synchronization keep a copy of the\r\nentire response file they last sent. Clients requesting that servers prepare for error\r\nrecovery generate a globally unique ID for each file they send. In the OFX headers, there\r\nare two tags associated with error recovery:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EOLDFILEUID - UID of the last request and response that was successfully\r\n received and processed by the client\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ENEWFILEUID - UID of the current file\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe format of these is the same as used with \u0026lt;TRNUID\u0026gt; as\r\ndocumented in Chapter 3.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EServers use the following rules:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf these tags are absent, the client is not requesting error recovery\r\n protection for this file. The server does not need to save a copy of the response.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf the NEWFILEUID matches a file saved on the server, then the client is\r\n in error recovery. The server must ignore the new requests in this file and instead send\r\n back the matching saved response file.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf the OLDFILEUID matches a file saved on the server, then OLDFILEUID is\r\n a file that the client has successfully processed and the server can delete it. The client\r\n is also requesting that the response for the current file be saved under the NEWFILEUID\r\n for possible error recovery.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA server will never need to save more than one file per client data\r\nfile, but because of possible multi-client or multi-datafile usage, it might need to save\r\nseveral files for a given user. A server should save as long as possible, but not\r\nindefinitely. A server cannot recognize an error recovery attempt if it comes after it has\r\npurged the error recovery file. A server would process it as a new request. In this case,\r\na server should recognize duplicate transaction UIDs for client-initiated work, such as\r\npayments, and then reject them individually. Server-generated responses would be lost to\r\nthe client.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor a server accustomed to sending unsolicited responses, lite\r\nsynchronization should closely match the current response-file based implementation. The\r\nonly difference is that a server should hold the unsolicited responses until the client\r\nmakes the first appropriate synchronization request; rather than automatically adding them\r\nto any response file. Once added, the server can mark them as delivered, relying on error\r\nrecovery to insure actual delivery.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493308\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERelating Synchronization and Error\r\n Recovery\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient and server developers should first decide whether they will\r\nsupport full synchronization or not. If they can, then they can support response-file\r\nerror recovery as well, or they can rely on synchronization to perform error recovery. If\r\nthey adopt only lite synchronization, Open Financial Exchange requires response-file error\r\nrecovery. A severs describes each of these choices in its server profile records. The\r\nfollowing combinations are valid:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFull synchronization with response-file error recovery\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFull synchronization without separate response-file error recovery\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ELite synchronization with response-file error recovery\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients request response-file error recovery by including the old and\r\nnew session UIDs in the header. If they are absent, servers need not save the response\r\nfile for error recovery. Clients request synchronization by using those synchronization\r\nrequests defined throughout this specification.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493309\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EHere is an example of full synchronization using bill payment as the\r\nservice. Open Financial Exchange Payments provides two different synchronization requests\r\nand responses, each with their own token; one for payment requests and one for repeating\r\npayment model requests. See Chapter 102 for full details.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThese simplified examples, show without the outer \u0026lt;OFX\u0026gt; layer,\r\n\u0026lt;SIGNON\u0026gt;, and so forth.Client A requests synchronization:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PMTSYNCRQ\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;123\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\u0026lt;/PMTSYNCRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe server sends in response:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;PMTSYNCRS\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;125\r\n\t\u0026lt;LOSTSYNC\u0026gt;N\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t... status details\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;123\r\n\t\t\u0026lt;PMTRS\u0026gt;\r\n\t\t\t... details on a payment response\r\n\t\t\u0026lt;/PMTRS\u0026gt;\r\n\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t... status details\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;546\r\n\t\t\u0026lt;PMTRS\u0026gt;\r\n\t\t\t... details on another payment response\r\n\t\t\u0026lt;/PMTRS\u0026gt;\r\n\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\u0026lt;/PMTSYNCRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient A was missing two payment responses, which the server provides.\r\nAt this point, client A is synchronized with the server. Client A now makes a new payment\r\nrequest, and includes a synchronization update as part of the request. This update avoids\r\nhaving to re-synchronize the expected response at a later time.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PMTSYNCRQ\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;125\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;PMTTRNRQ\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\t\u0026lt;PMTRQ\u0026gt;\r\n\t\t\t... details of a new payment request\r\n\t\t\u0026lt;/PMTRQ\u0026gt;\r\n\t\u0026lt;/PMTTRNRQ\u0026gt;\r\n\u0026lt;/PMTSYNCRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response to this new\r\nrequest:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;PMTSYNCRS\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;126\r\n\t\u0026lt;LOSTSYNC\u0026gt;N\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t... details on a payment response to the new request\r\n\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\u0026lt;/PMTSYNCRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client now knows that the server has processed the payments request\r\nit just made, and that nothing else has happened on the server since it last synchronized\r\nwith the server.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAssume client B was synchronized with respect to payments for this\r\naccount up through token 125. If it called in now and synchronized-with or without making\r\nadditional requests-it would pick up the payment response associated with token 126. It\r\nrecords the same information that was in client A, which would give both clients a\r\ncomplete picture of payment status.\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493310\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EFI Profile\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493311\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange clients use the profile to learn the\r\ncapabilities of an Open Financial Exchange server. This information includes general\r\nproperties such as account types supported, user password requirements, specific messages\r\nsupported, and how the client should batch requests and where to send the requests. A\r\nclient obtains a portion of the profile when a user first selects an FI. The client\r\nobtains the remaining information prior to sending any actual requests to that FI. The\r\nserver uses a timestamp to indicate whether the server has updated the profile, and the\r\nclient checks periodically to see if it should obtain a new profile.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn more detail, a profile response contains the following sections,\r\nwhich a client can request independently:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage Sets - list of services and any general attributes of those\r\n services. Message sets are collections of messages that are related functionally. They are\r\n generally subsets of what users see as a service.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon realms - FIs can require different signons (user ID and/or\r\n password) for different message sets. Because there can only be one signon per \u0026lt;OFX\u0026gt;\r\n block, a client needs to know which signon the server requires and then provide the right\r\n signon for the right batch of messages.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe profile message is itself a message set. In files, Open Financial\r\nExchange uses the \u0026lt;PROFMSGSV1\u0026gt; aggregate to identify this profile message set.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following sections describe the general use of profile information. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493312\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMessage Sets\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA message set is a collection of related messages. For example, Chapter\r\n11, \u0026quot;Banking,\u0026quot; defines several message sets: statement download, credit card\r\nstatement download, intrabank transfers, and so forth. A server routes all of the messages\r\nin a message set to a single URL and merges their versions together.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients and servers generally use message sets as the granularity to\r\ndecide what functionality they will support. A \u0026quot;banking\u0026quot; server can choose to\r\nsupport the statement download and intrabank transfer message sets, but not the wire\r\ntransfer message set. Attributes are available in many cases to further define how Open\r\nFinancial Exchange supports a message set.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach portion of the Open Financial Exchange specification that defines\r\nmessages also defines the message set to which that the messages belongs. This includes\r\nwhat additional attributes are available for those messages, and whether Open Financial\r\nExchange requires the message set or it is optional.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493313\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EVersion Control\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets are the basis of version control. Over time there will be\r\nnew versions of the message sets, and at any given time servers will likely want to\r\nsupport more than one version of a message set. Clients should also be capable of\r\nsupporting as many versions as possible. Through the profile, clients discover which\r\nversions are supported for each message set. Considering the client capabilities, it\r\nexchanges messages at the highest common level for each message set. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor the Open Financial Exchange-SGML data format, there is a single DTD\r\nfor all message sets. Its version advances when any \u003Ci\u003Esyntactic\u003C/i\u003E change is made to any\r\nof the message sets. (It is possible to make a \u003Ci\u003Esemantic\u003C/i\u003E change that would not even\r\nrequire a change in syntax. A change in rules, for example, that would change the version\r\nof the message set without changing the DTD.) A single DTD cannot have two different\r\ndefinitions for the same aggregate. There are limitations to how a server that uses true\r\nDTD-based parsing can handle multiple versions of a message at the same time.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493314\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBatching and Routing\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo allow FIs to set up different servers for different message sets,\r\ndifferent versions, or to directly route some messages to third party processors, message\r\nsets define the URL to which a server sends messages in that message set. Each version of\r\na message set can have a different URL. In the common case where many or all message sets\r\nare sent to a single URL, clients will consolidate messages across compatible message\r\nsets. Clients can consolidate when:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets have the same URL\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets have a common security level\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets have the same signon realm\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493315\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EProfile Request\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA profile request indicates which profile components a client desires.\r\nIt also indicates what the client\u0027s routing capability is. Profiles returned by the FI\r\nmust be compatible with the requested routing style, or it returns an error.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EProfile requests are not subject to synchronization. Use the\r\n\u0026lt;PROFTRNRQ\u0026gt; transaction tag.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003EPROFRQ\u003C/b\u003E\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EProfile-request aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CLIENTROUTING\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIdentifies client routing capabilities, see table below\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTPROFUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time client last received a profile update\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ENONE\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient cannot perform any routing. All URLs must be the\r\n same. All message sets share a single signon realm.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ESERVICE\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient can perform limited routing. See details below.\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EMSGSET\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient can route at the message-set level. Each message set\r\n may have a different URL and/or signon realm.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe intent of the SERVICE option for client routing is to support clients that can\r\nroute bill payment messages to a separate URL from the rest of the messages. Because the\r\nexact mapping of message sets to the general concept of bill payment can vary by client\r\nand by locale, this specification does not provide precise rules for the SERVICE option.\r\nEach client will define its requirements. \u003Cbr\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493316\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EProfile Response\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe response includes message set descriptions, signon information, and\r\ngeneral contact information.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PROFRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EProfile-response aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBeginning list of message set information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOne or more message set aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONINFOLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBeginning of signon information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOne or more signon information aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNONINFOLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTPROFUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETime this was updated on server, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FINAME\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EName of institution, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address, line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address, line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR3\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address, line 3\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address city\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address state\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address postal code\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address country\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CSPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECustomer service telephone number, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;TSPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETechnical support telephone number, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;FAXPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFax number, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL for general information about FI (not for sending data)\r\n \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail address for FI, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SYNCMODE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFULL for full synchronization capability \u003Cbr\u003E\r\n LITE for lite synchronization capability\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;RESPFILEER\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports response-file based error recovery, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003ESee the Chapter 6 for more information on \u0026lt;SYNCMODE\u0026gt; and \u0026lt;RESPFILEER\u0026gt;. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493317\u0022\u003EMessage Set\u003C/a\u003E \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn aggregate describes each message set supported by an FI. Message sets\r\nin turn contain an aggregate for each version of the message set that is supported. For a\r\nmessage set named \u003Ci\u003EXXX\u003C/i\u003E, the convention is to name the outer aggregate \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSET\u0026gt;\r\nand the tag for each version \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u0026gt;. The reason for message\r\nset-specific aggregates is that the set of attributes depends on the message set. These\r\ncan change from version to version, so there are version-specific aggregates as well.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe general form of the response is:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXMSGSETVn\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EVersion-of-message-set aggregate, 1 or more\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXMSGSETVn\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe \u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u003C/b\u003E\u0026gt; aggregate has the following form:\u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage-set-version aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003Emessage-set specific\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EZero or more attributes specific to this version of this\r\n message set, as defined by each message set\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe common message set information \u0026lt;MSGSETCORE\u0026gt; is as follows: \u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon-message-set-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;VER\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EVersion number, \u003Ci\u003EN-5 \u003C/i\u003E(version 1.0 formatted as 100)\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL where messages in this set are to be sent\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;OFXSEC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESecurity level required for this message set; see Chapter 4\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TRANSPSEC\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if transport security must be used, N if not used; \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONREALM\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon realm to use with this message set\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LANGUAGE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOne or more languages supported\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493318\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ESignon Realms\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA signon realm identifies a set of messages that can be accessed using\r\nthe same password. Realms are used to disassociate signons from specific services,\r\nallowing FIs to require different signons for different message sets. In practice, FIs\r\nwill want to use the absolute minimum number of realms possible to reduce the user\u0027s\r\nworkload.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONREALM\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIdentifies this realm\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MIN\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMinimum number of password characters\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAX\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMax number of password characters\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ALPHA\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if alphabetic characters are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;NUMERIC\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if numeric characters are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CASESEN\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if password is case-sensitive, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SPECIAL\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if special characters are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SPACES\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if spaces are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493319\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493320\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EProfile Message Set Profile\r\n Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image8.gif\u0022 width=\u0022214\u0022 height=\u0022214\u0022 alt=\u0022stadyn_image8.gif (22120 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image8\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026nbsp;\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe profile message set functions the same way as all other message\r\nsets; therefore, it contains a profile description for that message set. Because\r\n\u0026lt;PROFMSGSET\u0026gt; is always part of a message set response, it is described here. Servers\r\nthat support profile information must include the \u0026lt;PROFMSGSET\u0026gt; as part of the\r\nprofile response \u0026lt;MSGSETLIST\u0026gt;. There are no attributes, but the aggregate must be\r\npresent to indicate support for the message set.\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PROFMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage-set-profile-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PROFMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag for V1 of the message set profile information\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493321\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EActivation \u0026amp; Account Information\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493322\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Signup message set defines three messages to help users get setup\r\nwith their FI:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment - informs FI that a user wants to use Open Financial Exchange\r\n and requests that a password be returned\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccounts - asks the FI to return a list of accounts, and the services\r\n supported for each account\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EActivation - allows a client to tell the FI which services a user wants\r\n on each account\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere is also a message to request name and address changes.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use the account information request on a regular basis to look\r\nfor changes in a user\u0027s account information. A timestamp is part of the request so that a\r\nserver has only to report new changes. Account activation requests are subject to data\r\nsynchronization, and will allow multiple clients to learn how the other clients have been\r\nenabled.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn Open Financial Exchange files, the \u0026lt;SIGNUPMSGSV1\u0026gt; aggregate\r\nidentifies the Signup message.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493323\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EApproaches to User Sign-Up with Open\r\n Financial Exchange\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe message sets in this chapter are designed to allow both FIs and\r\nclients to support a variety of sign-up procedures. There are four basic steps a user\r\nneeds to go through to complete the sign-up:\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003ESelect the FI\u003C/b\u003E. Open Financial Exchange does not define this step\r\n or provide message sets to support it. Client developers and FIs can let a user browse or\r\n search this information on a web site, or might define additional message sets to do this\r\n within the client. At the conclusion of this step, the client will have some minimal\r\n profile information about the FI, including the set of services supported and the URL to\r\n use for the next step.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EEnrollment and password acquisition.\u003C/b\u003E In this step, the user\r\n identifies and authenticates itself to the FI \u003Ci\u003Ewithout a password\u003C/i\u003E. In return, the\r\n user obtains a password (possibly temporary) to use with Open Financial Exchange. FIs can\r\n perform this entire step over the telephone, through a combination of telephone requests\r\n and a mailed response, or at the FI web site. FIs can also use the Open Financial Exchange\r\n enrollment message to do this by means of the client. The response can contain a temporary\r\n password or users can wait for a mailed welcome letter containing the password.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EAccount Information.\u003C/b\u003E In this step, the user obtains a list of\r\n accounts available for use with Open Financial Exchange, and which specific services are\r\n available for each account. Even if users have enrolled over the telephone, clients will\r\n still use this message set to help users properly set up the accounts within the client.\r\n Clients periodically check back with the FI for updates.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EService Activation.\u003C/b\u003E The last step is to activate specific services\r\n on specific accounts. The activation messages support this step. Synchronization is\r\n applied to these messages to insure that other clients are aware of activated services.\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe combination of media-interface through which an FI accomplishes\r\nthese steps can vary. FIs might wish to do steps two through four over the telephone.\r\nClients will still use Open Financial Exchange messages in steps 3 and 4 to automatically\r\nset up the client based on the choices made by the user over the phone. Other FIs might\r\nwish to have the entire user experience occur within the client. Either way, the Open\r\nFinancial Exchange sign-up messages support the process.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493324\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EUsers and Accounts\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo support the widest possible set of FIs, Open Financial Exchange\r\nassumes that individual users and accounts are in a many-to-many relationship. Consider a\r\nhousehold with three accounts:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 1 - held individually by one spouse\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 2 - held jointly by both\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 3 - held individually by the other spouse\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 2 should be available to either spouse, and the spouse holding\r\nChecking 1 should be able to see both Checking 1 and 2.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange expects FIs to give each user their own user ID\r\nand password. Each user will go through the enrollment step separately. A given account\r\nneed only be activated once for a service; not once for each user. Clients will use the\r\naccount information and activation messages to combine information about jointly-held\r\naccounts.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf an FI prefers to have a single user ID and password per household or\r\nper master account, they will have to make this clear to users through the enrollment\r\nprocess. It is up to the FI to assign a single user ID and password that can access all\r\nthree of the checking accounts described above.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493325\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EEnrollment and Password Acquisition\r\n \u0026lt;ENROLLRQ\u0026gt; \u0026lt;ENROLLRS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe main purpose of the enrollment message is to communicate a user\u0027s\r\nintent to access the FI by way of Open Financial Exchange and to acquire a password for\r\nfuture use with Open Financial Exchange. Some FIs might return a user ID and an initial\r\npassword in the enrollment response, while others will send them by way of regular mail. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Because the server does not know the user ID and\r\npassword when the client sends the enrollment request, the \u0026lt;SONRQ\u0026gt; will not contain\r\na valid user ID or password. The enrollment message accepts standard user identification\r\ninformation. \u003C/i\u003E\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment requests are not subject to synchronization. If the client\r\ndoes not receive a response, it will simply re-request the enrollment. If a user\r\nsuccessfully enrolls from another client before the first client obtains a response, the\r\nserver should respond to subsequent requests from the first client with status code: \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E13501 - user already enrolled.\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493326\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EUser IDs\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Open Financial Exchange \u0026lt;SONRQ\u0026gt; requires a user ID to uniquely\r\nidentify a user to an FI. Many FIs in the United States use social security numbers (SSNs)\r\nas the ID. Others create IDs that are unrelated to the users\u0027 SSNs. FIs can have an\r\nexisting user IDs that they use for other online activities that they wish to use for Open\r\nFinancial Exchange as well. They might also create new IDs specifically for Open Financial\r\nExchange. Finally, some FIs might assign IDs while others might allow users to create\r\nthem. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBecause users do not usually know either their Open Financial Exchange\r\nsign-on user ID or their password at time of enrollment, the enrollment response is\r\ndesigned to return both. The enrollment request allows users to optionally provide a user\r\nID, which an FI can interpret as their existing online ID or a suggestion for what their\r\nnew user ID should be. It is recommended that the enrollment process explains ID syntax to\r\nusers.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493327\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EEnrollment Request\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe enrollment request captures enough information to identify and\r\nauthenticate a user as being legitimate and that it has a relationship with the FI. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFIs might require that an account number be entered as part of the\r\nidentification process. However, this is discouraged since the account information request\r\nis designed to automatically obtain all account information, avoiding the effort and\r\npotential mistakes of a user-supplied account number. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIt is \u003Cb\u003ERECOMMENDED\u003C/b\u003E that FIs provide detailed specifications for\r\nIDs and passwords along with information about the services available when a user is\r\nchoosing an FI.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ENROLLRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FIRSTNAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFirst name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MIDDLENAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMiddle name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LASTNAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR3\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 3\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECity\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EState or province\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPostal code\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E3-letter country code from ISO/DIS-3166\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DAYPHONE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDaytime telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EVEPHONE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvening telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EElectronic e-mail address\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EActual user ID if already known, or preferred user ID if\r\n user can pick\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TAXID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EID used for tax purposes (such as SSN), may be same as user\r\n ID\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SECURITYNAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMother\u0027s maiden name or equivalent\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DATEBIRTH\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate of birth\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;\u003Ci\u003EACCTFROM\u0026gt;\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn account description aggregate for one existing account\r\n at the FI, for identification purposes only. Can be \u0026lt;BANKACCTFROM\u0026gt;,\r\n \u0026lt;INVACCTFROM\u0026gt;, etc.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;/\u003Ci\u003EACCTFROM\u003C/i\u003E\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ENROLLRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThis enrollment request is intended for use only by individuals. Business enrollment\r\nwill be defined in a later release. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493328\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EEnrollment Response\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe main purpose of the enrollment response is to acknowledge the\r\nrequest. In those cases where FIs permit delivery of an ID and a temporary password, the\r\nresponse also provides for this. Otherwise the server will send the real response to the\r\nuser by way of regular mail, electronic mail, or over the telephone. If enrollment is\r\nsuccessful, but the server does not return the ID and password in the response, a server\r\nis REQUIRED to use status code 10 and provide some information to the user by means of the\r\n\u0026lt;MESSAGE\u0026gt; element in the \u0026lt;STATUS\u0026gt; aggregate about what to expect next.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ENROLLRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;TEMPPASS\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETemporary password\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser ID\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DTEXPIRE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETime the temporary password expires (if \u0026lt;TEMPPASS\u0026gt;\r\n included)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ENROLLRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493329\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EEnrollment Status Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser ID \u0026amp; password will be sent out-of-band (INFO)\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13500\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnable to enroll (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13501\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser already enrolled (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493330\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn\r\n enrollment request:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ENROLLTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345 \r\n\t\u0026lt;ENROLLRQ\u0026gt;\r\n\t\t\u0026lt;FIRSTNAME\u0026gt;Joe\r\n\t\t\u0026lt;MIDDLENAME\u0026gt;Lee\r\n\t\t\u0026lt;LASTNAME\u0026gt;Smith\r\n\t\t\u0026lt;ADDR1\u0026gt;21 Main St.\r\n\t\t\u0026lt;CITY\u0026gt;Anytown\r\n\t\t\u0026lt;STATE\u0026gt;TX\r\n\t\t\u0026lt;POSTALCODE\u0026gt;87321\r\n\t\t\u0026lt;COUNTRY\u0026gt;USA\r\n\t\t\u0026lt;DAYPHONE\u0026gt;123-456-7890\r\n\t\t\u0026lt;EVEPHONE\u0026gt;987-654-3210\r\n\t\t\u0026lt;EMAIL\u0026gt;jsmith@isp.com\r\n\t\t\u0026lt;USERID\u0026gt;jls\r\n\t\t\u0026lt;TAXID\u0026gt;123-456-1234\r\n\t\t\u0026lt;SECURITYNAME\u0026gt;jbmam\r\n\t\t\u0026lt;DATEBIRTH\u0026gt;19530202\r\n\t\u0026lt;/ENROLLRQ\u0026gt;\r\n\u0026lt;/ENROLLTRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EAnd the reply might be:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;ENROLLTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;ENROLLRS\u0026gt;\r\n\t\t\u0026lt;TEMPPASS\u0026gt;changeme\r\n\t\t\u0026lt;USERID\u0026gt;jls\r\n\t\t\u0026lt;DTEXPIRE\u0026gt;19970105\r\n\t\u0026lt;/ENROLLRS\u0026gt;\r\n\u0026lt;/ENROLLTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493331\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EAccount Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount information requests ask a server to identify and describe all\r\nof the accounts accessible by the signed-on user. The definition of \u003Ci\u003Eall\u003C/i\u003E is up to\r\nthe FI. At a minimum, it is \u003Cb\u003ERECOMMENDED\u003C/b\u003E that a server include information about all\r\naccounts that it can activate for one or more Open Financial Exchange services. To give\r\nthe user a complete picture of his relationship with an FI, FIs can give information on\r\nother accounts, even if those accounts are available only for limited Open Financial\r\nExchange services.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome service providers will not have any prior knowledge of any user\r\naccount information. The profile allows these servers to report this, and clients will\r\nthen know to ask users for account information rather than reading it from the server.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients can perform several tasks for users with this account\r\ninformation. First, the information helps a client set up a user for online services by\r\ngiving it a precise list of its account information and available services for each.\r\nClients can set up their own internal state as well as prepare service activation requests\r\nwith no further typing by users. This can eliminate data entry mistakes in account\r\nnumbers, routing transit numbers, and so forth.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESecond, FIs can provide limited information on accounts that would not\r\nordinarily be suitable to Open Financial Exchange services. For example, a balance-only\r\nstatement download would be useful for certificates of deposits even though a customer or\r\nan FI might not want or allow CDs to be used for full statement download.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor each account, there is one \u0026lt;ACCTINFO\u0026gt; aggregate returned. The\r\naggregate includes one service-specific account information aggregate for each available\r\nservice on that account. That, in turn, provides the service-specific account\r\nidentification. Common to each service-specific account information aggregate is the\r\n\u0026lt;SVCSTATUS\u0026gt; tag, which indicates the status of this service on this account.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA server should return joint accounts (accounts for which more than one\r\nuser ID can be used to access the account) for either user. Clients that wish to have a\r\nunified view will aggregate the results and remove duplicates before making specific\r\nrequests involving joint accounts.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequests and responses include a \u0026lt;DTACCTUP\u0026gt; element. Responses\r\ncontain the last time a server updated the information. Clients can \u003Cb\u003EOPTIONALLY \u003C/b\u003Esend\r\nthis in a subsequent request, and servers are \u003Cb\u003EREQUIRED \u003C/b\u003Eto compare this to the\r\ncurrent modification time and only send information if it is more recent. The server sends\r\nthe entire account information response if the client\u0027s time is older; there is no attempt\r\nto incrementally update specific account information.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493332\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERequest \u0026lt;ACCTINFORQ\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-information-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DTACCTUP\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast \u0026lt;DTACCTUP\u0026gt; received in a response\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;INCIMAGES\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server should include logo in response, N if client\r\n will separately fetch them based on given URL; \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493333\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EResponse \u0026lt;ACCTINFORS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-information-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTACCTUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of last update to this information on the\r\n server\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ACCTINFO\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EZero or more account information aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;/ACCTINFO\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnd of account information response\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493334\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EAccount Information Aggregate\r\n \u0026lt;ACCTINFO\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022210\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022288\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-information-record aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DESC\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription of the account, \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PHONE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETelephone number for the account, \u003Ci\u003EA-20\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LOGO\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL to request the logo for the account (actual logos\r\n should be included via multi-part MIME in the response file if requested), \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003E\u003Cb\u003EXXXACCTINFO\u0026gt;\u003C/b\u003E\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific account information, defined in each\r\n service chapter, one or more allowed\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXACCTFROM\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific account identification\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXACCTFROM\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCSTATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAVAIL = Available, but not yet requested\u003C/font\u003E \u003Cp\u003E\u003Cfont\r\n SIZE=\u00222\u0022\u003EPEND = Requested, but not yet available\u003C/font\u003E \u003C/p\u003E\r\n \u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EACTIVE = In use\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXACCTINFO\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E A server uses the \u0026lt;DESC\u0026gt; field to convey the FI\u0027s preferred name\r\nfor the account, such as \u0026quot;PowerChecking.\u0026quot; It should not include the account\r\nnumber. \u003C/i\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493335\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13001\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENo change since supplied \u0026lt;DTACCTUP\u0026gt; (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493336\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn\r\n account information request:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFOTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;ACCTINFORQ\u0026gt;\r\n\t\t\u0026lt;DTACCTUP\u0026gt;19960101\r\n\t\t\u0026lt;INCIMAGES\u0026gt;N\r\n\t\u0026lt;/ACCTINFORQ\u0026gt;\r\n\u0026lt;/ACCTINFOTRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EAnd a response for a\r\nuser with access to one account, supporting banking:\r\n\u003Ca\r\nNAME=\u0022_Toc379956901\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFOTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;ACCTINFORS\u0026gt;\r\n\t\t\u0026lt;DTACCTUP\u0026gt;19960102\r\n\t\t\u0026lt;ACCTINFO\u0026gt;\r\n\t\t\u0026lt;DESC\u0026gt;Power Checking\r\n\t\t\u0026lt;PHONE\u0026gt;8002223333\r\n\t\t\u0026lt;LOGO\u0026gt;https://www.fi.com/ofx/logos/powercheck.jpg\r\n\t\t\t\u0026lt;BANKACCTINFO\u0026gt;\r\n\t\t\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\t\t\u0026lt;BANKID\u0026gt;1234567789\r\n\t\t\t\t\t\u0026lt;ACCTID\u0026gt;12345\r\n\t\t\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;SUPTXDL\u0026gt;Y\r\n\t\t\t\u0026lt;XFERSRC\u0026gt;Y\r\n\t\t\t\u0026lt;XFERDEST\u0026gt;Y\r\n\t\t\t\u0026lt;SVCSTATUS\u0026gt;ACTIVE\r\n\t\t\t\u0026lt;/BANKACCTINFO\u0026gt;\t\r\n\t\t\u0026lt;/ACCTINFO\u0026gt;\r\n\t\u0026lt;/ACCTINFORS\u0026gt;\r\n\u0026lt;/ACCTINFOTRNRS\u0026gt;\u003C/font\u003E\u003C/a\u003E\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493337\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EService Activation\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients inform FIs that they wish to start, modify, or terminate a\r\nservice for an account by sending service activation requests. These are subject to data\r\nsynchronization, and servers should send responses to inform clients of any changes, even\r\nif the changes originated on the server. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use these records during the initial user sign-up process. Once\r\na client learns about the available accounts and services (by using the account\r\ninformation request above, or by having a user directly enter the required information),\r\nit sends a series of service ADD requests.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a user changes any of the identifying information about an account,\r\nthe client sends a service activation request containing both the old and the new account\r\ninformation. Servers should interpret this as a change in the account, not a request to\r\ntransfer the service between two existing accounts, and all account-based information such\r\nas synchronization tokens should continue. If a user or FI is reporting that service\r\nshould be moved between two existing accounts, service must be terminated for the old\r\naccount and started for the new account. The new account will have reset token histories,\r\nas with any new service.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach service to be added, changed, or removed is contained in its own\r\nrequest because the same real-world account might require different \u0026lt;ACCTFROM\u0026gt;\r\naggregates depending on the type of service.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493338\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EActivation Request and Response\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ERequest \u0026lt;ACCTRQ\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-service-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAction aggregate, either \u0026lt;SVCADD\u0026gt;, \u0026lt;SVCCHG\u0026gt;, or\r\n \u0026lt;SVCDEL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService to be added/changed/deleted\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EResponse \u0026lt;ACCTRS\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-service-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAction aggregate, either \u0026lt;SVCADD\u0026gt;, \u0026lt;SVCCHG\u0026gt;, or\r\n \u0026lt;SVCDEL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService to be added/changed:\u003C/font\u003E \u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBANKSVC\r\n = Banking service\u003Cbr\u003E\r\n BPSVC = Payments service\u003Cbr\u003E\r\n INVSVC = Investments\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EService Add Aggregate \u0026lt;SVCADD\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCADD\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-add aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTTO\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTTO\u0026gt;, \u0026lt;INVACCTTO\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTTO\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SVCADD\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EService Change Aggregate \u0026lt;SVCCHG\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCCHG\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-add aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTFROM\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTFROM\u0026gt;, \u0026lt;INVACCTFROM\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTFROM\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTTO\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTTO\u0026gt;, \u0026lt;INVACCTTO\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTTO\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SVCCHG\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EService Delete Aggregate \u0026lt;SVCDEL\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCDEL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-deletion aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTFROM\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTFROM\u0026gt;, \u0026lt;INVACCTFROM\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTFROM\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SVCDEL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc378489965\u0022\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2002\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOther account error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2006\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESource (from) account not found (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2007\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESource (from) account closed (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2008\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESource (from) account not authorized (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2009\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDestination (to) account not found (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2010\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDestination (to) account closed (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2011\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDestination (to) account not authorized (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13502\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvalid service (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493339\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EService Activation Synchronization\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EService activation requests are subject to the standard data\r\nsynchronization protocol. The scope of these requests and the \u0026lt;TOKEN\u0026gt; is the\r\nuser-ID. The request and response tags are \u0026lt;ACCTSYNCRQ\u0026gt; and \u0026lt;ACCTSYNCRS\u0026gt;.\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493340\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EActivating\r\n a payment:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;ACCTRQ\u0026gt;\r\n\t\t\u0026lt;SVCADD\u0026gt;\r\n\t\t\t\u0026lt;BANKACCTTO\u0026gt;\r\n\t\t\t\t\u0026lt;BANKID\u0026gt;1234567789\r\n\t\t\t\t\u0026lt;ACCTID\u0026gt;12345\r\n\t\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\t\u0026lt;/BANKACCTTO\u0026gt;\t\r\n\t\t\u0026lt;/SVCADD\u0026gt;\t\r\n\t\t\u0026lt;SVC\u0026gt;BPSVC\r\n\t\u0026lt;/ACCTRQ\u0026gt;\t\r\n\u0026lt;/ACCTTRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EA response:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;ACCTTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;ACCTRS\u0026gt;\r\n\t\t\u0026lt;SVCADD\u0026gt;\r\n\t\t\t\u0026lt;BANKACCTTO\u0026gt;\r\n\t\t\t\t\u0026lt;BANKID\u0026gt;1234567789\r\n\t\t\t\t\u0026lt;ACCTID\u0026gt;12345\r\n\t\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\t\u0026lt;/BANKACCTTO\u0026gt;\t\r\n\t\t\u0026lt;/SVCADD\u0026gt;\t\r\n\t\t\u0026lt;SVC\u0026gt;BPSVC\r\n\t\u0026lt;/ACCTRS\u0026gt;\t\r\n\u0026lt;/ACCTTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493341\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EName and Address Changes\r\n \u0026lt;CHGUSERINFORQ\u0026gt; \u0026lt;CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUsers may request that an FI update the official name, address, phone,\r\nand e-mail information using the \u0026lt;CHGUSERINFORQ\u0026gt;. Only the fields that should be\r\nchanged are sent. The response reports all of the current values. For security reasons,\r\nsome of the fields in the \u0026lt;ENROLLRQ\u0026gt; cannot be changed online, such as tax ID. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe transaction tag is \u0026lt;CHGUSERINFOTRNRQ\u0026gt; and\r\n\u0026lt;CHGUSERINFOTRNRSRQ\u0026gt;. These methods are subject to synchronization,\r\n\u0026lt;CHGUSERINFOSYNCRQ\u0026gt; and \u0026lt;CHGUSERINFOSYNCRS\u0026gt;.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493342\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CHGUSERINFORQ\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CHGUSERINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EChange-user-information-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;FIRSTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFirst name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;MIDDLENAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMiddle name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;LASTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR3\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 3\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECity\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EState or province\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPostal code\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E3-letter country code from ISO/DIS-3166\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DAYPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDaytime telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EVEPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvening telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EElectronic e-mail address\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/CHGUSERINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493343\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EChange-user-information-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;FIRSTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFirst name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;MIDDLENAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMiddle name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;LASTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECity\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EState or province\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPostal code\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E3-letter country code from ISO/DIS-3166\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DAYPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDaytime telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EVEPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvening telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EElectronic e-mail address\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTINFOCHG\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of update \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493344\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13503\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECannot change user information (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493345\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESignup Message Set Profile\r\n Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA server must include the following aggregates as part of the profile\r\n\u0026lt;MSGSETLIST\u0026gt; response, since every server must support at least the account\r\ninformation and service activation messages. In the \u0026lt;ENROLLPROF\u0026gt; aggregate, servers\r\nindicate how enrollment should proceed: via the client, a given web page, or a text\r\nmessage directing users to some other method (such as a phone call)..\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNUPMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignup-message-set-profile-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNUPMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag for V1 of the message set profile information\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information, defined in the profile\r\n chapter\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment options - only one of \u0026lt;CLIENTENROLL\u0026gt;,\r\n \u0026lt;WEBENROLL\u0026gt;, or \u0026lt;OTHERENROLL\u0026gt; is allowed\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003ECLIENTENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-based enrollment supported\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTREQUIRED\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if account number is required as part of enrollment \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003ECLIENTENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003EWEBENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWeb-based enrollment supported\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL to start enrollment process\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/WEBENROLL\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003EOTHERENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome other enrollment process\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MESSAGE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage to give to consumer about what to do next (e.g. a\r\n phone number) \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003EOTHERENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CHGUSERINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports client-based user information changes\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;AVAILACCTS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server can provide information on accounts with\r\n SVCSTATUS available, N means client should expect to ask user for specific account\r\n information \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNUPMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNUPMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Cbr\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493346\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ECustomer to FI Communication\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493347\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EThe E-Mail Message Set\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe e-mail message set includes two messages: generic e-mail and generic\r\nMIME requests by way of URLs. In Open Financial Exchange files, the message set name is\r\nEMAILMSGSV1.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493348\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EE-Mail Messages\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange allows consumers and FIs to exchange messages.\r\nThe message body is in HTML so that FIs can provide some graphic structure to the message.\r\nKeep in mind that, as with regular World Wide Web browsing, an Open Financial Exchange\r\nclient might not support some or all of the HTML formatting, so the text of the message\r\nmust be clear on its own. Clients can request that graphics (the images referenced in an\r\n\u0026lt;IMG\u0026gt; tag) be sent as part of the response file, or clients can separately request\r\nthose elements. If a server sends images, it should use the standard procedure for\r\nincorporating external data as described in Chapter 2. Servers are not required to support\r\nHTML or to send images, even if the client asks.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA user or an FI can originate a message. E-mail messages are subject to\r\ndata synchronization so that a server can send a response again if it is lost or if it is\r\nused by multiple clients.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBecause e-mail messages cannot be replied to immediately, the response\r\nshould just echo back the original message (so that data synchronization will get this\r\noriginal e-mail message to other clients). When the FI is ready to reply, it should\r\ngenerate an unsolicited response (\u0026lt;TRNUID\u0026gt;0) and the client will pick this up during\r\nsynchronization.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDERCOLOR=\u0022#000000\u0022 BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#FFFFFF\u0022 WIDTH=\u0022156\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EClient Sends\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#FFFFFF\u0022 WIDTH=\u0022168\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EServer Responds\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EAccount information\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EFrom, To\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ESubject\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EMessage\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFrom, To\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESubject\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EType\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493349\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERegular vs. Specialized E-Mail\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeveral services with Open Financial Exchange define e-mail requests and\r\nresponses that contain additional information specific to that service. To simplify\r\nimplementation for both clients and servers, this section defines a \u0026lt;MAIL\u0026gt; aggregate\r\nthat Open Financial Exchange uses in all e-mail requests and responses. For regular\r\ne-mail, the only additional information is an account from aggregate and whether to\r\ninclude images in the e-mail response or not. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493350\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBasic \u0026lt;MAIL\u0026gt; Aggregate\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECore e-mail aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser ID such as SSN\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTCREATED\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen message was created \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FROM\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECustomer\u0027s input for whom message is from, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TO\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWho e-mail should be delivered to, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SUBJECT\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESubject of message (plain text, not HTML), \u003Ci\u003EA-60\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGBODY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBody of message, HTML-encoded or plain text depending on\r\n \u0026lt;USEHTML\u0026gt;, \u003Ci\u003EA-10000\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGBODY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnd of message\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;INCIMAGES\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInclude images in response, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USEHTML\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if client wants an HTML response, N if client wants plain\r\n text, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EIf using HTML for the message body, clients and servers are \u003Cb\u003EREQUIRED\u003C/b\u003E to wrap the\r\ndesired HTML in an SGML marked section to protect the HTML markup: \u0026lt;![ CDATA [ ... html\r\n... ]]\u0026gt;. See the example. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493351\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EE-Mail \u0026lt;MAILRQ\u0026gt; \u0026lt;MAILRS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail is subject to synchronization. The transaction tag is\r\n\u0026lt;MAILTRNRQ\u0026gt; / \u0026lt;MAILTRNRS\u0026gt; and the synchronization tag is \u0026lt;MAILSYNCRQ\u0026gt; /\r\n\u0026lt;MAILSYNCRS\u0026gt;.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-message-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECore e-mail aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EIn a response, the \u0026lt;TRNUID\u0026gt; is zero if this is an unsolicited message. Otherwise,\r\nit should contain the \u0026lt;TRNUID\u0026gt; of the user\u0027s original message. It is RECOMMENDED\r\nthat servers include the \u0026lt;MESSAGE\u0026gt; of the user\u0027s message as part of the reply\r\n\u0026lt;MESSAGE\u0026gt;. The \u0026lt;MESSAGE\u0026gt; contents can include carriage returns to identify\r\ndesired line breaks. \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-message-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECore e-mail aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc378489974\u0022\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16500\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EHTML not allowed (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16501\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnknown mail To: (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493352\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EE-Mail Synchronization\r\n \u0026lt;MAILSYNCRQ\u0026gt; \u0026lt;MAILSYNCRS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses data synchronization to collect responses\r\nthat could have been lost due to communication problems, or that the servers previously\r\nsent to a different client or data file. All messages sent to the signed-on user ID are\r\ncovered by a single \u0026lt;TOKEN\u0026gt;. Note that this synchronization action expects only the\r\nbasic \u0026lt;MAILRS\u0026gt; responses. Specialized e-mail is received by means of their own\r\nsynchronization requests.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILSYNCRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-synchronization-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient history marker\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;INCIMAGES\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInclude images in response, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USEHTML\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if client wants an HTML response, N if client wants plain\r\n text, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILSYNCRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILSYNCRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-synchronization-response. aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EServer history marker\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILTRNRS\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMissing e-mail response transactions (0 or more)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILSYNCRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493353\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExample\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn this example, a consumer requests information from customer service\r\nabout the checking statement just downloaded. This example omits the \u0026lt;OFX\u0026gt; top level\r\nand the signon \u0026lt;SONRQ\u0026gt;. This example uses HTML for the message body, and so it must\r\nprotect the HTML content in an SGML CDATA marked section.The request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;MAILRQ\u0026gt;\r\n\t\t\u0026lt;MAIL\u0026gt;\r\n\t\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\t\t\u0026lt;FROM\u0026gt;James Hackleman\r\n\t\t\t\u0026lt;TO\u0026gt;Noelani Federal Savings\r\n\t\t\t\u0026lt;SUBJECT\u0026gt;What do I need to earn interest?\r\n\t\t\t\u0026lt;DTCREATED\u0026gt;19960305\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E\t\t\t\u0026lt;MSGBODY\u0026gt;\u0026lt;![ CDATA [\u0026lt;HTML\u0026gt;\u0026lt;BODY\u0026gt;I didn\u0027t earn any interest this month. Can you please tell me what I need to do to earn interest on this account?\u0026lt;/BODY\u0026gt;\u0026lt;/HTML\u0026gt;\r\n]]\u0026gt;\u0026lt;/MSGBODY\u0026gt;\r\n\t\t\t\u0026lt;INCIMAGES\u0026gt;N\r\n\t\t\t\u0026lt;USEHTML\u0026gt;Y\r\n\t\t\u0026lt;/MAIL\u0026gt;\r\n\t\u0026lt;/MAILRQ\u0026gt;\r\n\u0026lt;/MAILTRNRQ\u0026gt;The response from the FI:\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;MAILTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;MAILRS\u0026gt;\r\n\t\t\u0026lt;MAIL\u0026gt;\r\n\t\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\t\t\u0026lt;DTCREATED\u0026gt;19960307\r\n\t\t\t\u0026lt;FROM\u0026gt;Noelani Federal Savings\r\n\t\t\t\u0026lt;TO\u0026gt;James Hackleman\r\n\t\t\t\u0026lt;SUBJECT\u0026gt;Re: What do I need to earn interest?\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E\t\t\t\u0026lt;MSGBODY\u0026gt;\u0026gt;\u0026lt;![ CDATA [\u0026lt;HTML\u0026gt;\u0026lt;BODY\u0026gt;You need to maintain $1000 in this account to earn interest. Because your balance was only $750 this month, no interest was earned. You could also switch to our new Checking Extra plan that always pays interest. Call us or check our web page http://www.fi.com/check-plans.html for more information.\r\nSincerely,\r\nCustomer Service Department\r\n\r\nOriginal message:\r\nI didn\u0027t earn any interest this month. Can you please tell me what I need to do to earn interest on this account?\u0026lt;/BODY\u0026gt;\u0026lt;/HTML\u0026gt;\r\n]]\u0026gt;\u0026lt;/MSGBODY\u0026gt;\r\n\t\t\t\u0026lt;INCIMAGES\u0026gt;N\r\n\t\t\t\u0026lt;USEHTML\u0026gt;Y\r\n\t\t\u0026lt;/MAIL\u0026gt;\r\n\t\u0026lt;/MAILRS\u0026gt;\r\n\u0026lt;/MAILTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EExample of Synchronization Involving E-Mail \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn the following example the client did not receive the reply to the\r\nmessage sent in the previous example, so its \u0026lt;TOKEN\u0026gt; is one less than the server\u0027s.\r\nThe server replies by giving the current \u0026lt;TOKEN\u0026gt; and the missed response.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILSYNCRQ\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;101\r\n\u0026lt;/MAILSYNCRQ\u0026gt;\r\n\r\n\u0026lt;MAILSYNCRS\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;102\r\n\t\u0026lt;MAILTRNRS\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\u0026lt;MAILRS\u0026gt;\r\n\t\t\t... contents of e-mail message response as shown in previous example\r\n\t\t\u0026lt;/MAILRS\u0026gt;\r\n\t\u0026lt;/MAILTRNRS\u0026gt;\r\n\u0026lt;/MAILSYNCRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493354\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EGet HTML Page\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome responses contain values that are URLs, intended to be separately\r\nfetched by clients if desired. Clients can use their own HTTP libraries to perform this\r\nfetch outside of the Open Financial Exchange specification. However, to insulate clients\r\nagainst changes in transport technology, and to allow for fetches that require the\r\nprotection of an authenticated signon by a specific user, Open Financial Exchange defines\r\na transaction roughly equivalent to an HTTP Get. Any MIME type can be retrieved, including\r\nimages as well as HTML pages.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493355\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMIME Get Request and Response\r\n \u0026lt;GETMIMERQ\u0026gt; \u0026lt;GETMIMERS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following table lists the components of a request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMERQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGet-MIME-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL, \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/GETMIMERQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe response simply echoes back the URL. The actual response, whether HTML, an image,\r\nor some other type, is always sent as a separate part of the file using multi-part MIME. \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMERS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGet-MIME-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL, \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/GETMIMERS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc378489978\u0022\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2019\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDuplicate transaction (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16502\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvalid URL (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16503\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnable to get URL (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493356\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExample\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EA\r\n request:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMETRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;GETMIMERQ\u0026gt;\r\n\t\t\u0026lt;URL\u0026gt;http://www.fi.com/apage.html\r\n\t\u0026lt;/GETMIMERQ\u0026gt;\r\n\u0026lt;/GETMIMETRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EA response - the full\r\nfile is shown here to illustrate the use of multi-part MIME:\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003EHTTP 1.0 200 OK\r\nContent-Type: multipart/x-mixed-replace; boundary =--boundary-\r\n\r\n--boundary--\r\nContent-Type: application/x-ofx\r\nContent-Length: 8732\r\n\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EOFXHEADER:100\r\nDATA:OFXSGML\r\nVERSION:100\r\nENCRYPTION:1\r\nENCODING:USASCII\r\n\r\n\u0026lt;OFX\u0026gt;\r\n\t\t\u0026lt;!-- signon not shown \r\n\t\tmessage set wrappers not shown --\u0026gt;\r\n\u0026lt;GETMIMETRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;GETMIMERS\u0026gt;\r\n\t\t\u0026lt;URL\u0026gt;http://www.fi.com/apage.html\r\n\t\u0026lt;/GETMIMERS\u0026gt;\r\n\u0026lt;/GETMIMETRNRS\u0026gt;\r\n\u0026lt;/OFX\u0026gt;\r\n\r\n--boundary-- \r\nContent-Type: text/html\r\n\u0026lt;HTML\u0026gt;\r\n\t\u0026lt;!-- standard HTML page --\u0026gt;\r\n\u0026lt;/HTML\u0026gt;\r\n\r\n--boundary--\r\n\t\r\n\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493357\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EE-Mail Message Set Profile\r\n Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf either or both of the messages in the e-mail message set are\r\nsupported, the following aggregate must be included in the profile \u0026lt;MSGSETLIST\u0026gt;\r\nresponse.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAILMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-message-set-profile-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAILMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag for V1 of the message set profile information\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information, defined in the profile\r\n chapter\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports generic e-mail message\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports get MIME message\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/EMAILMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/EMAILMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493358\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ERecurring Transactions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange enables users to automate transactions that\r\noccur on a regular basis. Recurring transactions are useful when a customer has payments\r\nor transfers, for example, that repeat at regular intervals. The customer can create a\r\n\u0026quot;model\u0026quot; at the server for automatic generation of these instructions. The model\r\nin turn creates payments or transfers until it is canceled or expires. After the user\r\ncreates a recurring model at the server, the server can relieve the user from the burden\r\nof creating these transactions; it generates the transactions on its own, based on the\r\noperating parameters of the model.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493359\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECreating a Recurring Model\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client must provide the following information to create a model:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EType of transaction generated by the model (payment or transfer) \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFrequency of recurring transaction\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ETotal number of recurring transactions to generate\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific information, such as transfer date, payment amount,\r\n payee address\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe model creates each transaction some time before its due date,\r\nusually thirty days. This allows the user to retrieve the transactions in advance of\r\nposting. This also gives the user the opportunity to modify or cancel individual\r\ntransactions without changing the recurring model itself.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen a model is created, it can generate several transactions\r\nimmediately. The model does not automatically return responses for the newly created\r\ntransactions. It only returns a response to the request that was made to create the model.\r\nFor this reason, clients should send a synchronization request along with the request to\r\ncreate a model. This allows the server to return the newly created transaction responses,\r\nas well as the response to the request to set up a new model.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493360\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ERecurring Instructions\r\n \u0026lt;RECURRINST\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Recurring Instructions aggregate is used to specify the schedule for\r\na repeating instruction. It is passed to the server when a recurring transfer or payment\r\nmodel is first created.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022168\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022330\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;RECURRINST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecurring-Instructions aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FREQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFrequency, see section 10.2.1\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;NINSTS\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENumber of instructions\u003C/font\u003E \u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf this tag\r\n is absent, the schedule is open-ended,\u003Ci\u003E N-3\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/RECURRINST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493361\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EValues for \u0026lt;FREQ\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022126\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EWEEKLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWeekly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EBIWEEKLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBiweekly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETWICEMONTHLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETwice a month\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EMONTHLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMonthly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EFOURWEEKS\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvery four weeks\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EBIMONTHLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBimonthly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EQUARTERLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EQuarterly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ESEMIANNUALLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESemiannually\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETRIANNUALLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETriannually\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EANNUALLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAnnually\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003ERules for calculating recurring dates of WEEKLY, BIWEEKLY, and TWICEMONTHLY are as\r\nfollows: \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003EWEEKLY = starting date for first transaction, starting date \u002B 7 days for the second \u003C/li\u003E\r\n \u003Cli\u003ETWICEMONTHLY = starting date for first, starting date \u002B 15 days for the second \u003C/li\u003E\r\n \u003Cli\u003EBIWEEKLY = starting date for first, starting date \u002B 14 days for the second \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003EExamples:\u003C/b\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003EStart date of May 2: next transaction date for WEEKLY is May 9; TWICEMONTHLY is May 17;\r\nnext transfer date for BIWEEKLY is May 16. \u003C/p\u003E\r\n\r\n\u003Cp\u003EStart date of May 20: next date for WEEKLY is May 27; TWICEMONTHLY is June 4; next date\r\nfor BIWEEKLY is June 3. \u003C/p\u003E\r\n\r\n\u003Cp\u003ETWICEMONTHLY recurring transactions will occur each month on those days adjusting for\r\nweekends and holidays. BIWEEKLY will occur every 14 days. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493362\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following example illustrates the creation of a repeating payment.\r\nThe payment repeats on a monthly basis for 12 months. All payments are for $395.The\r\nrequest:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E.\r\n.\r\n.\r\n\u0026lt;RECPMTRQ\u0026gt;\r\n\t\u0026lt;RECURRINST\u0026gt;\r\n\t\t\u0026lt;FREQ\u0026gt;MONTHLY\r\n\t\t\u0026lt;NINSTS\u0026gt;12\r\n\t\u0026lt;/RECURRINST\u0026gt;\r\n\t\u0026lt;PMTINFO\u0026gt;\t\t\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;555432180\r\n\t\t\t\u0026lt;ACCTID\u0026gt;763984\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;TRNAMT\u0026gt;395.00\r\n\t\t\u0026lt;PAYEEID\u0026gt;77810\r\n\t\t\u0026lt;PAYACCT\u0026gt;444-78-97572\r\n\t\t\u0026lt;DTDUE\u0026gt;19971115\r\n\t\t\u0026lt;MEMO\u0026gt;Auto loan payment\r\n\t\u0026lt;/PMTINFO\u0026gt;\t\r\n\u0026lt;/RECPMTRQ\u0026gt;\r\n.\r\n.\r\n.\r\n\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response includes the \u0026lt;RECSRVRTID\u0026gt;\r\nthat the client can use \r\n\r\nto cancel or modify the model:\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E.\r\n.\r\n.\r\n\u0026lt;RECPMTRS\u0026gt;\r\n\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E\t\u0026lt;RECSRVRTID\u0026gt;387687138\t\r\n\t\u0026lt;RECURRINST\u0026gt;\r\n\t\t\u0026lt;FREQ\u0026gt;MONTHLY\r\n\t\t\u0026lt;NINSTS\u0026gt;12\r\n\t\u0026lt;/RECURRINST\u0026gt;\r\n\t\u0026lt;PMTINFO\u0026gt;\t\t\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;555432180\r\n\t\t\t\u0026lt;ACCTID\u0026gt;763984\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;TRNAMT\u0026gt;395.00\r\n\t\t\u0026lt;PAYEEID\u0026gt;77810\r\n\t\t\u0026lt;PAYACCT\u0026gt;444-78-97572\r\n\t\t\u0026lt;DTDUE\u0026gt;19971115\r\n\t\t\u0026lt;MEMO\u0026gt;Auto loan payment\r\n\t\u0026lt;/PMTINFO\u0026gt;\t\r\n\u0026lt;/RECPMTRS\u0026gt;\r\n.\r\n.\r\n.\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493363\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ERetrieving Transactions Generated by\r\n a Recurring Model\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOnce created, a recurring model independently generates instructions.\r\nSince the client has not directly generated these transactions, the client has no record\r\nof their creation. To enable users to modify and/or cancel pending instructions, the\r\nclient must use data synchronization in order to retrieve these transactions.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client has two purposes for synchronizing state with the server with\r\nrespect to recurring models:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERetrieve any added, modified, or canceled recurring models\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERetrieve any added, modified, or canceled transactions generated by any\r\n models\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client must be able to synchronize with the state of any models at\r\nthe server, as well as the state of any transactions generated by the server.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493364\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EModifying and Canceling Individual\r\n Transactions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOnce created and retrieved by the customer, recurring payments and\r\ntransfers are almost identical to customer-created payments or transfers. As with ordinary\r\npayments or transfers, you can cancel or modify transactions individually. However,\r\nbecause servers generate these transfers, they are different in the following respects:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecurring transactions must be retrieved as part of a synchronization\r\n request.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecurring transactions are related to a model. A server can modify or\r\n cancel transactions if the model is modified or canceled. \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493365\u0022\u003EModifying and Canceling Recurring\r\n Model\u003C/a\u003Es\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA recurring model can be modified or canceled. When a model is modified,\r\nall transactions that it generates in the future will change as well. The client can\r\nindicate whether transactions that have been generated, but have not been sent, should be\r\nmodified as well. The actual elements within a transaction that can be modified differ by\r\nservice. See the recurring sections within the Banking and Payments chapters for details.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA user can cancel a model immediately or at a future date. If a user\r\ncancels the model immediately, the client cancels any transactions that it has not yet\r\nsent. If the client schedules the cancel for a future date, the client will not cancel\r\npending transactions.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493366\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ECanceling a recurring payment model requires the client to pass the\r\n\u0026lt;RECSRVRTID\u0026gt; of the model. The client requests that pending payments also be\r\ncanceled. The server cancels the model immediately and notifies the client that both the\r\nmodel and any scheduled payments were canceled.The request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRQ\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRQ\u0026gt;\r\n.\r\n.\r\n.\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRS\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRS\u0026gt;\r\n.\r\n.\r\n.\r\n\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cpre\u003E\u003Cimg src=\u0022stadyn_image9.gif\u0022 width=\u0022382\u0022 height=\u0022208\u0022 alt=\u0022stadyn_image9.gif (7739 bytes)\u0022\u003E\r\nstadyn_image9\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server also cancels any payments that have been generated but not\r\nexecuted. In the example shown above, the client would not learn of this immediately. To\r\nreceive notification that the model and all generated payments were canceled, the client\r\nwould need to include a synchronization request in the file. The following example\r\nillustrates this alternate approach.The request file now includes a synchronization\r\nrequest:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRQ\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRQ\u0026gt;\r\n\t\u0026lt;PMTSYNCRQ\u0026gt;\r\n\t\t\u0026lt;TOKEN\u0026gt;12345\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;123432123\r\n\t\t\t\u0026lt;ACCTID\u0026gt;516273\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;/PMTSYNCRQ\u0026gt;\r\n.\r\n.\r\n.\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response file now contains two responses\r\n(assuming one payment was pending), \r\n\r\none for the canceled model and one for the canceled payment.\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRS\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRS\u0026gt;\r\n\t\u0026lt;PMTSYNCRS\u0026gt;\t\r\n\t\t\u0026lt;TOKEN\u0026gt;3247989384\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;123432123\r\n\t\t\t\u0026lt;ACCTID\u0026gt;516273\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t\t\u0026lt;TRNUID\u0026gt;10103\r\n\t\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\t\u0026lt;PMTCANCRS\u0026gt;\r\n\t\t\t\t\u0026lt;SRVRTID\u0026gt;1030155\r\n\t\t\t\u0026lt;/PMTCANCRS\u0026gt;\r\n\t\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\t\u0026lt;/PMTSYNCRS\u0026gt;\r\n.\r\n.\r\n.\r\n\r\n\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image10.gif\u0022 width=\u0022174\u0022 height=\u0022310\u0022 alt=\u0022stadyn_image10.gif (4217 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image10\u003C/p\u003E\r\n\u003C/body\u003E\r\n\u003C/html\u003E\r\n\u0060;\r\nconst parser = new DOMParser();\r\nconst virtualDom = parser.parseFromString(html, \u0027text/html\u0027);\r\nconst body = virtualDom.querySelector(\u0027body\u0027);","IsDeferred":false},{"Name":"Regex","Code":"const html = \u0060\r\n\u003Chtml\u003E\r\n\r\n\u003Chead\u003E\r\n\u003C!--\u003Cmeta HTTP-EQUIV=\u0022Content-Type\u0022 CONTENT=\u0022text/html; charset=ISO-8859-1\u0022\u003E --\u003E\r\n\r\n\u003Ctitle\u003ELarge HTML page with images\u003C/title\u003E\r\n\r\n\u003C!-- The following link block and style block present methods how to load external CSS documents.\r\n The link tag forces an immediate download of the CSS document whereas the import clause in\r\n the style block has the document downloaded some random time later. --\u003E\r\n\r\n\u003Clink href=\u0022htmlparser/sections.css\u0022 rel=\u0022stylesheet\u0022 type=\u0022text/css\u0022\u003E\r\n\r\n\r\n\u003C!--\r\n\u003Cstyle type=\u0022text/css\u0022\u003E\r\n@import url(htmlparser/sections.css);\r\n\u003C/style\u003E \r\n--\u003E\r\n\r\n\u003C/head\u003E\r\n\r\n\u003Cbody\u003E\r\n\u003Cdiv align=\u0022center\u0022\u003E\u003Ccenter\u003E\r\n\u003Ch1 class=\u0022fore\u0022\u003EWhen to load CSS\u003C/h1\u003E\r\n\r\n\u003Ctable border=\u00220\u0022 cellspacing=\u00225\u0022 width=\u0022100%\u0022 bgcolor=\u0022#F2F2FF\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd\u003E\u003Cp align=\u0022left\u0022\u003E\u003Cfont color=\u0022#000080\u0022 size=\u00225\u0022 face=\u0022Tahoma\u0022\u003E\u003Cstrong\u003ELarge HTML page\r\n with Images\u003C/strong\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\u003C/center\u003E\u003C/div\u003E\r\n\r\n\u003Chr\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003E\u003Csmall\u003E\u003Cfont face=\u0022Verdana\u0022\u003EThis page shall test if the recorder generates\r\nscripts with requests in correct order. It includes images in sequential order: stadyn_image1.gif\r\nthrough stadyn_image10.gif\u003C/font\u003E\u003C/small\u003E\u003C/strong\u003E\u003C/p\u003E\r\n\r\n\u003Chr\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image1.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image1.gif (6512 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image1\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image2.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image2.gif (5983 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image2\u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00226\u0022\u003EOpen Financial Exchange\u003Cbr\u003E\r\nSpecification 1.0\u003C/font\u003E\u003C/b\u003E \u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003EFebruary 14, 1997\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u00A9 1997 CheckFree Corp., Intuit Inc., Microsoft Corp.\r\nAll rights reserved\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cp align=\u0022center\u0022\u003E\u003Ci\u003E\u003Cb\u003E\u003Cfont SIZE=\u00225\u0022\u003EChapters 1 - 10\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/b\u003E\u003C/i\u003E\u003C/p\u003E\r\n\r\n\u003Ch1\u003E\u003Cimg src=\u0022stadyn_image3.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image3.gif (6537 bytes)\u0022\u003E\u003Cbr\u003E\r\n\u003Cfont SIZE=\u00225\u0022\u003Estadyn_image3\u003C/font\u003E\u003C/h1\u003E\r\n\r\n\u003Ch1\u003E\u003Cimg src=\u0022stadyn_image4.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image4.gif (6028 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image4\u003C/h1\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image5.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image5.gif (4068 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image5\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\r\n\u003Ch1\u003E\u003Ca NAME=\u0022_Toc371408167\u0022\u003E\u003Cfont SIZE=\u00225\u0022\u003EContents\u003C/font\u003E\u003C/a\u003E\u003C/h1\u003E\r\n\r\n\u003Cp\u003E1. Overview 51.1 Introduction 51.1.1 Design Principles 51.2 Open Financial Exchange at\r\na Glance 71.2.1 Data Transport 71.2.2 Request and Response Model 81.3 Conventions 92.\r\nStructure 102.1 HTTP Headers 102.2 Open Financial Exchange Headers 112.2.1 The Meaning of\r\nVersion Numbers 122.3 SGML Details 122.3.1 Compliance 122.3.2 Special Characters 122.4\r\nOpen Financial Exchange SGML Structure 132.4.1 Overview 132.4.2 Top Level 132.4.3 Messages\r\n132.4.4 Message Sets and Version Control 142.4.5 Transactions 152.5 The Signon Message Set\r\n162.5.1 Signon \u0026lt;SONRQ\u0026gt; \u0026lt;SONRS\u0026gt; 162.5.2 PIN Change \u0026lt;PINCHRQ\u0026gt;\r\n\u0026lt;PINCHRS\u0026gt; 192.5.3 Examples 202.6 External Data Support 202.7 Extensions to Open\r\nFinancial Exchange 213. Common Aggregates, Elements, and Data Types 223.1 Common\r\nAggregates 223.1.1 Identifying Financial Institutions and Accounts 223.1.2 Balance Records\r\n\u0026lt;BAL\u0026gt; 223.1.3 Error Reporting \u0026lt;STATUS\u0026gt; 233.2 Common Elements 243.2.1 Financial\r\nInstitution Transaction ID \u0026lt;FITID\u0026gt; 243.2.2 Server-Assigned ID \u0026lt;SRVRTID\u0026gt;\r\n243.2.3 Client-Assigned Transaction UID \u0026lt;TRNUID\u0026gt; 253.2.4 Token \u0026lt;TOKEN\u0026gt; 253.2.5\r\nTransaction Amount \u0026lt;TRNAMT\u0026gt; 253.2.6 Memo \u0026lt;MEMO\u0026gt; 253.2.7 Date Start and Date\r\nEnd \u0026lt;DTSTART\u0026gt; \u0026lt;DTEND\u0026gt; 263.3 Common data types 263.3.1 Dates and Times 263.3.2\r\nAmounts, Prices, and Quantities 283.3.3 Language 283.3.4 Basic data types 284. Security\r\n294.1 Security Solutions 294.1.1 Determining Security Levels \u0026lt;OFXSEC\u0026gt;\r\n\u0026lt;TRANSPSEC\u0026gt; 294.2 Channel-Level Security 304.2.1 Security Requirements 304.2.2 Using\r\nSSL 3.0 in Open Financial Exchange 304.3 Application-Level Security 314.3.1 Requirements\r\nfor Application-Layer Security 314.3.2 Using Application-level Encryption in Open\r\nFinancial Exchange 325. International Support 335.1 Language and Encoding 335.2 Currency\r\n\u0026lt;CURDEF\u0026gt; \u0026lt;CURRENCY\u0026gt; \u0026lt;ORIGCURRENCY\u0026gt; 335.3 Country-Specific Tag Values\r\n346. Data Synchronization 356.1 Overview 356.2 Background 356.3 Data Synchronization\r\nApproach 366.4 Data Synchronization Specifics 376.5 Conflict Detection and Resolution\r\n396.6 Synchronization vs. Refresh 406.7 Typical Server Architecture for Synchronization\r\n416.8 Typical Client Processing of Synchronization Results 436.9 Simultaneous Connections\r\n446.10 Synchronization Alternatives 446.10.1 Lite Synchronization 446.10.2 Relating\r\nSynchronization and Error Recovery 456.11 Examples 467. FI Profile 487.1 Overview 487.1.1\r\nMessage Sets 487.1.2 Version Control 497.1.3 Batching and Routing 497.2 Profile Request\r\n507.3 Profile Response 517.3.1 Message Set 527.3.2 Signon Realms 537.3.3 Status Codes\r\n537.4 Profile Message Set Profile Information 548. Activation \u0026amp; Account Information\r\n558.1 Overview 558.2 Approaches to User Sign-Up with Open Financial Exchange 558.3 Users\r\nand Accounts 568.4 Enrollment and Password Acquisition \u0026lt;ENROLLRQ\u0026gt; \u0026lt;ENROLLRS\u0026gt;\r\n568.4.1 User IDs 578.4.2 Enrollment Request 578.4.3 Enrollment Response 598.4.4 Enrollment\r\nStatus Codes 598.4.5 Examples 608.5 Account Information 608.5.1 Request \u0026lt;ACCTINFORQ\u0026gt;\r\n618.5.2 Response \u0026lt;ACCTINFORS\u0026gt; 618.5.3 Account Information Aggregate \u0026lt;ACCTINFO\u0026gt;\r\n628.5.4 Status Codes 628.5.5 Examples 638.6 Service Activation 638.6.1 Activation Request\r\nand Response 648.6.2 Service Activation Synchronization 668.6.3 Examples 668.7 Name and\r\nAddress Changes \u0026lt;CHGUSERINFORQ\u0026gt; \u0026lt;CHGUSERINFORS\u0026gt; 678.7.1 \u0026lt;CHGUSERINFORQ\u0026gt;\r\n678.7.2 \u0026lt;CHGUSERINFORS\u0026gt; 688.7.3 Status Codes 688.8 Signup Message Set Profile\r\nInformation 699. Customer to FI Communication 709.1 The E-Mail Message Set 709.2 E-Mail\r\nMessages 709.2.1 Regular vs. Specialized E-Mail 719.2.2 Basic \u0026lt;MAIL\u0026gt; Aggregate\r\n719.2.3 E-Mail \u0026lt;MAILRQ\u0026gt; \u0026lt;MAILRS\u0026gt; 719.2.4 E-Mail Synchronization\r\n\u0026lt;MAILSYNCRQ\u0026gt; \u0026lt;MAILSYNCRS\u0026gt; 729.2.5 Example 739.3 Get HTML Page 749.3.1 MIME Get\r\nRequest and Response \u0026lt;GETMIMERQ\u0026gt; \u0026lt;GETMIMERS\u0026gt; 749.3.2 Example 759.4 E-Mail\r\nMessage Set Profile Information 7610. Recurring Transactions 7710.1 Creating a Recurring\r\nModel 7710.2 Recurring Instructions \u0026lt;RECURRINST\u0026gt; 7710.2.1 Values for \u0026lt;FREQ\u0026gt;\r\n7810.2.2 Examples 7910.3 Retrieving Transactions Generated by a Recurring Model 8010.4\r\nModifying and Canceling Individual Transactions 8010.5 Modifying and Canceling Recurring\r\nModels 8010.5.1 Examples 81 \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493239\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493240\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EIntroduction\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange is a broad-based framework for exchanging\r\nfinancial data and instructions between customers and their financial institutions. It\r\nallows institutions to connect directly to their customers without requiring an\r\nintermediary. \u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange is an open specification that anyone can\r\nimplement: any financial institution, transaction processor, software developer or other\r\nparty. It uses widely accepted open standards for data formatting (such as SGML),\r\nconnectivity (such as TCP/IP and HTTP), and security (such as SSL).\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange defines the request and response messages used\r\nby each financial service as well as the common framework and infrastructure to support\r\nthe communication of those messages. This specification does not describe any specific\r\nproduct implementation.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493241\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EDesign Principles\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following principles were used in designing Open Financial Exchange:\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003E\u003Cb\u003EBroad\u003C/b\u003E \u003Cb\u003ERange of Financial Activities\u003C/b\u003E\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E -\r\nOpen Financial Exchange provides support for a \u003Ci\u003E\u003Cb\u003Ebroad\u003C/b\u003E\u003C/i\u003E range of financial\r\nactivities. Open Financial Exchange 1.0 specifies the following services:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Bank statement download\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Credit card statement download\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Funds transfers including\r\nrecurring transfers\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Consumer payments, including\r\nrecurring payments\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Business payments, including\r\nrecurring payments\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Brokerage and mutual fund\r\nstatement download, including transaction history, current holdings and balances\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003E\u003Cb\u003EBroad\u003C/b\u003E \u003Cb\u003ERange of Financial Institutions\u003C/b\u003E\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E -\r\nOpen Financial Exchange supports communication with a \u003Ci\u003E\u003Cb\u003Ebroad\u003C/b\u003E\u003C/i\u003E range of\r\nfinancial institutions (FIs), including:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Banks\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Brokerage houses\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Merchants\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Processors\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Financial advisors\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003En\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E Government agencies\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003E\u003Cb\u003EBroad\u003C/b\u003E \u003Cb\u003ERange of Front-End applications\u003C/b\u003E\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E -\r\nOpen Financial Exchange supports a \u003Ci\u003E\u003Cb\u003Ebroad \u003C/b\u003E\u003C/i\u003Erange of front-end applications\r\ncovering all types of financial activities running on all types of platforms, including\r\nWeb-based applications.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EExtensible\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange has been\r\ndesigned to allow the easy addition of new services. Future versions will include support\r\nfor many new services.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EOpen\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - This specification is publicly available.\r\nYou can build client and server applications using the Open Financial Exchange protocols\r\nindependent of any specific technology, product, or company.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EMultiple Client Support\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange\r\nallows a user to use multiple client applications to access the same data at a financial\r\ninstitution. With the popularity of the World Wide Web, customers are increasingly more\r\nlikely to use multiple applications-either desktop-based or Web-based-to perform financial\r\nactivities. For example, a customer can track personal finances at home with a desktop\r\napplication and occasionally pay bills while at work with a Web-based application. The use\r\nof data synchronization to support multiple clients is a key innovation in Open Financial\r\nExchange.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003ERobust\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange will be used for\r\nexecuting important financial transactions and for communicating important financial\r\ninformation. Assuring users that transactions are executed and information is correct is\r\ncrucial. Open Financial Exchange provides robust protocols for error recovery.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003ESecure\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange provides a\r\nframework for building secure online financial services. In Open Financial Exchange,\r\nsecurity encompasses authentication of the parties involved, as well as secrecy and\r\nintegrity of the information being exchanged.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EBatch \u0026amp; Interactive\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - The design of request and\r\nresponse messages in Open Financial Exchange is for use in either batch or interactive\r\nstyle of communication. Open Financial Exchange provides for applying a single\r\nauthentication context to multiple requests in order to reduce the overhead of user\r\nauthentication.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EInternational\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ESupport\u003C/font\u003E\u003C/b\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E - Open Financial Exchange is designed to supply financial services throughout\r\nthe world. It supports multiple currencies, country-specific extensions, and different\r\nforms of encoding such as UNICODE.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003EPlatform Independent\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E -Open Financial Exchange can\r\nbe implemented on a wide variety of front-end client devices, including those running\r\nWindows 3.1, Windows 95, Windows NT, Macintosh, or UNIX. It also supports a wide variety\r\nof Web-based environments, including those using HTML, Java, JavaScript, or ActiveX.\r\nSimilarly on the back-end, Open Financial Exchange can be implemented on a wide variety of\r\nserver systems, including those running UNIX, Windows NT, or OS/2.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Wingdings\u0022\u003El\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E \u003C/font\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\r\nFACE=\u0022Arial\u0022\u003ETransport Independent\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00222\u0022\u003E - Open Financial Exchange is\r\nindependent of the data communication protocol used to transport the messages between the\r\nclient and server computers. Open Financial Exchange 1.0 will use HTTP.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493242\u0022\u003EOpen Financial Exchange \u003C/a\u003Eat a\r\n Glance\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe design of Open Financial Exchange is as a client and server system.\r\nAn end-user uses a client application to communicate with a server at a financial\r\ninstitution. The form of communication is requests from the client to the server and\r\nresponses from the server back to the client.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses the Internet Protocol (IP) suite to provide\r\nthe communication channel between a client and a server. IP protocols are the foundation\r\nof the public Internet and a private network can also use them.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493243\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EData Transport\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use the HyperText Transport Protocol (HTTP) to communicate to an\r\nOpen Financial Exchange server. The World Wide Web throughout uses the same HTTP protocol.\r\nIn principle, a financial institution can use any off-the-shelf web server to implement\r\nits support for Open Financial Exchange.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo communicate by means of Open Financial Exchange over the Internet,\r\nthe client must establish an Internet connection. This connection can be a dial-up\r\nPoint-to-Point Protocol (PPP) connection to an Internet Service Provider (ISP) or a\r\nconnection over a local area network that has a gateway to the Internet.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use the HTTP POST command to send a request to the previously\r\nacquired Uniform Resource Locator (URL) for the desired financial institution. The URL\r\npresumably identifies a Common Gateway Interface (CGI) or other process on an FI server\r\nthat can accept Open Financial Exchange requests and produce a response.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe POST identifies the data as being of type application/x-ofx. Use\r\napplication/x-ofx as the return type as well. Fill in other fields per the HTTP 1.0 spec.\r\nHere is a typical request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EPOST http://www.fi.com/ofx.cgi HTTP/1.0\r\nUser-Agent:MyApp 5.0\r\nContent-Type: application/x-ofx\r\nContent-Length: 1032\r\n\r\nOFXHEADER:100\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EDATA:OFXSGML\r\nVERSION:100\r\nSECURITY:1\r\nENCODING:USASCII\r\n\r\n\u0026lt;OFX\u0026gt;\r\n... Open Financial Exchange requests ...\r\n\u0026lt;/OFX\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA blank line defines the separation between the HTTP headers and the\r\nstart of the actual Open Financial Exchange data. A blank line also separates the Open\r\nFinancial Exchange headers and the actual response. (See Chapter 2, for more information.)\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe structure of a response is similar to the request, with the first\r\nline containing the standard HTTP result, as shown next. The content length is given in\r\nbytes.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EHTTP 1.0 200 OK\r\nContent-Type: application/x-ofx\r\nContent-Length: 8732\r\n\r\nOFXHEADER:100\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EDATA:OFXSGML\r\nVERSION:100\r\nSECURITY:1\r\nENCODING:USASCII\r\n\r\n\u0026lt;OFX\u0026gt;\r\n... Open Financial Exchange responses ...\r\n\u0026lt;/OFX\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493244\u0022\u003ERequest and Response\u003C/a\u003E Model\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe basis for Open Financial Exchange is the request and response model.\r\nOne or more requests can be batched in a single file. This file typically includes a\r\nsignon request and one or more service-specific requests. An FI server will process all of\r\nthe requests and return a single response file. This batch model lends itself to Internet\r\ntransport as well as other off-line transports. Both requests and responses are plain text\r\nfiles, formatted using a grammar based on Standard Generalized Markup Language (SGML).\r\nOpen Financial Exchange is syntactically similar to HyperText Markup Language (HTML),\r\nfeaturing tags to identify and delimit the data. The use of a tagged data format allows\r\nOpen Financial Exchange to evolve over time while continuing to support older clients and\r\nservers.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EHere is a simplified example of an Open Financial Exchange request file.\r\n(This example does not show the Open Financial Exchange headers and the indentation is\r\nonly for readability.) For complete details, see the more complete examples throughout\r\nthis specification.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u0026lt;OFX\u0026gt; \u0026lt;!-- Begin request data --\u0026gt; \u0026lt;SIGNONMSGSRQV1\u0026gt; \u0026lt;SONRQ\u0026gt;\r\n\u0026lt;!-- Begin signon --\u0026gt; \u0026lt;DTCLIENT\u0026gt;19961029101000 \u0026lt;!-- Oct. 29, 1996, 10:10:00\r\nam --\u0026gt; \u0026lt;USERID\u0026gt;123-45-6789 \u0026lt;!-- User ID (that is, SSN) --\u0026gt;\r\n\u0026lt;USERPASS\u0026gt;MyPassword \u0026lt;!-- Password (SSL encrypts whole) --\u0026gt;\r\n\u0026lt;LANGUAGE\u0026gt;ENG \u0026lt;!-- Language used for text --\u0026gt; \u0026lt;FI\u0026gt; \u0026lt;!-- ID of\r\nreceiving institution --\u0026gt; \u0026lt;ORG\u0026gt;NCH \u0026lt;!-- Name of ID owner --\u0026gt;\r\n\u0026lt;FID\u0026gt;1001 \u0026lt;!-- Actual ID --\u0026gt; \u0026lt;/FI\u0026gt; \u0026lt;APPID\u0026gt;MyApp \u0026lt;APPVER\u0026gt;0500\r\n\u0026lt;/SONRQ\u0026gt; \u0026lt;!-- End of signon --\u0026gt; \u0026lt;/SIGNONMSGSRQV1\u0026gt; \u0026lt;BANKMSGSRQV1\u0026gt;\r\n\u0026lt;STMTTRNRQ\u0026gt; \u0026lt;!-- First request in file --\u0026gt; \u0026lt;TRNUID\u0026gt;1001 \u0026lt;STMTRQ\u0026gt;\r\n\u0026lt;!-- Begin statement request --\u0026gt; \u0026lt;BANKACCTFROM\u0026gt; \u0026lt;!-- Identify the account\r\n--\u0026gt; \u0026lt;BANKID\u0026gt;121099999 \u0026lt;!-- Routing transit or other FI ID --\u0026gt;\r\n\u0026lt;ACCTID\u0026gt;999988 \u0026lt;!-- Account number --\u0026gt; \u0026lt;ACCTTYPE\u0026gt;CHECKING \u0026lt;!--\r\nAccount type --\u0026gt; \u0026lt;/BANKACCTFROM\u0026gt; \u0026lt;!-- End of account ID --\u0026gt; \u0026lt;INCTRAN\u0026gt;\r\n\u0026lt;!-- Begin include transaction --\u0026gt; \u0026lt;INCLUDE\u0026gt;Y \u0026lt;!-- Include transactions\r\n--\u0026gt; \u0026lt;/INCTRAN\u0026gt; \u0026lt;!-- End of include transaction --\u0026gt; \u0026lt;/STMTRQ\u0026gt; \u0026lt;!--\r\nEnd of statement request --\u0026gt; \u0026lt;/STMTTRNRQ\u0026gt; \u0026lt;!-- End of first request --\u0026gt;\r\n\u0026lt;/BANKMSGSRQV1\u0026gt;\u0026lt;/OFX\u0026gt; \u0026lt;!-- End of request data --\u0026gt;\u003Cfont SIZE=\u00222\u0022\u003EThe\r\nresponse format follows a similar structure. Although a response such as a statement\r\nresponse contains all of the details of each transaction, each element is identified using\r\ntags.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe key rule of Open Financial Exchange syntax is that each tag is\r\neither an element or an aggregate. Data follows its element tag. An aggregate tag begins a\r\ncompound tag sequence, which must end with a matching tag; for example, \u0026lt;AGGREGATE\u0026gt;\r\n... \u0026lt;/AGGREGATE\u0026gt;. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe actual file Open Financial Exchange sends is without any extra white\r\nspace between tags.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493245\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EConventions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe conventions used in the detailed descriptions include: \u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tags are in \u003Cb\u003Ebold\u003C/b\u003E. Regular face indicates tags that are\r\n optional. Required means that a client will always include a tag in a request, and a\r\n server must always include a tag in a response.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EItalic \u003C/i\u003Eshows a required or optional aggregate from a set of\r\n possible aggregates. \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tags occur once unless noted as one or more in the description,\r\n in which case the specification allows multiple occurrences. \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EOptional tags occur once if present unless noted as zero or more in the\r\n description, in which case the specification allows multiple occurrences.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EAllowable specific values are listed, where applicable.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EA-\u003Ci\u003En\u003C/i\u003E or N-\u003Ci\u003En\u003C/i\u003E, specify those values that take general\r\n alphanumeric or pure numeric type values, where \u003Ci\u003En\u003C/i\u003E indicates the maximum size. \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EReferences to certain common value types, such as a dollar amount, are by\r\n name. Chapter 3 lists value types that can be referenced by name.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REQUIREDTAG\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tag (1 or more)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REQUIREDTAG2\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequired tag that occurs only once \u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;OPTIONALTAG\u0026gt; \u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOptional tag; this particular one can occur multiple times\r\n (0 or more) \u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SPECIFIC\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EValues are A, B, and C\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ALPHAVALUE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETakes an alphanumeric value up to 32 characters,\u003Ci\u003E A-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493246\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EStructure\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis chapter describes the basic structure of an Open Financial Exchange\r\nrequest and response. Structure includes headers, basic syntax, and the Signon request and\r\nresponse. This chapter also describes how Open Financial Exchange encodes external data,\r\nsuch as bit maps.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange data consists of some headers plus one or more\r\nOpen Financial Exchange data blocks. Each block consists of a signon message and zero or\r\nmore additional messages. When sent over the internet using HTTP, standard HTTP and\r\nmulti-part MIME headers and formats surround the Open Financial Exchange data. A simple\r\nfile that contained only Open Financial Exchange data would have the following form:\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EHTTP headers\r\nMIME type application/x-ofx\r\nOpen Financial Exchange headers\r\nOpen Financial Exchange SGML block 1\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA more complex file that contained multiple Open Financial Exchange data\r\nblocks and additional Open Financial Exchange data would have this form:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EHTTP headers\r\nMIME type multipart/x-mixed-replace; boundary =--boundary-\r\n---boundary---\r\nMIME type application/x-ofx\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E\tOpen Financial Exchange headers\r\n\tOpen Financial Exchange SGML block 1\r\n\tOpen Financial Exchange SGML block 2\r\n---boundary---\r\n\tMIME type image/jpeg\r\n\t\tFI logo\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493247\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EHTTP Headers\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EData delivered by way of HTTP places the standard HTTP result code on\r\nthe first line. HTTP defines a number of status codes. Servers can return any standard\r\nHTTP result. However, FIs should expect clients to collapse these codes into the following\r\nthree cases:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002284\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002296\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022312\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EAction\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E200\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOK\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe request was processed and a valid Open Financial\r\n Exchange result is returned.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E400s\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBad request\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe request was invalid and was not processed. Clients will\r\n report an internal error to the user.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E500s\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EServer error\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server is unavailable. Clients should advise the user\r\n to retry shortly.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange returns a code 400 only if it cannot parse the\r\nfile. Open Financial Exchange handles content errors such as wrong PIN, or invalid\r\naccount, by returning a valid Open Financial Exchange response along with code 200.\u003C/i\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003EOpen Financial Exchange requires the following HTTP standard headers: \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002284\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002296\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022312\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EExplanation\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EContent-type\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003Eapplication/x-ofx\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe MIME type for Open Financial Exchange\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002284\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EContent-length\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u002296\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003Elength\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022312\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELength of the data after removing HTTP headers\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cpre\u003E\r\n\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen responding with multi-part MIME, the main type will be\r\nmulti-part/x-mixed-replace; \u003Cbr\u003E\r\none of the parts will use application/x-ofx.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493248\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOpen Financial Exchange Headers\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe intent of Open Financial Exchange is for use with a variety of\r\ntransports and to provide sufficient version control capabilities for future expansion. To\r\nsupport this goal, the contents of an Open Financial Exchange file consist of a simple set\r\nof headers followed by contents defined by that header. \u0026quot;File format\u0026quot; means the\r\nentire content after removal of any transport headers. The HTTP transport described in\r\nthis document, means without the HTTP and MIME headers.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Open Financial Exchange headers are in a simple \u003Ci\u003Etag:value\u003C/i\u003E\r\nsyntax and terminated by a blank line. Open Financial Exchange always sends headers\r\nunencrypted, even if there is application-level encryption in use for the remaining\r\ncontents. The first entry will always be OFXHEADER with a version number. This entry will\r\nhelp identify the contents as an Open Financial Exchange file, and provides the version of\r\nthe Open Financial Exchange headers that follow (not of the content itself). For example:\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EOFXHEADER:100\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis document defines version 1.0 of the headers to contain at least the\r\nfollowing additional tags:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003EDATA:OFXSGML\r\nVERSION:100\r\nSECURITY: \r\nENCODING:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003ECHARSET:\r\nCOMPRESSION:\r\nOLDFILEUID:\r\nNEWFILEUID:\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe data tag identifies the contents as being in OFX SGML form. VERSION\r\nidentifies the version type as OFXSGML data. In the case of OFXSGML, it translates to the\r\nversion of the Document Type Definition (DTD) that it uses for parsing. The ENCODING and\r\nCHARSET tags define the interpretation of the character data. See Chapter 5,\r\n\u0026quot;International Support\u0026quot; for more information on these tags. Chapter 4 describes\r\nthe security tag. A future version of this specification will define compression.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses OLDFILEUID and NEWFILEUID to support error\r\nrecovery. They are not present when clients are not requesting error recovery. (See\r\nChapter 6, \u0026quot;Data Synchronization\u0026quot;)\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA blank line follows the last tag. Then (for type OFXSGML), the\r\nSGML-readable data begins with the \u0026lt;OFX\u0026gt; tag.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Here, VERSION provides the overall version of the DTD.\r\nThe \u0026lt;OFX\u0026gt; block describes the specific message set versions used, shown later in\r\nthis chapter.\u003C/i\u003E\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493249\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EThe Meaning of Version Numbers\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe OFXHEADER value should only change its major number if an existing\r\nclient is unable to process the new header. This can occur because of a complete syntax\r\nchange in a header, or a significant change in the semantics of an existing tag-not the\r\nentire response. You can add new tags as long as clients can function without\r\nunderstanding them.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EYou should add new values for a data tag only when you introduce an\r\nentirely new syntax. In the case of OFXSGML, a new syntax would have to be non-SGML\r\ncompliant to warrant a new data value. It is possible that there will be more than one\r\nsyntax in use at the same time to meet different needs.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe intent of the header version tag is to identify syntactic changes.\r\nIn the case of OFXSGML, this corresponds to the DTD. Purely for identification purposes,\r\neach change will increment the minor number of the version tag. If you introduce an\r\nincompatible change so that an older DTD can not parse the file, the major number will\r\nchange. See the general discussion of message sets and version control, later in this\r\nchapter.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493250\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESGML Details\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493251\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ECompliance\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESGML is the basis for Open Financial Exchange. There is a DTD that\r\nformally defines the SGML wire format. However, Open Financial Exchange is not completely\r\nSGML-\u003Ci\u003Ecompliant\u003C/i\u003E because the specification allows unrecognized tags to be present. It\r\nrequires clients and servers to skip over the unrecognized material. That is, if\r\n\u0026lt;XYZ\u0026gt;qqq\u0026lt;/XYZ\u0026gt; appeared and a client or server cannot recognize \u0026lt;XYZ\u0026gt;,\r\nthe server should ignore that tag and its enclosed data. A fully-compliant SGML parser\r\nwould not \u003Ci\u003Evalidate\u003C/i\u003E an Open Financial Exchange document if it contained any tags\r\nthat the DTD does not define.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAlthough SGML is the basis for the specification, and the specification\r\nis largely compliant with SGML, do not assume Open Financial Exchange supports any SGML\r\nfeatures not documented in this specification. The intent is to allow parsing to be as\r\nsimple as possible, while retaining compatibility with the SGML world.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493252\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ESpecial Characters\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following characters are special to SGML. Use the given alternative\r\nsequence to represent them:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECharacter\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EEscape sequence\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt; (less than)\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026amp;lt;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026gt; (greater than)\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026amp;gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026amp; (ampersand)\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026amp;amp;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EFor example, the string \u0026quot;AT\u0026amp;amp;T\u0026quot; encodes \u0026quot;AT\u0026amp;T.\u0026quot; \u003C/p\u003E\r\n\r\n\u003Cp\u003EA special case applies in specific tags that can accept HTML-formatted strings, such as\r\ne-mail records. These accept SGML marked section syntax to hide the HTML from the Open\r\nFinancial Exchange parser. You must prefix strings with \u0026quot;\u0026lt;![ CDATA [\u0026quot;and\r\nsuffixed with\u0026quot;]]\u0026gt;.\u0026quot; Within these bounds, treat the above characters literally\r\nwithout an escape. See the Chapter 9 for an example. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493253\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOpen Financial Exchange SGML\r\n Structure\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493254\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange hierarchically organizes request and response\r\nblocks:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETop Level \u0026lt;OFX\u0026gt;\u003Cbr\u003E\r\nMessage Set and Version \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSVn\u0026gt;\u003Cbr\u003E\r\nSynchronization Wrappers \u0026lt;YYYSYNCRQ\u0026gt;, \u0026lt;YYYSYNCRS\u0026gt; \u003Cbr\u003E\r\nTransaction Wrappers \u0026lt;YYYTRNRQ\u0026gt;, \u0026lt;YYYTRNRS\u0026gt;\u003Cbr\u003E\r\nSpecific requests and responses\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following sections describe each of these levels.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493255\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ETop Level\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn Open Financial Exchange request or response has the following\r\ntop-level form:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003EOFX\u003C/b\u003E\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E... Open Financial Exchange requests or responses ...\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E0 or more transaction requests and responses inside\r\n appropriate message set aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003EOFX\u003C/b\u003E\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClosing tag for the Open Financial Exchange record\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThis chapter specifies the order of requests and responses. \u003C/p\u003E\r\n\r\n\u003Cp\u003EA single file can contain multiple \u0026lt;OFX\u0026gt; ... \u0026lt;/OFX\u0026gt; blocks. A typical use\r\nof multiple blocks is to request in a single file information associated with different\r\nusers. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493256\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMessages\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA message is the unit of work in Open Financial Exchange. It refers to a\r\nrequest and response pair, and the status codes associated with that response. For\r\nexample, the message to download a bank statement consists of the request \u0026lt;STMTRQ\u0026gt;\r\nand the response \u0026lt;STMTRS\u0026gt;. In addition, with the exception of the signon message,\r\neach message includes a \u003Ci\u003Etransaction wrapper\u003C/i\u003E. These aggregates add a transaction\r\nunique ID \u0026lt;TRNUID\u0026gt;, and for responses, a \u0026lt;STATUS\u0026gt; aggregate, to the basic\r\nrequest and response. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor messages subject to synchronization (see Chapter 6), a third layer\r\nof aggregates is also part of a message definition: a synchronization request and\r\nresponse. These add a token and, in some cases, other information to the transactions. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses the following naming where the \u003Ci\u003EXXX\u003C/i\u003E\r\nmessage includes:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBasic request \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ERQ\u003C/b\u003E\u0026gt; and response \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ERS\u003C/b\u003E\u0026gt;\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction wrapper \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ETRNRQ\u003C/b\u003E\u0026gt; and \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ETRNRS\u003C/b\u003E\u0026gt;\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf needed, synchronization wrapper \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ESYNCRQ\u003C/b\u003E\u0026gt; and\r\n \u0026lt;\u003Ci\u003EXXX\u003C/i\u003E\u003Cb\u003ESYNCRS\u003C/b\u003E\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn a few cases, a small number of related basic requests and responses\r\nshare a transaction and synchronization wrapper. The term message will still apply to each\r\nrequest and response; only the naming scheme will not hold in those cases.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493257\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMessage Sets and Version Control\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets are collections of messages. Generally they form all or\r\npart of what a user would consider a \u003Ci\u003Eservice\u003C/i\u003E, something for which they might have\r\nsigned up, such as \u0026quot;banking.\u0026quot; Message sets are the basis of version control,\r\nrouting, and security. They are also the basis for the required ordering in Open Financial\r\nExchange files.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWithin an Open Financial Exchange block, Open Financial Exchange\r\norganizes messages by message set. A message set can appear at most once within an Open\r\nFinancial Exchange block. All messages from a message set must be from the same version of\r\nthat message set.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor each message set of \u003Ci\u003EXXX\u003C/i\u003E and version \u003Ci\u003En\u003C/i\u003E, there exists an\r\naggregate named \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSV\u003Ci\u003En\u003C/i\u003E\u0026gt;. (Compare with \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSETV\u003Ci\u003En\u003C/i\u003E\u0026gt;\r\nin Chapter 7.) All of the messages from that message set must be inside the appropriate\r\nmessage set aggregate. In the following example, the Open Financial Exchange block\r\ncontains a signon request inside the signon message set, and two statement requests and a\r\ntransfer request inside the bank message set.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;OFX\u0026gt;\r\n\t\u0026lt;SIGNONMSGSRQV1\u0026gt;\t\u0026lt;!-- Signon message set --\u0026gt;\r\n\t\t\u0026lt;SONRQ\u0026gt;\t\t\t\t\u0026lt;!-- Signon message --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/SONRQ\u0026gt;\r\n\t\u0026lt;/SIGNONMSGSRQV1\u0026gt;\r\n\r\n\t\u0026lt;BANKMSGSRQV1\u0026gt;\t\t\u0026lt;!-- Banking message set --\u0026gt;\r\n\t\t\u0026lt;STMTTRNRQ\u0026gt;\t\t\u0026lt;!-- Statement request --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/STMTTRNRQ\u0026gt;\r\n\t\t\u0026lt;STMTTRNRQ\u0026gt;\t\t\u0026lt;!-- Another stmt request --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/STMTTRNRQ\u0026gt;\r\n\t\t\u0026lt;INTRATRNRQ\u0026gt;\t\t\u0026lt;!-- Intra-bank transfer request --\u0026gt;\r\n\t\t...\r\n\t\t\u0026lt;/INTRATRNRQ\u0026gt;\r\n\t\u0026lt;/BANKMSGSRQV1\u0026gt;\r\n\u0026lt;/OFX\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets, if used at all, must appear in the following order:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignup\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBanking\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ECredit card statements\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment statements\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInterbank funds transfers\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EWire funds transfers\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EPayments\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral e-mail\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment security list\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI Profile\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe definition of each message set can further prescribe an order of its\r\nmessages within that message set.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493258\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ETransactions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOther than the signon message, each request is made as a transaction.\r\nTransactions contain a client-assigned globally unique ID, optional client-supplied\r\npass-back data, and then the record for the specific request. A transaction similarly\r\nwraps each response. The response transaction returns the client ID sent in the request,\r\nalong with a status message, the pass-back data if present, and the specific response\r\nrecord. This technique allows a client to track responses against requests.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe \u0026lt;STATUS\u0026gt; aggregate, defined in Chapter 3, provides feedback on\r\nthe processing of the request. If the \u0026lt;SEVERITY\u0026gt; of the status is ERROR, the server\r\nprovides no specific response record. Otherwise, the response will be complete even though\r\nsome warning might have occurred.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients can send additional information in \u0026lt;CLTCOOKIE\u0026gt; that\r\nservers will return in the response. This allows clients that do not maintain state, and\r\nthus do not save TRNUIDs, to cause some additional descriptive information to be present\r\nin the response. For example, a client might identify a request as relating to a user or a\r\nspouse.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn some countries some transactions require a customer-supplied\r\nauthorization number for each transaction. In those countries, the \u0026lt;TAN\u0026gt; element\r\nprovides the means to pass this information to servers. As Open Financial Exchange is\r\nimplemented in each country, the specification will define the specific requirements for\r\nthe use of \u0026lt;TAN\u0026gt; in each country.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA typical request is as follows:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRQ\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TRNUID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-assigned globally unique ID for this transaction \u003Ci\u003Etrnuid\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CLTCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EData to be echoed in the transaction response \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TAN\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction authorization number; used in some countries\r\n with some types of transactions. Country-specific documentation will define messages that\r\n require a TAN, \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003Especific request\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAggregate for the specific request\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRQ\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EA typical response is as follows:\u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRS\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETransaction-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TRNUID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-assigned globally unique ID for this transaction, \u003Ci\u003Etrnuid\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CLTCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-provided data, \u003Cb\u003EREQUIRED\u003C/b\u003E if provided in\r\n request, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EStatus aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003Eresponse record\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAggregate for the specific response\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003ETRNRS\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493259\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EThe Signon Message Set\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Signon message set includes the signon message and the PIN change\r\nmessage, and must appear in that order. The \u0026lt;SIGNONMSGSRQV1\u0026gt; and\r\n\u0026lt;SIGNONMSGSRSV1\u0026gt; aggregates wrap the message.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493260\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ESignon \u0026lt;SONRQ\u0026gt; \u0026lt;SONRS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe signon record identifies and authenticates a user to an FI. It also\r\nincludes information about the application making the request, because some services might\r\nbe appropriate only for certain clients. Every Open Financial Exchange request contains\r\nexactly one \u0026lt;SONRQ\u0026gt;. Every response must contain exactly one \u0026lt;SONRS\u0026gt; record. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse of Open Financial Exchange presumes that FIs authenticate each\r\ncustomer and then give the customer access to one or more accounts or services. If\r\npasswords are specific to individual services or accounts, a separate Open Financial\r\nExchange request will be made for each distinct user ID or password required. This will\r\nnot necessarily be in a manner visible to the user. Note that some situations, such as\r\njoint accounts or business accounts, will have multiple user IDs and multiple passwords\r\nthat can access the same account.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFIs assign user IDs for the customer. It can be the customer\u0027s social\r\nsecurity number, but the client will not make any assumptions about the syntax of the ID,\r\nadd check-digits, or do similar processing.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo improve server efficiency in handling a series of Open Financial\r\nExchange request files sent over a short period of time, clients can request that a server\r\nreturn a \u0026lt;USERKEY\u0026gt; in the signon response. If the server provide a user key, clients\r\nwill send the \u0026lt;USERKEY\u0026gt; in instead of the user ID and password in subsequent\r\nsessions, until the \u0026lt;USERKEY\u0026gt; expires. This allows servers to authenticate\r\nsubsequent requests more quickly.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client returns \u0026lt;SESSCOOKIE\u0026gt; if it sent one in a previous\r\n\u0026lt;SONRS\u0026gt;. Servers can use this value to track client usage but cannot assume that all\r\nrequests come from a single client, nor can they deny service if they did not expect the\r\nreturned cookie. Use of a backup file, for example, would lead to an unexpected\r\n\u0026lt;SESSCOOKIE\u0026gt; value that should nevertheless not stop a user from connecting.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EServers can request that a consumer change his or her password by\r\nreturning status code 15000. Servers should keep in mind that only one status code can be\r\nreturned. If the current signon response status should be 15500 (invalid ID or password),\r\nthe request to change password will need to wait until an otherwise successful signon is\r\nachieved.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ERecord Request \u0026lt;SONRQ\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETag\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SONRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecord- request aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003EDTCLIENT\u003C/b\u003E\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of the request from the client computer, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser identification string. Use \u0026lt;USERID\u0026gt; \u0026amp;\r\n \u0026lt;USERPASS\u0026gt;, or \u0026lt;USERKEY\u0026gt;, but not both; \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERPASS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser password on server - either \u0026lt;USERID\u0026gt; \u0026amp;\r\n \u0026lt;USERPASS\u0026gt; are used, or \u0026lt;USERKEY\u0026gt;, but not both;\u003Ci\u003E A-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERKEY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELogin using previously authenticated context - use\r\n \u0026lt;USERID\u0026gt; \u0026amp; \u0026lt;USERPASS\u0026gt;, or \u0026lt;USERKEY\u0026gt;, but not both; \u003Ci\u003EA-64\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GENUSERKEY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequest server to return a USERKEY for future use, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LANGUAGE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequested language for text responses, \u003Ci\u003Elanguage\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SESSCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESession cookie, value received in previous \u0026lt;SONRS\u0026gt;,\r\n not sent if first login or if none sent by FI \u003Ci\u003EA-1000\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFinancial-Institution-identification aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;APPID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EID of client application, \u003Ci\u003EA-5\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;APPVER\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EVersion of client application, \u003Ci\u003EN-4\u003C/i\u003E (6.00 encoded as\r\n 0600)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SONRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EResponse \u0026lt;SONRS\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SONRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecord-response aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EStatus aggregate, see list of possible code values\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTSERVER\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of the server response, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERKEY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse user key that instead of USERID and USERPASS for\r\n subsequent requests. TSKEYEXPIRE can limit lifetime\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TSKEYEXPIRE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time that USERKEY expires\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u003Cb\u003E\u0026lt;LANGUAGE\u003C/b\u003E\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELanguage used in text responses, \u003Ci\u003Elanguage\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTPROFUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of last update to profile information for any\r\n service supported by this FI (see Chapter 7), \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTACCTUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of last update to account information (see\r\n Chapter 8), \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFinancial-Institution-identification aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/FI\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SESSCOOKIE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESession cookie that the client should return on the next\r\n \u0026lt;SONRQ\u0026gt; \u003Cbr\u003E\r\n \u003Ci\u003EA-1000\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SONRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EList of status code values for the \u0026lt;CODE\u0026gt; element of \u0026lt;STATUS\u0026gt;: \u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002260\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022438\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMust change PIN (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15500\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon (for example, user ID or password) invalid (ERROR)\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15501\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECustomer account already in use (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15502\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPIN Lockout (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EFinancial Institution ID \u0026lt;FI\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome service providers support multiple FIs, and assign each FI an ID.\r\nThe signon allows clients to pass this information along, so that providers will know to\r\nwhich FI the user is actually doing a signon.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FI\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI-record aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ORG\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOrganization defining this FI name space, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FID\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFinancial Institution ID (unique within \u0026lt;ORG\u0026gt;), \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/FI\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493261\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EPIN Change \u0026lt;PINCHRQ\u0026gt;\r\n \u0026lt;PINCHRS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe signon sends a request to change a customer password as a separate\r\nrequest. The transaction request \u0026lt;PINCHTRNRQ\u0026gt; aggregate contains \u0026lt;PINCHRQ\u0026gt;.\r\nResponses are also inside transaction responses \u0026lt;PINCHTRNRS\u0026gt;. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EPassword changes pose a special problem for error recovery. If the\r\nclient does not receive a response, it does not know whether the password change was\r\nsuccessful or not. Open Financial Exchange recommends that servers accept either the old\r\npassword or the new password on the connection following the one containing a password\r\nchange. The password used becomes the new password.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PINCHRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPIN-change-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser identification string. Often a social security number,\r\n but if so, does not include any check digits, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;NEWUSERPASS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENew user password, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PINCHRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PINCHRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPIN-change-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser identification string. Often a social security number,\r\n but if so, does not include any check digits, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTCHANGED\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time the password was changed, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PINCHRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Code Values for the \u0026lt;CODE\u0026gt; Element of\r\n \u0026lt;STATUS\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002260\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022438\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002260\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E15503\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022438\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECould not change PIN (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493262\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser requests a password change: \u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;PINCHTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;888\r\n\t\u0026lt;PINCHRQ\u0026gt;\r\n\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\t\u0026lt;NEWUSERPASS\u0026gt;5321\r\n\t\u0026lt;/PINCHRQ\u0026gt;\r\n\u0026lt;/PINCHTRNRQ\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server responds with: \u003C/font\u003E\u003C/b\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PINCHTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;888\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;PINCHRS\u0026gt;\r\n\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\u0026lt;/PINCHRS\u0026gt;\r\n\u0026lt;/PINCHTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493263\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EExternal Data Support\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome data, such as binary data, cannot be easily sent directly within\r\nSGML. For these situations, the specification will define a tag that contains a reference\r\nto some external data. The way that clients pick up the external data depends on the\r\ntransport used. For the HTTP-based transport described in this document, servers can send\r\nthe data in one of two ways:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESend the same response, using multi-part MIME types to separate the\r\n response into basic \u003Cbr\u003E\r\n Open Financial Exchange and one or more external data files\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient can make a separate HTTP get against the supplied URL, if it\r\n really needs the data \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor example, to retrieve a logo, a \u0026lt;GETMIMERS\u0026gt; might answer a\r\n\u0026lt;GETMIMERQ\u0026gt; as follows: \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMERS\u0026gt;\r\n\t\u0026lt;URL\u0026gt;https://www.fi.com/xxx/yyy/zzz.html\r\n\u0026lt;/GETMIMERS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf the file sent includes the same response using multi-part MIME,\r\nclients will assume it has the local file, zzz.jpg.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493264\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EExtensions to Open Financial\r\n Exchange\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn organization that provides a customized client and server that\r\ncommunicate by means of \u003Cbr\u003E\r\nOpen Financial Exchange might wish to add new requests and responses or even specific\r\nelements to existing requests and responses. To ensure that each organization can extend\r\nthe specification without the risk of conflict, Open Financial Exchange defines a style of\r\ntag naming that lets each organization have its own name space.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOrganizations can register a specific tag name prefix. (The specific\r\nprocedure or organization to manage this registration will be detailed at a later time.)\r\nIf an organization registers \u0026quot;ABC,\u0026quot; then they can safely add new tags named\r\n\u0026lt;ABC.SOMETHING\u0026gt; without\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EColliding with another party wishing to extend the specification\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EConfusing a client or server that does not support the extension\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe extensions are not considered proprietary. An organization is free\r\nto publish their extensions and encourage client and server implementers to support them.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAll tag names that do not contain a period (.) are reserved for use in\r\nfuture versions of the core \u003Cbr\u003E\r\nOpen Financial Exchange specification.\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493265\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ECommon Aggregates, Elements, and\r\n Data Types\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493266\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECommon Aggregates\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis section describes aggregates used in more than one service of Open\r\nFinancial Exchange (for example, investments and payments).\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493267\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EIdentifying Financial Institutions\r\n and Accounts\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange does not provide a universal space for\r\nidentifying financial institutions, accounts, or types of accounts. The way to identify an\r\nFI and an account at that FI depends on the service. For information about\r\nservice-specific ID aggregates, see Chapters 11, 12, and 13 on banking, payments, and\r\ninvestments.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493268\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBalance Records \u0026lt;BAL\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeveral responses allow FIs to send an arbitrary set of balance\r\ninformation as part of a response, for example a bank statement download. FIs might want\r\nto send information on outstanding balances, payment dates, interest rates, and so forth.\r\nBalances can report the date the given balance reflects in \u0026lt;DTASOF\u0026gt;.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;BAL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance-response aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;NAME\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance name, \u003Ci\u003EA-20\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DESC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance description, \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;BALTYPE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance type. \u003Cbr\u003E\r\n DOLLAR = dollar (value formatted DDDDcc)\u003Cbr\u003E\r\n PERCENT = percentage (value formatted XXXX.YYYY)\u003Cbr\u003E\r\n NUMBER = number (value formatted as is)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;VALUE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBalance value.\u003Cbr\u003E\r\n Interpretation depends on \u0026lt;BALTYPE\u0026gt; field, \u003Ci\u003EN-20\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CURRENCY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf dollar formatting, can optionally include currency\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DTASOF\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEffective date of the given balance, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/BAL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493269\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EError Reporting \u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo provide as much feedback as possible to clients and their users, Open\r\nFinancial Exchange defines a \u0026lt;STATUS\u0026gt; aggregate. The most important element is the\r\ncode that identifies the error. Each response defines the codes it uses. Codes 0 through\r\n2999 have common meanings in all Open Financial Exchange transactions. Codes from 3000 and\r\nup have meanings specific to each transaction.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EError-reporting aggregate.\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CODE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EError code, \u003Ci\u003EN-6\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SEVERITY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeverity of the error: \u003Cbr\u003E\r\n INFO = Informational only\u003Cbr\u003E\r\n WARN = Some problem with the request occurred but valid response still present\u003Cbr\u003E\r\n ERROR = A problem severe enough that response could not be made\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;MESSAGE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EA textual explanation from the FI. Note that clients will\r\n generally have messages of their own for each error ID. Use this tag only to provide more\r\n details or for the General errors.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/STATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image6.gif\u0022 width=\u002270\u0022 height=\u002270\u0022 alt=\u0022stadyn_image6.gif (4356 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image6\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image7.gif\u0022 width=\u0022223\u0022 height=\u002272\u0022 alt=\u0022stadyn_image7.gif (1702 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image7\u003C/p\u003E\r\n\r\n\u003Cp\u003EFor general errors, the server can respond with one of the following \u0026lt;CODE\u0026gt;\r\nvalues. However, not all codes are possible in a specific context. \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2021\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnsupported version (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Clients will generally have error messages based on \u0026lt;CODE\u0026gt;.\r\nTherefore, do not use \u0026lt;MESSAGE\u0026gt; to replace that text. Use \u0026lt;MESSAGE\u0026gt; only to\r\nexplain an error not well described by one of the defined CODEs, or to provide some\r\nadditional information.\u003C/i\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493270\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECommon Elements\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis section defines elements used in several services of Open Financial\r\nExchange. The format of the value is either alphanumeric (A-\u003Ci\u003En\u003C/i\u003E)\u003Ci\u003E \u003C/i\u003Eor numeric\r\n(N-\u003Ci\u003En\u003C/i\u003E) with a maximum length \u003Ci\u003En\u003C/i\u003E; or as a named type. Section 3.3 describes the\r\nnamed types.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493271\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EFinancial Institution Transaction ID\r\n \u0026lt;FITID\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat: \u003C/b\u003E\u003Ci\u003EA-255\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn FI assigns an \u0026lt;FITID\u0026gt; to uniquely identify a transaction. Its\r\nprimary purpose is to allow a client to detect duplicate responses. Open Financial\r\nExchange intends \u0026lt;FITID\u0026gt; for use in statement download applications, where every\r\ntransaction requires a unique ID; not just those that are client-originated or\r\nserver-originated.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFITIDs must be unique within the scope of the requested transactions\r\n(that is, within an account) but need not be sequential or even increasing. Clients should\r\nbe aware that FITIDs are not unique across FIs. If a client performs the same type of\r\nrequest within the same scope at two different FIs, clients will need to use FI \u002B account\r\n\u002B \u0026lt;FITID\u0026gt; as a unique key in a client database.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493272\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EServer-Assigned ID \u0026lt;SRVRTID\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-10\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA \u0026lt;SRVRTID\u0026gt; is a server-assigned ID. It should remain constant\r\nthroughout the lifetime of the object on the server. The client will consider the SRVRTID\r\nas its \u0026quot;receipt\u0026quot; or confirmation and will use this ID in any subsequent requests\r\nto change, delete, or inquire about this object. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhere the context allows, it is possible for a server to use the same \u003Ci\u003Evalue\r\n\u003C/i\u003Efor a given server object for both \u0026lt;SRVRTID\u0026gt; and \u0026lt;FITID\u0026gt;, but the client\r\nwill not know this. SRVRTIDs need be unique only within the scope of the requests and\r\nresponses they apply to, such as an account number. Like \u0026lt;FITID\u0026gt;, a \u0026lt;SRVRTID\u0026gt;\r\nis not unique across FIs and clients might need to use FI \u002B \u0026lt;SRVRTID\u0026gt; if a client\r\nrequires a unique key.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Payments, Banking\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493273\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EClient-Assigned Transaction UID\r\n \u0026lt;TRNUID\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-36\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses TRNUIDs to identify transactions,\r\nspecifically \u0026lt;\u003Ci\u003EXXX\u003C/i\u003ETRNRQ\u0026gt;. Clients expect a server to return the same\r\n\u0026lt;TRNUID\u0026gt; in the corresponding response and can use this to match up requests and\r\nresponses. Servers can use TRNUIDs to reject duplicate requests. Because multiple clients\r\nmight be generating requests to the same server, transaction IDs need to be unique across\r\nclients. Thus, \u0026lt;TRNUID\u0026gt; must be a globally unique ID.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Open Software Foundation Distributed Computing Environment standards\r\nspecify a 36-character hexadecimal encoding of a 128-bit number and an algorithm to\r\ngenerate it. Clients are free to use their own algorithm, to use smaller TRNUIDs, or to\r\nrelax the uniqueness requirements if in their particular application it makes sense.\r\nHowever, it is \u003Cb\u003ERECOMMENDED\u003C/b\u003E that clients allow for the full 36 characters in\r\nresponses to work better with other clients.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E All services\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493274\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EToken \u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-10\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses \u003Cb\u003E\u0026lt;\u003C/b\u003ETOKEN\u0026gt; as part of data\r\nsynchronization requests to identify the point in history that the client has already\r\nreceived data, and in responses to identify the server\u0027s current end of history. See\r\nChapter 6, \u0026quot;Data Synchronization,\u0026quot; for more information.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;TOKEN\u0026gt; is unique within an FI and the scope of the\r\nsynchronization request. For example, if the synchronization request includes an account\r\nID, the \u0026lt;TOKEN\u0026gt; needs be unique only within an account. Servers are free to use a\r\n\u0026lt;TOKEN\u0026gt; that is unique across the entire FI. Clients must save separate\r\n\u0026lt;TOKEN\u0026gt;s for each account, FI, and type of synchronization request.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E All synchronization requests and responses\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493275\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ETransaction Amount \u0026lt;TRNAMT\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EAmount\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses \u0026lt;TRNAMT\u0026gt; in any request or response\r\nthat reports the total amount of an individual transaction.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download,\r\npayments\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493276\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMemo \u0026lt;MEMO\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EA-255\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA \u0026lt;MEMO\u0026gt; provides additional information about a transaction.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download,\r\npayments, transfers\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493277\u0022\u003EDate Start and Date End\r\n \u0026lt;DTSTART\u0026gt;\u003C/a\u003E \u0026lt;DTEND\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EFormat:\u003C/b\u003E \u003Ci\u003EDatetime\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses these tags in requests to provide guidance\r\nto the FI about the range of response that is desired. It also uses them in responses to\r\nlet clients know what the FI was actually able to produce.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn requests, the following rules apply:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf \u0026lt;DTSTART\u0026gt; is absent, the client is requesting all available\r\n history (up to the \u0026lt;DTEND\u0026gt;, if specified). Otherwise, it indicates the \u003Ci\u003Einclusive\u003C/i\u003E\r\n date and time in history where the client expects servers to start sending information.\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf \u0026lt;DTEND\u0026gt; is absent, the client is requesting all available\r\n history (starting from \u0026lt;DTSTART\u0026gt;, if specified). Otherwise, it indicates the \u003Ci\u003Eexclusive\u003C/i\u003E\r\n date and time in history where the client expects servers to stop sending information.\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn responses, the following rules apply:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;DTSTART\u0026gt; is the date and time where the server began \u003Ci\u003Elooking\u003C/i\u003E\r\n for information, not necessarily the date of the earliest returned information. If the\r\n response \u0026lt;DTSTART\u0026gt; is later than the requested \u0026lt;DTSTART\u0026gt;, clients can infer\r\n that the user has not signed on frequently enough to ensure that the client has retrieved\r\n all information. If the user has been calling frequently enough, \u0026lt;DTSTART\u0026gt; in the\r\n response will match \u0026lt;DTSTART\u0026gt; in the request.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026lt;DTEND\u0026gt; is the date and time that, if used by the client as the\r\n next requested \u0026lt;DTSTART\u0026gt;, it would pick up exactly where the current response left\r\n off. It is the \u003Ci\u003Eexclusive\u003C/i\u003E date and time in history where the server stopped \u003Ci\u003Elooking\u003C/i\u003E\r\n for information, based on the request \u0026lt;DTEND\u0026gt; rules. \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn all cases, servers are \u003Cb\u003EREQUIRED\u003C/b\u003E to use a \u0026quot;system add\r\ndatetime\u0026quot; as the basis for deciding which details match the requested date range. For\r\nexample, if an FI posts a transaction dated Jan 3 to a user\u0027s account on Jan 5, and a\r\nclient connects on Jan 4 and again on Jan 6, the server is \u003Cb\u003EREQUIRED\u003C/b\u003E to return that\r\nJan 3 dated transaction to the client when it calls on Jan 6. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EUsage:\u003C/b\u003E Bank statement download, investment statement download\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493278\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECommon data types\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493279\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EDates and Times\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EBasic Format\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere is one format for representing dates, times, and time zones. The\r\ncomplete form is:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS.XXX[\u003Ci\u003Egmt offset\u003C/i\u003E:\u003Ci\u003Etz name\u003C/i\u003E]\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor example, \u0026quot;19961005132200.1234[-5:EST]\u0026quot; represents October\r\n5, 1996, at 1:22 and 124 milliseconds p.m., in Eastern Standard Time. This is the same as\r\n6:22 p.m. Greenwich Mean Time (GMT).\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETags specified as type \u003Ci\u003Edate \u003C/i\u003Eand generally starting with the\r\nletters \u0026quot;DT\u0026quot; will accept a fully formatted date-time-timezone as specified\r\nabove. They will also accept values with fields omitted from the right. They assume the\r\nfollowing defaults if a field is missing:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDD: 12:00 midnight (the start of the day), GMT\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS: GMT\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS.XXX: GMT\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EYYYYMMDDHHMMSS.XXX[-0500:EST]: Fully qualified\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange identifies elements that require a time as\r\nhaving type \u003Ci\u003Etimestamp \u003C/i\u003Eand their tag name will start with the prefix TS. The\r\ntimezone and milliseconds are still optional, and will default to GMT.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETake care when specifying an ending date without a time. If the last\r\ntransaction returned for a bank statement download was Jan 5 1996 10:46 a.m. and if the\r\n\u0026lt;DTEND\u0026gt; was given as just Jan 5, the transactions on Jan 5 would be resent. If\r\nresults are only available daily, then just using dates and not times will work correctly.\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange does not require servers or\r\nclients to use the full precision specified. However, they are \u003Ci\u003E\u003Cb\u003EREQUIRED\u003C/b\u003E to\r\naccept any of these forms without complaint.\u003C/i\u003E\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome services extend the general notion of a \u003Ci\u003Edate\u003C/i\u003E by adding\r\nspecial values, such as \u0026quot;TODAY.\u0026quot; These special values are called \u0026quot;smart\r\ndates.\u0026quot; Specific requests indicate when to use these extra values, and list the tag\r\nas having a special data type.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ETime Zone Issues\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeveral issues arise when a customer and the FI are not in the same time\r\nzone, or when a customer moves a computer into new time zones. In addition, it is\r\ngenerally unsafe to assume that computer users have correctly set their time or timezone.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAlthough most transactions are not sensitive to the exact time, they\r\noften are sensitive to the date. In some cases, time zone errors lead to actions occurring\r\non a different date than intended by the customer. For this reason, servers should always\r\nuse a complete local time plus GMT offset in any datetime values in a response. If a\r\ncustomer\u0027s request is for 5 p.m. EST, and a server in Europe responds with 1 a.m. MET the\r\nnext day, a smart client can choose to warn the customer about the date shift.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients that maintain local state, especially of long-lived server\r\nobjects, should be careful how they store datetime values. If a customer initiates a\r\nrepeating transaction for 5 p.m. EST, then moves to a new time zone, the customer might\r\nhave intended that the transaction remain 5 p.m. in the new local time, requiring a change\r\nrequest to be sent to the server. If, however, they intended it to remain fixed in server\r\ntime, this would require a change in the local time stored in the client.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493280\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EAmounts, Prices, and Quantities\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EPositive and Negative Signs\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnless otherwise noted in the specification, Open Financial Exchange\r\nalways signs amounts and quantities from the perspective of the customer. Some typically\r\nnegative amounts:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment buy amount, investment sell quantity\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBank statement debit amounts, checks, fees\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ECredit card purchases\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMargin balance (unless the FI owes the client money)\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome typically positive amounts:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvestment sell amount, investment buy quantity\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EBank statement credits\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ECredit card payments\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ELedger balance (unless the account is overdrawn)\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EAmount: \u003C/i\u003EAll amount-valued tags are sent with a decimal point or\r\ncomma, as in \u0026quot;XXXX.XX.\u0026quot; There should not be any punctuation separating\r\nthousands, millions, and so forth. The maximum value accepted depends on the client.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EQuantity: \u003C/i\u003EUse decimal notation.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EUnitprice: \u003C/i\u003EUse decimal notation. Unless specifically noted,\r\nprices should always be positive.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003ERate: \u003C/i\u003EUse decimal notation, with the rate specified out of 100%.\r\nFor example, 5.2 is 5.2%.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome services define special values, such as INFLATION, which you can\r\nuse instead of a designated value. Open Financial Exchange refers to these as \u0026quot;smart\r\ntypes,\u0026quot; and identifies them in the specification.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493281\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ELanguage\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange identifies human-readable language-for such\r\nthings as status messages and e-mail-with a three-letter code based on ISO-639.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493282\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBasic data types\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EBoolean: \u003C/i\u003EY = yes or true, N = no or false.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003EURL: \u003C/i\u003EString form of a World Wide Web Uniform Resource Location.\r\nIt should be fully qualified including protocol, host, and path.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493283\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ESecurity\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493284\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESecurity Solutions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange carries financial information over the Internet\r\nin such a way to provide privacy, message integrity, and authentication for applications\r\nat the appropriate level. Each service within Open Financial Exchange requires a certain\r\nlevel of security. Online banking and payments require strong secrecy, whereas stock\r\nquotations consist of publicly available information and consequently have a much weaker\r\nsecrecy requirement.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome Internet protocols, such as HTTPS (which uses Secure Socket Layer\r\nversion 3, SSLv3), provide channel-level security. When the security requirement exceeds\r\nthat provided by the channel, you must use an application-level protocol.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Ca NAME=\u0022_Toc371763498\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo address these various needs, Open Financial\r\nExchange allows a range of security solutions. Open Financial Exchange 1.0 supports online\r\nbanking and payment functions for which strong channel security is currently appropriate.\r\nFuture releases will support a wider array of services, some of which will require more\r\nelaborate trust models. Application-level protection will secure the latter.\u003C/font\u003E\u003C/a\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange security properties include:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL - protects information during transmission over the Internet between\r\n a customer and an FI \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EApplication layer security - encrypts and formats messages using RSA Data\r\n Security PKCS#7 techniques \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ENew cryptographic options and enhancements when available - will enhance\r\n Open Financial Exchange to provide these facilities \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493285\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EDetermining Security Levels\r\n \u0026lt;OFXSEC\u0026gt; \u0026lt;TRANSPSEC\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETwo elements in the FI profile, \u0026lt;OFXSEC\u0026gt; and \u0026lt;TRANSPSEC\u0026gt;,\r\ncontain the security level a client should use to communicate with a server.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe valid values for \u0026lt;OFXSEC\u0026gt; are as follows:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EType\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ENONE\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENo application level security\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EAPPSEC\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse application level security\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe \u0026lt;TRANSPSEC\u0026gt; element value is Boolean. If the value is YES, use channel-level\r\nsecurity. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493286\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EChannel-Level Security\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESecure Socket Layer version 3 (SSLv3) provides channel-level security in\r\nOpen Financial Exchange. SSLv3 provides confidentiality, message integrity, and implicit\r\nauthentication. In Open Financial Exchange 1.0, channel-level security using SSLv3 is the\r\nprimary form of security.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493287\u0022\u003ESecurity Requirements\u003C/a\u003E \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange provides a method to exchange financial\r\ninformation over public networks. This necessitates strong security facilities and careful\r\nprotocol design. The most commonly used facility, and trusted method for accomplishing\r\nmany of these goals is SSL. The following sub-sections describe the most prominent\r\nrequirements for security and how Secure Socket Layer (SSL) addresses these.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EPrivacy, Authentication, and Message Integrity\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL provides a range of strong encryption methods for insuring\r\nconfidentiality, and strong measures to insure that messages are not altered as they\r\npropagate over the Internet. User authentication is usually addressed at the application\r\nlayer, not within SSL. Servers are configured with public key certificates that client\r\napplication software verifies. This provides some measure of server authentication.\r\nTesting certificate revocation lists is not commonly performed. However, as these\r\nfacilities emerge, client software will be written to support this need. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EFacilities for Authorization\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange messages typically provide user ID and password\r\nso that a service provider can authenticate the user. Once a system authenticates a user,\r\nthe service provider must insure that the user is authorized to perform the requested\r\nactions. For example, the service provider must decide if the specified user is authorized\r\nto perform a transfer from the specified account. The service provider must also determine\r\nwhether the user has exceeded allowed limits on withdrawals, whether the activity on this\r\naccount is unusual given past history, and other context-sensitive issues.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493288\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EUsing SSL 3.0 in Open Financial\r\n Exchange\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL version 3.0 provides a set of widely and commonly accepted methods\r\nfor securing Internet transactions. These common methods within SSL are called\r\nCipherSuites. You can secure applications appropriately within SSL by specifying an\r\nordered sequence of preferred CipherSuites (highest preference listed first). Servers\r\nselect the strongest supported CipherSuite from the list provided by the client. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Passing username and password pairs in a weakly\r\nencrypted channel exposes this information to cryptographic attack. When implementing Open\r\nFinancial Exchange, use the strongest available ciphers.\u003C/i\u003E\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EYou should not use the following CipherSuites because they are\r\nvulnerable to man-in-the-middle attacks during Open Financial Exchange message exchanges:\u003C/font\u003E\r\n\r\n\u003Cmenu\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_EXPORT_WITH_RC4_40_MD5 \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_WITH_RC4_128_MD5 \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_WITH_DES_CBC_SHA \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESSL_DH_anon_WITH_3DES_EDE_CBC_SHA\u003C/font\u003E \u003C/li\u003E\r\n\u003C/menu\u003E\r\n\r\n\u003Cp\u003E\u003Ca NAME=\u0022_Toc376002624\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESetting tags to enable channel-level security in\r\nthe FI profile advises the Open Financial Exchange application to use this security\r\nmethod. Usually, the service provider of the Web server configures the allowed\r\nCipherSuites within SSL. \u003C/font\u003E\u003C/a\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493289\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EApplication-Level Security\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhile strong channel-level security is sufficient for the current suite\r\nof Open Financial Exchange transactions, there are features that channel security does not\r\nprovide. These include (but are not limited to) data signing, non-repudiation, rational\r\ncertificate management and revocation, and trust proxy. Where the trust model for an\r\napplication requires such features to conduct the transaction safely, Open Financial\r\nExchange stipulates the use of an application-level protocol. A future implementation\r\nguide will publish this protocol. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe standard method for providing application-level security is to rely\r\nupon the RSA Public Key Cryptography Standard (PKCS) message format. The PKCS #7 standard\r\nspecifies a message format that is both cryptographically strong and flexible enough to\r\nprovide sufficient facilities for evolution. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493290\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERequirements for Application-Layer\r\n Security\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EPrivacy, Authentication, and Message Integrity\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ERSA Public Key Cryptography Standard #7 (PKCS#7) defines a rich set of\r\nmessage formats for securely exchanging information over public networks. These message\r\nformats provide for encrypting data using a combination of cryptographic techniques to\r\nleverage manageability of public key cryptography. It also utilizes the speed of block\r\nciphers into a hybrid, which exploits the best properties of each. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EPKCS#7 message encryption provides privacy. A digitally signed message\r\n(or applying HMAC) insures message integrity.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse one of the following to define PKCS#7 messages: Data, Digitally\r\nSigned-Data, Enveloped-Data, or Digitally Signed and Enveloped-Data (also referred to as\r\nSealed-Data). Open Financial Exchange can use Digested-Data, which digests application\r\ndata before it embeds data within an Enveloped-Data object. However, it should not\r\ntransmit this data over public networks without encryption applied.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EFacilities for Authorization\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAs stated previously in the section 4.2, authentication and\r\nauthorization are the responsibility of the service provider. Open Financial Exchange\r\nmessages contain the information to enable authentication and authorization decisions.\r\nWith application-level security that uses a digitally signed format, the verification of\r\nthat signature provides an additional method of authenticating the user.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493291\u0022\u003EUsing Application-level Encryption\r\n in \u003C/a\u003EOpen Financial Exchange \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange applications requiring a sophisticated trust\r\nmodel require more facilities than those provided by SSL. If an Open Financial Exchange\r\napplication requires only point-to-point security, SSL version 3.0 provides adequate\r\nfacilities for message security. However, if the application requires more directed,\r\nspecific forms of security, then use the appropriate PKCS#7 message formats for the\r\napplication. An example of this might be a stock trading application issuing orders whose\r\nvalues demand that the security level be high, and where Open Financial Exchange treats\r\nthe message with special handling instructions. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecommended cryptographic techniques for Open Financial Exchange\r\napplication security are: \u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERC4 for bulk encryption (using 40 bits for exportable applications, 128\r\n for North America)\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERSA encryption of bulk encryption keys and digital signatures\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESHA-1 as a secure hash algorithm \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn the absence of digital signatures, Open Financial Exchange\r\napplications should utilize the HMAC keyed MAC algorithm, using SHA-1 as a secure hash\r\nfunction. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen you set the tags for application-layer security-which determines\r\nwhether to use PKCS#7 message format-in the FI profile, the application software uses\r\nthese facilities. \u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493292\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EInternational Support\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493293\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ELanguage and Encoding\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMost of the content in Open Financial Exchange is language-neutral.\r\nHowever, some error messages, balance descriptions, and similar tags contain text meant to\r\nappear to the financial institution customers. There are also cases, such as e-mail\r\nrecords, where customers need to send text in other languages. To support world-wide\r\nlanguages, Open Financial Exchange must identify the basic text encoding, specific\r\ncharacter set, and the specific language.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe outer Open Financial Exchange headers specify the encoding and\r\ncharacter set, as described Chapter 2. Current encoding values are ASCII and UNICODE. For\r\nASCII, character set values are code pages. Unicode ignores the character set \u003Ci\u003Eper se\u003C/i\u003E\r\nalthough it still requires the syntax. Clients identify the language in the signon\r\nrequest. Open Financial Exchange specifies languages by three-letter codes as defined in\r\nISO-639. Servers report their supported languages in the profile (see Chapter 7). If a\r\nserver cannot support the requested language, they must return an error and not process\r\nthe rest of the transactions.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493294\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECurrency \u0026lt;CURDEF\u0026gt;\r\n \u0026lt;CURRENCY\u0026gt; \u0026lt;ORIGCURRENCY\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn each transaction involving amounts, responses include a default\r\ncurrency identification, \u0026lt;CURDEF\u0026gt;. The values are based on the ISO 4217 three-letter\r\ncurrency identifiers.\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022\u003E \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWithin each transaction, specific parts of the response might need to\r\nreport a different currency. Where appropriate, aggregates will include an optional\r\n\u0026lt;CURRENCY\u0026gt; aggregate. The scope of a \u0026lt;CURRENCY\u0026gt; aggregate is everything within\r\nthe same aggregate that the \u0026lt;CURRENCY\u0026gt; aggregate appears in, including nested\r\naggregates, unless overridden by a nested \u0026lt;CURRENCY\u0026gt; aggregate. For example,\r\nspecifying a \u0026lt;CURRENCY\u0026gt; aggregate in an investment statement detail means that the\r\nunit price, transaction total, commission, and all other amounts are in terms of the given\r\ncurrency, not the default currency. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ENote that there is no way for two or more individual elements that\r\nrepresent amounts-and are directly part of the same aggregate-to have different\r\ncurrencies. For example, there is no way in a statement download to have a different\r\ncurrency for the \u0026lt;LEDGERBAL\u0026gt; and the \u0026lt;AVAILBAL\u0026gt;, because they are both\r\ndirectly members of \u0026lt;STMTRS\u0026gt;. In most cases, you can use the optional \u0026lt;BAL\u0026gt;\r\nrecords to overcome this limitation, which do accept individual \u0026lt;CURRENCY\u0026gt;\r\naggregates.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe default currency for a request is the currency of the source\r\naccount. For example, the currency for \u0026lt;BANKACCTFROM\u0026gt;.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe \u0026lt;CURRATE\u0026gt; should be the one in effect throughout the scope of\r\nthe \u0026lt;CURRENCY\u0026gt; aggregate. It is not necessarily the current rate. Note that the\r\n\u0026lt;CURRATE\u0026gt; needs to take into account the choice of the FI for formatting of amounts\r\n(that is, where the decimal is) in both default and overriding currency, so that a client\r\ncan do math. This can mean that the rate is adjusted by orders of magnitude (up or down)\r\nfrom what is commonly reported in newspapers.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CURRENCY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E \u003Ci\u003Eor\r\n \u003Cbr\u003E\r\n \u003C/i\u003E\u003Cb\u003E\u0026lt;ORIGCURRENCY\u0026gt;\u003C/b\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECurrency aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CURSYM\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EISO 4217 3-letter currency identifier, \u003Ci\u003EA-3\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CURRATE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERatio of \u0026lt;CURDEF\u0026gt; currency to \u0026lt;CURSYM\u0026gt;\r\n currency, in decimal form\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/CURRENCY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\r\n \u003Ci\u003Eor \u003Cbr\u003E\r\n \u003C/i\u003E\u003Cb\u003E\u0026lt;/ORIGCURRENCY\u0026gt;\u003C/b\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EIn some cases, Open Financial Exchange will define transaction responses so that\r\namounts have been converted to the home currency. However, Open Financial Exchange will\r\nallow FIs to optionally report the original amount and the original (foreign) currency. In\r\nthese cases, transactions include a specific tag for the original amount, and then a\r\n\u0026lt;ORIGCURRENCY\u0026gt; tag to report the details of the foreign currency. \u003C/p\u003E\r\n\r\n\u003Cp\u003EAgain, \u0026lt;CURRENCY\u0026gt; means that Open Financial Exchange \u003Ci\u003Ehas not\u003C/i\u003E converted\r\namounts. Whereas, \u0026lt;ORIGCURRENCY\u0026gt; means that Open Financial Exchange \u003Ci\u003Ehas\u003C/i\u003E\r\nalready converted amounts. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493295\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECountry-Specific Tag Values\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome of the tags in Open Financial Exchange have values that are\r\ncountry-specific. For example, \u0026lt;USPRODUCTTYPE\u0026gt; is only useful within the United\r\nStates. Open Financial Exchange will extend in each country as needed to provide tags that\r\naccept values useful to that country. Clients in other countries that do not know about\r\nthese tags will simply skip them.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn some cases, a tag value represents a fundamental way of identifying\r\nsomething, yet there does not exist a world-wide standard for such identification.\r\nExamples include bank accounts and securities. In these cases, it is important that Open\r\nFinancial Exchange defines a single, extensible approach for identification. For example,\r\nCUSIPs are used within the U.S., but not in other countries. However, CUSIPs are\r\nfundamental to relating investment securities, holdings, and transactions. Thus, a\r\nsecurity ID consists of a two-part aggregate: one to identify the naming scheme, and one\r\nto provide a value. Open Financial Exchange will define valid naming schemes as necessary\r\nfor each country.\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493296\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EData Synchronization\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493297\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ECurrently, some systems provide only limited support for error recovery\r\nand no support for backup files or multiple clients. The Open Financial Exchange data\r\nsynchronization approach described in this chapter handles all of these situations. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange defines a powerful form of data synchronization\r\nbetween clients and servers. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange data synchronization addresses the following\r\nproblems:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EError recovery\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUse of multiple client applications\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERestoring from a backup file\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMultiple data files (for example, one copy at home, another at work).\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis chapter first provides a brief background of error recovery\r\nproblems and then presents the basic strategy used in Open Financial Exchange to perform\r\ndata synchronization. Each Open Financial Exchange service includes specific details for\r\ndata synchronization requests and responses.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMost of the information in this chapter concerns data synchronization,\r\nsince it is a relatively new concept. The final section in this chapter discusses\r\nalternatives to full synchronization, and summarizes the options for each.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493298\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EBackground\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen a client begins a connection with a server for which the connection\r\ndoes not successfully complete, there are two main problems:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnconfirmed requests\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a client does not receive a response to work it initiates, it has no\r\nway of knowing whether the server processed the request. It also will not have any\r\nserver-supplied information about the request, such as a server ID number.\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnsolicited data\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome banking protocols allow a server to send data to the client\r\nwhenever the client makes a connection. This specification assumes that the first client\r\nthat calls in after the unsolicited data is available for download receives the data. If\r\nthe connection fails, this information would be forever lost to the client. Examples of\r\nunsolicited data include updates in the status of a bill payment and e-mail responses.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnsolicited data presents problems beyond error recovery. Because the\r\nfirst client that connects to a server is the only one to receive unsolicited data, this\r\nsituation precludes use of multiple clients without a data synchronization method. For\r\nexample, if a user has a computer at work and one at home, and wants to perform online\r\nbanking from both computers, a bank server could send unsolicited data to one but not the\r\nother. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn even greater problem occurs when a user resorts to a backup copy of\r\nthe client data file. This backup file will be missing recent unsolicited data with no way\r\nto retrieve it from the server once the server sends it.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493299\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EData Synchronization Approach\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA simple solution is to make sure that clients can always obtain\r\ninformation from the server for a reasonable length of time. Clients can request recent\r\nresponses-whether due to client-initiated work or other status changes on the server-by\r\nsupplying the previous endpoint in the response history. Servers always supply a new\r\nendpoint whenever they supply responses. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a client connection fails-or a client receives a response, but\r\ncrashes before updating its database-the client will not save the new endpoint. On the\r\nnext synchronization request, the server sends the same information (plus any further\r\nstatus changes). \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a user switches to a backup file, again the client will use the older\r\nendpoint in the synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf multiple clients are in use, each will send requests based on its own\r\nendpoint, so that both clients will obtain complete information from the server. This is\r\none reason why Open Financial Exchange responses carry enough information from the request\r\nto enable them to be processed on their own. The diagram below shows the relationship\r\nbetween clients and servers.\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange relieves the server from maintaining any special\r\nerror-recovery state information. However, Open Financial Exchange requires the server to\r\nmaintain a history of individual responses it would have sent and a way to identify a\r\nposition in the history. This ID could be a timestamp, or be based on its existing state\r\ninformation. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange does not require servers to\r\nstore these responses based on individual connections. Also, not all requests are subject\r\nto synchronization. For example, Open Financial Exchange does not require servers to store\r\nstatement-download responses separately for data synchronization. \u003C/i\u003E\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493300\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EData Synchronization Specifics\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange does synchronization separately for each type of\r\nresponse. In addition, a synchronization request might include further identifying\r\ninformation, such as a specific account number. This specification defines the additional\r\ninformation for each synchronization request.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach Open Financial Exchange service will identify the specific\r\nresponses that are subject to data synchronization. For example, a bank statement-download\r\nis a read-only operation from the server. A client can request again if it fails;\r\nconsequently, there is no special data synchronization for this type of response.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe basis for synchronization is a \u003Ci\u003Etoken\u003C/i\u003E as defined by the\r\n\u0026lt;TOKEN\u0026gt; tag. The server is free to create a token in any way it wishes. The client\r\nsimply holds the token for possible use in a future synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server can derive a token from one of the following: \u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ETimestamp\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESequential number\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnique non-sequential number\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EOther convenient values for a server \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cmenu\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Open Financial Exchange reserves a \u0026lt;TOKEN\u0026gt; value of\r\n zero for the first time each type of response does a synchronization task. \u003C/i\u003E\u003C/font\u003E\u003C/li\u003E\r\n\u003C/menu\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients will send a \u0026lt;TOKEN\u0026gt; of zero on their first synchronization\r\nrequest. Servers should send all available history, allowing a new client to know about\r\nwork done by other clients. If a user\u0027s account has never been used with Open Financial\r\nExchange, the server returns no history.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server can use different types of tokens for different types of\r\nresponses, if suitable for the server. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETokens will be subject to a maximum size; see Chapter 3, \u0026quot;Common\r\nAggregates, Elements, and Data Types.\u0026quot; Tokens need to be unique only with respect to\r\na specific type of synchronization request and the additional information in that request.\r\nFor example, a bill payment synchronization request takes an account number; therefore, a\r\ntoken needs to be unique only within payments for a specific account.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EServers will not have infinite history available, so synchronization\r\nresponses include a \u0026lt;LOSTSYNC\u0026gt; element with a value of Y (yes) if the old token in\r\nthe synchronization request was older than available history. This tag allows clients to\r\nalert users that some responses have been lost.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E A token is unrelated to a \u0026lt;TRNUID\u0026gt;,\r\n\u0026lt;SRVRTID\u0026gt;, or \u0026lt;FITID\u0026gt;. Each of these serves a specific purpose, and has its\r\nown scope and lifetime. \u003C/i\u003E\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA \u0026lt;SRVRTID\u0026gt; is not appropriate as a \u0026lt;TOKEN\u0026gt; for bill\r\npayment. A single payment has a single \u0026lt;SRVRTID\u0026gt;, but it can undergo several state\r\nchanges over its life and thus have several entries in the token history.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere are three different ways a client and a server can conduct their\r\nrequests and responses:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EExplicit synchronization - A client can request synchronization without\r\n sending any (other) Open Financial Exchange requests. Clients will send a specific\r\n synchronization request, including the current token for that request. The response will\r\n be a set of individual responses more recent than the given token, along with a new token.\r\n \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESynchronization with new requests - A client can request synchronization\r\n as part of the response to any new requests it has. It gives the old token. The response\r\n should include responses to the new requests plus any others that became available since\r\n the old token, along with a new token. An aggregate contains the requests so that the\r\n server can process the new requests and update the token as an atomic action.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ENew requests without synchronization - A client can make new requests\r\n without providing the old token. In this case, it expects just responses to the new\r\n requests. A subsequent request for synchronization will cause the client to send the same\r\n response again, because the client did not update its token.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach request and response that requires data synchronization will define\r\na synchronization aggregate. The aggregate tells the server which particular kind of data\r\nit should synchronize. By convention, these aggregates always have SYNC as part of their\r\ntag names, for example, \u0026lt;PMT\u003Cb\u003ESYNC\u003C/b\u003ERQ\u0026gt;. You can use these aggregates on their\r\nown to perform explicit synchronization, or as wrappers around one or more new\r\ntransactions. For example, you can use \u0026lt;PMTSYNCRQ\u0026gt; aggregates to request\r\nsynchronization in combination with new work. You can use the \u0026lt;PMTTRNRQ\u0026gt; by itself\r\nif you do not require synchronization.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome clients can choose to perform an explicit synchronization before\r\nsending any new requests (with or without synchronization). This practice allows clients\r\nto be up-to-date and possibly interact with the user before sending any new requests.\r\nOther clients can simply send new requests as part of the synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a client synchronizes in one file, then sends new work inside a\r\nsynchronization request in a second file, there is a small chance that additional\r\nresponses become available between the two connections. There is even a smaller chance\r\nthat these would be conflicting requests, such as modifications to the same object.\r\nHowever, some clients and some requests might require absolute control, so that the user\r\ncan be certain that they are changing known data. To support this, synchronization\r\nrequests can optionally specify \u0026lt;REJECTIFMISSING\u0026gt;. The tag tells a server that it\r\nshould reject all enclosed requests if the supplied \u0026lt;TOKEN\u0026gt; is out of date \u003Ci\u003Ebefore\r\nconsidering the new requests.\u003C/i\u003E That is, if any new responses became available, whether\r\nrelated to the incoming requests or not (but part of the scope of the synchronization\r\nrequest), the server should immediately reject the requests. It should still return the\r\nnew responses. A client can then try again until it finds a stable window to submit the\r\nwork. See section 6.5 for more information about conflict detection and resolution.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe password change request and response present a special problem. See\r\nsection 2.5.2 for further information.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493301\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EConflict Detection and Resolution\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EConflicts arise whenever two or more users or servers modify the same\r\ndata. This can happen to any object that has a \u0026lt;SRVRTID\u0026gt; that supports change or\r\ndelete requests. For example, one spouse and the other might independently modify the same\r\nrecurring bill payment model. From a server perspective, there is usually no way to\r\ndistinguish between the same user making two intended changes and two separate users\r\nmaking perhaps unintended changes. Therefore, Open Financial Exchange provides enough\r\ntools to allow clients to carefully detect and resolve conflicts. Open Financial Exchange\r\nrequires only that a server process atomically all requests in a single \u0026lt;OFX\u0026gt; block.\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA careful client will always synchronize before sending any new\r\nrequests. If any responses come back that could affect a user\u0027s pending requests, the\r\nclient can ask the user whether it should still send those pending requests. Because there\r\nis a small chance for additional server actions to occur between the initial\r\nsynchronization request and sending the user\u0027s pending requests, extremely careful clients\r\ncan use the \u0026lt;REJECTIFMISSING\u0026gt; option. Clients can iterate sending pending requests\r\ninside a synchronization request with \u0026lt;REJECTIFMISSING\u0026gt; and testing the responses to\r\nsee if they conflict with pending requests. A client can continue to do this until a\r\nwindow of time exists wherein the client is the only agent trying to modify the server. In\r\nreality, this will almost always succeed on the first try.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493302\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESynchronization vs. Refresh\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere are some situations, and some types of clients, where it is\r\npreferable for a client to ask a server to send everything it knows, rather than just\r\nreceive a set of changes. For example, a situation where a client that has not connected\r\noften enough has lost synchronization. An example of \u0026quot;type\u0026quot; might be a\r\ncompletely stateless client, such as a web browser. This choice is made during client\r\nimplementation. Open Financial Exchange does not require a client to refresh just because\r\nit has lost synchronization.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients will mainly want to refresh lists of long-lived objects on the\r\nserver; generally objects with a \u0026lt;SRVRTID\u0026gt;. For example, Open Financial Exchange\r\nPayments has both individual payments and models of recurring payments. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA brand new client, or a client that lost synchronization, might want to\r\nlearn about in-progress payments by doing a synchronization refresh of the payment\r\nrequests. It would almost certainly want to do a synchronization refresh of the recurring\r\npayment models, because these often live for months or years. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA client might not perform a synchronization refresh on e-mail\r\nresponses.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA client can request a refresh by using the \u0026lt;REFRESH\u0026gt; tag with\r\nvalue of Y instead of the \u0026lt;TOKEN\u0026gt; tag. Server descriptions detail the exact behavior\r\nthat servers should follow. However, the general rule is that servers should send\r\nresponses that emulate a client creating or adding each of the objects governed by the\r\nparticular synchronization request. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn these cases, you can set \u0026lt;TRNUID\u0026gt; to zero; the standard value\r\nfor server-generated responses. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere is no need to recreate a stream of responses that emulate the\r\nentire history of the object, just an add response that reflects the current state. For\r\nexample, if you create a model and then modify it three times, even if this history would\r\nhave been available for a regular synchronization, servers should only send a single add\r\nthat reflects the current state. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA client that just wants the current token, without refresh or\r\nsynchronization, makes requests with \u0026lt;TOKENONLY\u0026gt; and a value of Y.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn all cases, servers should send the current ending \u0026lt;TOKEN\u0026gt; for\r\nthe synchronization request in refresh responses. This allows a client to perform regular\r\nsynchronization requests in the future.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following table summarizes the options in a client synchronization\r\nrequest:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPrevious value of \u0026lt;TOKEN\u0026gt; received for this type of\r\n synchronization request from server; 0 for first-time requests; \u003Ci\u003Etoken\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKENONLY\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequest for just the current \u0026lt;TOKEN\u0026gt; without the\r\n history, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REFRESH\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequest for refresh of current state, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;REJECTIFMISSING\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf Y, do not process requests if client \u0026lt;TOKEN\u0026gt; is\r\n out of date, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003ENOTE:\u003C/b\u003E \u003Ci\u003EOpen Financial Exchange requires one each of\u003C/i\u003E \u0026lt;TOKEN\u0026gt;,\r\n\u0026lt;TOKENONLY\u0026gt;, \u003Ci\u003Eor\u003C/i\u003E \u0026lt;REFRESH\u0026gt;. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493303\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ETypical Server Architecture for\r\n Synchronization\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThis section describes how an FI can approach supporting synchronization\r\nbased on the assumption that modifications to an existing financial server will be kept to\r\na minimum. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe simplest approach is to create a history database separate from the\r\nexisting server. This history could consist of the actual Open Financial Exchange\r\ntransaction responses (\u0026lt;TRNRS\u0026gt; aggregates) that are available to a synchronization\r\nrequest. The history database could index records by token, response type, and any other\r\nidentifying information for that type, such as account number. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe diagram below shows a high-level model of the Open Financial\r\nExchange architecture for a financial institution. Notice that the diagram shows the\r\npresence of a history journal. \u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server adds responses to the history journal for any action that\r\ntakes place on the existing server. This is true whether the Open Financial Exchange\r\nrequests initiate the action or, in the case of recurring payments, it happens\r\nautomatically on the server. Once added to the history journal, the server can forget\r\nthem.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe areas of the Open Financial Exchange server that process\r\nsynchronization requests need only search this history database for matching responses\r\nthat are more recent than the incoming token. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor a refresh request, an Open Financial Exchange server would access\r\nthe actual bank server to obtain the current state rather than recent history. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EPeriodically the bank server would purge the history server of older\r\nentries.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOnly requests that are subject to synchronization need to have entries\r\nin the history database. Statement downloads do not involve synchronization; therefore,\r\nthe FI server should not add these responses to the history database. Since statement\r\ndownloads are usually the largest in space and the most frequent, eliminating these saves\r\nmuch of the space a response history might otherwise require.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMore sophisticated implementations can save even more space. The history\r\ndatabase could save responses in a coded binary form that is more compact than the full\r\nOpen Financial Exchange response format. Some FIs might have much or all of the necessary\r\ndata already in their servers; consequently, they would not require new data. An FI could\r\nregenerate synchronization responses rather than recall them from a database.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493304\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ETypical Client Processing of\r\n Synchronization Results\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe diagram below shows a general flowchart of what an Open Financial\r\nExchange client would do with the results of a synchronization request. Most requests and\r\nresponses subject to data synchronization contain both \u0026lt;TRNUID\u0026gt; and \u0026lt;SRVRTID\u0026gt;.\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493305\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESimultaneous Connections\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIt is increasingly common that a server can get simultaneous or\r\noverlapping requests from the same user over two different computers. Open Financial\r\nExchange requires a server to process each set of requests sent in a file as an atomic\r\naction. Servers can deal with the problems that arise with simultaneous use in two ways:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EAllow simultaneous connections, insure each is processed atomically, and\r\n use the data synchronization mechanism to bring the two clients up to date. This is the\r\n preferred method.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ELock out all but one user at a time, returning the error code for\r\n multiple users.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493306\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESynchronization Alternatives\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAlthough it is \u003Cb\u003ERECOMMENDED \u003C/b\u003Ethat Open Financial Exchange servers\r\nimplement full synchronization as described in this chapter, an alternate approach,\r\n\u0026quot;lite synchronization,\u0026quot; could be easier for some servers to support. This\r\napproach focuses only on error recovery and does not provide any support for multiple\r\nclients, multiple data files, or use of backup files. The approach is to preserve the\r\nmessage sets while simplifying the implementation.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn addition, some clients might prefer to use response-file based error\r\nrecovery with all servers, even if the client and some server both support full\r\nsynchronization. This section first describes lite synchronization, and then explains the\r\nrules that clients and servers use to decide how to communicate.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493307\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ELite Synchronization\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ELite synchronization requires servers to accept all synchronization\r\nmessages, but does not require them to keep any history or tokens. Responses need only be\r\nsent once and then the server can forget them. Responses to client requests, whether or\r\nnot they are made inside a synchronization request, are processed normally. Responses that\r\nrepresent server-initiated work, such as payment responses that arise from recurring\r\npayments, are sent only in response to synchronization requests. A server does not have to\r\nhold responses in case a second client makes a synchronization request.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBecause full synchronization supports error recovery, an alternative is\r\nneeded for lite synchronization. Servers using lite synchronization keep a copy of the\r\nentire response file they last sent. Clients requesting that servers prepare for error\r\nrecovery generate a globally unique ID for each file they send. In the OFX headers, there\r\nare two tags associated with error recovery:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EOLDFILEUID - UID of the last request and response that was successfully\r\n received and processed by the client\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ENEWFILEUID - UID of the current file\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe format of these is the same as used with \u0026lt;TRNUID\u0026gt; as\r\ndocumented in Chapter 3.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EServers use the following rules:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf these tags are absent, the client is not requesting error recovery\r\n protection for this file. The server does not need to save a copy of the response.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf the NEWFILEUID matches a file saved on the server, then the client is\r\n in error recovery. The server must ignore the new requests in this file and instead send\r\n back the matching saved response file.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf the OLDFILEUID matches a file saved on the server, then OLDFILEUID is\r\n a file that the client has successfully processed and the server can delete it. The client\r\n is also requesting that the response for the current file be saved under the NEWFILEUID\r\n for possible error recovery.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA server will never need to save more than one file per client data\r\nfile, but because of possible multi-client or multi-datafile usage, it might need to save\r\nseveral files for a given user. A server should save as long as possible, but not\r\nindefinitely. A server cannot recognize an error recovery attempt if it comes after it has\r\npurged the error recovery file. A server would process it as a new request. In this case,\r\na server should recognize duplicate transaction UIDs for client-initiated work, such as\r\npayments, and then reject them individually. Server-generated responses would be lost to\r\nthe client.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor a server accustomed to sending unsolicited responses, lite\r\nsynchronization should closely match the current response-file based implementation. The\r\nonly difference is that a server should hold the unsolicited responses until the client\r\nmakes the first appropriate synchronization request; rather than automatically adding them\r\nto any response file. Once added, the server can mark them as delivered, relying on error\r\nrecovery to insure actual delivery.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493308\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERelating Synchronization and Error\r\n Recovery\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient and server developers should first decide whether they will\r\nsupport full synchronization or not. If they can, then they can support response-file\r\nerror recovery as well, or they can rely on synchronization to perform error recovery. If\r\nthey adopt only lite synchronization, Open Financial Exchange requires response-file error\r\nrecovery. A severs describes each of these choices in its server profile records. The\r\nfollowing combinations are valid:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFull synchronization with response-file error recovery\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFull synchronization without separate response-file error recovery\u003C/font\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ELite synchronization with response-file error recovery\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients request response-file error recovery by including the old and\r\nnew session UIDs in the header. If they are absent, servers need not save the response\r\nfile for error recovery. Clients request synchronization by using those synchronization\r\nrequests defined throughout this specification.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493309\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EHere is an example of full synchronization using bill payment as the\r\nservice. Open Financial Exchange Payments provides two different synchronization requests\r\nand responses, each with their own token; one for payment requests and one for repeating\r\npayment model requests. See Chapter 102 for full details.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThese simplified examples, show without the outer \u0026lt;OFX\u0026gt; layer,\r\n\u0026lt;SIGNON\u0026gt;, and so forth.Client A requests synchronization:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PMTSYNCRQ\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;123\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\u0026lt;/PMTSYNCRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe server sends in response:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;PMTSYNCRS\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;125\r\n\t\u0026lt;LOSTSYNC\u0026gt;N\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t... status details\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;123\r\n\t\t\u0026lt;PMTRS\u0026gt;\r\n\t\t\t... details on a payment response\r\n\t\t\u0026lt;/PMTRS\u0026gt;\r\n\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t... status details\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;546\r\n\t\t\u0026lt;PMTRS\u0026gt;\r\n\t\t\t... details on another payment response\r\n\t\t\u0026lt;/PMTRS\u0026gt;\r\n\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\u0026lt;/PMTSYNCRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient A was missing two payment responses, which the server provides.\r\nAt this point, client A is synchronized with the server. Client A now makes a new payment\r\nrequest, and includes a synchronization update as part of the request. This update avoids\r\nhaving to re-synchronize the expected response at a later time.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PMTSYNCRQ\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;125\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;PMTTRNRQ\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\t\u0026lt;PMTRQ\u0026gt;\r\n\t\t\t... details of a new payment request\r\n\t\t\u0026lt;/PMTRQ\u0026gt;\r\n\t\u0026lt;/PMTTRNRQ\u0026gt;\r\n\u0026lt;/PMTSYNCRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response to this new\r\nrequest:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;PMTSYNCRS\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;126\r\n\t\u0026lt;LOSTSYNC\u0026gt;N\r\n\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;BANKID\u0026gt;121000248\r\n\t\t\u0026lt;ACCTID\u0026gt;123456789\r\n\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t... details on a payment response to the new request\r\n\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\u0026lt;/PMTSYNCRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client now knows that the server has processed the payments request\r\nit just made, and that nothing else has happened on the server since it last synchronized\r\nwith the server.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAssume client B was synchronized with respect to payments for this\r\naccount up through token 125. If it called in now and synchronized-with or without making\r\nadditional requests-it would pick up the payment response associated with token 126. It\r\nrecords the same information that was in client A, which would give both clients a\r\ncomplete picture of payment status.\u003Cbr\u003E\r\n\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493310\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EFI Profile\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493311\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange clients use the profile to learn the\r\ncapabilities of an Open Financial Exchange server. This information includes general\r\nproperties such as account types supported, user password requirements, specific messages\r\nsupported, and how the client should batch requests and where to send the requests. A\r\nclient obtains a portion of the profile when a user first selects an FI. The client\r\nobtains the remaining information prior to sending any actual requests to that FI. The\r\nserver uses a timestamp to indicate whether the server has updated the profile, and the\r\nclient checks periodically to see if it should obtain a new profile.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn more detail, a profile response contains the following sections,\r\nwhich a client can request independently:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage Sets - list of services and any general attributes of those\r\n services. Message sets are collections of messages that are related functionally. They are\r\n generally subsets of what users see as a service.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon realms - FIs can require different signons (user ID and/or\r\n password) for different message sets. Because there can only be one signon per \u0026lt;OFX\u0026gt;\r\n block, a client needs to know which signon the server requires and then provide the right\r\n signon for the right batch of messages.\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe profile message is itself a message set. In files, Open Financial\r\nExchange uses the \u0026lt;PROFMSGSV1\u0026gt; aggregate to identify this profile message set.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following sections describe the general use of profile information. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493312\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMessage Sets\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA message set is a collection of related messages. For example, Chapter\r\n11, \u0026quot;Banking,\u0026quot; defines several message sets: statement download, credit card\r\nstatement download, intrabank transfers, and so forth. A server routes all of the messages\r\nin a message set to a single URL and merges their versions together.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients and servers generally use message sets as the granularity to\r\ndecide what functionality they will support. A \u0026quot;banking\u0026quot; server can choose to\r\nsupport the statement download and intrabank transfer message sets, but not the wire\r\ntransfer message set. Attributes are available in many cases to further define how Open\r\nFinancial Exchange supports a message set.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach portion of the Open Financial Exchange specification that defines\r\nmessages also defines the message set to which that the messages belongs. This includes\r\nwhat additional attributes are available for those messages, and whether Open Financial\r\nExchange requires the message set or it is optional.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493313\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EVersion Control\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets are the basis of version control. Over time there will be\r\nnew versions of the message sets, and at any given time servers will likely want to\r\nsupport more than one version of a message set. Clients should also be capable of\r\nsupporting as many versions as possible. Through the profile, clients discover which\r\nversions are supported for each message set. Considering the client capabilities, it\r\nexchanges messages at the highest common level for each message set. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor the Open Financial Exchange-SGML data format, there is a single DTD\r\nfor all message sets. Its version advances when any \u003Ci\u003Esyntactic\u003C/i\u003E change is made to any\r\nof the message sets. (It is possible to make a \u003Ci\u003Esemantic\u003C/i\u003E change that would not even\r\nrequire a change in syntax. A change in rules, for example, that would change the version\r\nof the message set without changing the DTD.) A single DTD cannot have two different\r\ndefinitions for the same aggregate. There are limitations to how a server that uses true\r\nDTD-based parsing can handle multiple versions of a message at the same time.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493314\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBatching and Routing\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo allow FIs to set up different servers for different message sets,\r\ndifferent versions, or to directly route some messages to third party processors, message\r\nsets define the URL to which a server sends messages in that message set. Each version of\r\na message set can have a different URL. In the common case where many or all message sets\r\nare sent to a single URL, clients will consolidate messages across compatible message\r\nsets. Clients can consolidate when:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets have the same URL\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets have a common security level\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage sets have the same signon realm\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493315\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EProfile Request\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA profile request indicates which profile components a client desires.\r\nIt also indicates what the client\u0027s routing capability is. Profiles returned by the FI\r\nmust be compatible with the requested routing style, or it returns an error.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EProfile requests are not subject to synchronization. Use the\r\n\u0026lt;PROFTRNRQ\u0026gt; transaction tag.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003EPROFRQ\u003C/b\u003E\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EProfile-request aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CLIENTROUTING\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIdentifies client routing capabilities, see table below\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTPROFUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time client last received a profile update\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ENONE\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient cannot perform any routing. All URLs must be the\r\n same. All message sets share a single signon realm.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ESERVICE\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient can perform limited routing. See details below.\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EMSGSET\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient can route at the message-set level. Each message set\r\n may have a different URL and/or signon realm.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe intent of the SERVICE option for client routing is to support clients that can\r\nroute bill payment messages to a separate URL from the rest of the messages. Because the\r\nexact mapping of message sets to the general concept of bill payment can vary by client\r\nand by locale, this specification does not provide precise rules for the SERVICE option.\r\nEach client will define its requirements. \u003Cbr\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493316\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EProfile Response\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe response includes message set descriptions, signon information, and\r\ngeneral contact information.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PROFRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EProfile-response aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBeginning list of message set information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOne or more message set aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONINFOLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBeginning of signon information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOne or more signon information aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNONINFOLIST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTPROFUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETime this was updated on server, \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FINAME\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EName of institution, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address, line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address, line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR3\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address, line 3\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address city\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address state\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address postal code\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFI address country\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CSPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECustomer service telephone number, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;TSPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETechnical support telephone number, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;FAXPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFax number, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL for general information about FI (not for sending data)\r\n \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail address for FI, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SYNCMODE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFULL for full synchronization capability \u003Cbr\u003E\r\n LITE for lite synchronization capability\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;RESPFILEER\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports response-file based error recovery, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003ESee the Chapter 6 for more information on \u0026lt;SYNCMODE\u0026gt; and \u0026lt;RESPFILEER\u0026gt;. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493317\u0022\u003EMessage Set\u003C/a\u003E \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn aggregate describes each message set supported by an FI. Message sets\r\nin turn contain an aggregate for each version of the message set that is supported. For a\r\nmessage set named \u003Ci\u003EXXX\u003C/i\u003E, the convention is to name the outer aggregate \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSET\u0026gt;\r\nand the tag for each version \u0026lt;\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u0026gt;. The reason for message\r\nset-specific aggregates is that the set of attributes depends on the message set. These\r\ncan change from version to version, so there are version-specific aggregates as well.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe general form of the response is:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXMSGSETVn\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EVersion-of-message-set aggregate, 1 or more\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXMSGSETVn\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXMSGSET\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe \u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u003C/b\u003E\u0026gt; aggregate has the following form:\u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage-set-version aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003Emessage-set specific\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EZero or more attributes specific to this version of this\r\n message set, as defined by each message set\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXX\u003C/i\u003EMSGSETVn\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe common message set information \u0026lt;MSGSETCORE\u0026gt; is as follows: \u003Cbr\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon-message-set-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;VER\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EVersion number, \u003Ci\u003EN-5 \u003C/i\u003E(version 1.0 formatted as 100)\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL where messages in this set are to be sent\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;OFXSEC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESecurity level required for this message set; see Chapter 4\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TRANSPSEC\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if transport security must be used, N if not used; \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONREALM\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon realm to use with this message set\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LANGUAGE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOne or more languages supported\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493318\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ESignon Realms\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA signon realm identifies a set of messages that can be accessed using\r\nthe same password. Realms are used to disassociate signons from specific services,\r\nallowing FIs to require different signons for different message sets. In practice, FIs\r\nwill want to use the absolute minimum number of realms possible to reduce the user\u0027s\r\nworkload.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignon-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNONREALM\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EIdentifies this realm\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MIN\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMinimum number of password characters\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAX\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMax number of password characters\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ALPHA\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if alphabetic characters are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;NUMERIC\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if numeric characters are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CASESEN\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if password is case-sensitive, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SPECIAL\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if special characters are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SPACES\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if spaces are allowed, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNONINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493319\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022144\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022354\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022144\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022354\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493320\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EProfile Message Set Profile\r\n Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image8.gif\u0022 width=\u0022214\u0022 height=\u0022214\u0022 alt=\u0022stadyn_image8.gif (22120 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image8\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u0026nbsp;\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe profile message set functions the same way as all other message\r\nsets; therefore, it contains a profile description for that message set. Because\r\n\u0026lt;PROFMSGSET\u0026gt; is always part of a message set response, it is described here. Servers\r\nthat support profile information must include the \u0026lt;PROFMSGSET\u0026gt; as part of the\r\nprofile response \u0026lt;MSGSETLIST\u0026gt;. There are no attributes, but the aggregate must be\r\npresent to indicate support for the message set.\u003Cbr\u003E\r\n\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PROFMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage-set-profile-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PROFMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag for V1 of the message set profile information\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/PROFMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493321\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003EActivation \u0026amp; Account Information\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493322\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EOverview\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Signup message set defines three messages to help users get setup\r\nwith their FI:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment - informs FI that a user wants to use Open Financial Exchange\r\n and requests that a password be returned\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccounts - asks the FI to return a list of accounts, and the services\r\n supported for each account\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EActivation - allows a client to tell the FI which services a user wants\r\n on each account\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThere is also a message to request name and address changes.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use the account information request on a regular basis to look\r\nfor changes in a user\u0027s account information. A timestamp is part of the request so that a\r\nserver has only to report new changes. Account activation requests are subject to data\r\nsynchronization, and will allow multiple clients to learn how the other clients have been\r\nenabled.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn Open Financial Exchange files, the \u0026lt;SIGNUPMSGSV1\u0026gt; aggregate\r\nidentifies the Signup message.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493323\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EApproaches to User Sign-Up with Open\r\n Financial Exchange\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe message sets in this chapter are designed to allow both FIs and\r\nclients to support a variety of sign-up procedures. There are four basic steps a user\r\nneeds to go through to complete the sign-up:\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003ESelect the FI\u003C/b\u003E. Open Financial Exchange does not define this step\r\n or provide message sets to support it. Client developers and FIs can let a user browse or\r\n search this information on a web site, or might define additional message sets to do this\r\n within the client. At the conclusion of this step, the client will have some minimal\r\n profile information about the FI, including the set of services supported and the URL to\r\n use for the next step.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EEnrollment and password acquisition.\u003C/b\u003E In this step, the user\r\n identifies and authenticates itself to the FI \u003Ci\u003Ewithout a password\u003C/i\u003E. In return, the\r\n user obtains a password (possibly temporary) to use with Open Financial Exchange. FIs can\r\n perform this entire step over the telephone, through a combination of telephone requests\r\n and a mailed response, or at the FI web site. FIs can also use the Open Financial Exchange\r\n enrollment message to do this by means of the client. The response can contain a temporary\r\n password or users can wait for a mailed welcome letter containing the password.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EAccount Information.\u003C/b\u003E In this step, the user obtains a list of\r\n accounts available for use with Open Financial Exchange, and which specific services are\r\n available for each account. Even if users have enrolled over the telephone, clients will\r\n still use this message set to help users properly set up the accounts within the client.\r\n Clients periodically check back with the FI for updates.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Cb\u003EService Activation.\u003C/b\u003E The last step is to activate specific services\r\n on specific accounts. The activation messages support this step. Synchronization is\r\n applied to these messages to insure that other clients are aware of activated services.\u003C/font\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe combination of media-interface through which an FI accomplishes\r\nthese steps can vary. FIs might wish to do steps two through four over the telephone.\r\nClients will still use Open Financial Exchange messages in steps 3 and 4 to automatically\r\nset up the client based on the choices made by the user over the phone. Other FIs might\r\nwish to have the entire user experience occur within the client. Either way, the Open\r\nFinancial Exchange sign-up messages support the process.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493324\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EUsers and Accounts\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ETo support the widest possible set of FIs, Open Financial Exchange\r\nassumes that individual users and accounts are in a many-to-many relationship. Consider a\r\nhousehold with three accounts:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 1 - held individually by one spouse\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 2 - held jointly by both\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 3 - held individually by the other spouse\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EChecking 2 should be available to either spouse, and the spouse holding\r\nChecking 1 should be able to see both Checking 1 and 2.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange expects FIs to give each user their own user ID\r\nand password. Each user will go through the enrollment step separately. A given account\r\nneed only be activated once for a service; not once for each user. Clients will use the\r\naccount information and activation messages to combine information about jointly-held\r\naccounts.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf an FI prefers to have a single user ID and password per household or\r\nper master account, they will have to make this clear to users through the enrollment\r\nprocess. It is up to the FI to assign a single user ID and password that can access all\r\nthree of the checking accounts described above.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493325\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EEnrollment and Password Acquisition\r\n \u0026lt;ENROLLRQ\u0026gt; \u0026lt;ENROLLRS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe main purpose of the enrollment message is to communicate a user\u0027s\r\nintent to access the FI by way of Open Financial Exchange and to acquire a password for\r\nfuture use with Open Financial Exchange. Some FIs might return a user ID and an initial\r\npassword in the enrollment response, while others will send them by way of regular mail. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E Because the server does not know the user ID and\r\npassword when the client sends the enrollment request, the \u0026lt;SONRQ\u0026gt; will not contain\r\na valid user ID or password. The enrollment message accepts standard user identification\r\ninformation. \u003C/i\u003E\u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment requests are not subject to synchronization. If the client\r\ndoes not receive a response, it will simply re-request the enrollment. If a user\r\nsuccessfully enrolls from another client before the first client obtains a response, the\r\nserver should respond to subsequent requests from the first client with status code: \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E13501 - user already enrolled.\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493326\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EUser IDs\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Open Financial Exchange \u0026lt;SONRQ\u0026gt; requires a user ID to uniquely\r\nidentify a user to an FI. Many FIs in the United States use social security numbers (SSNs)\r\nas the ID. Others create IDs that are unrelated to the users\u0027 SSNs. FIs can have an\r\nexisting user IDs that they use for other online activities that they wish to use for Open\r\nFinancial Exchange as well. They might also create new IDs specifically for Open Financial\r\nExchange. Finally, some FIs might assign IDs while others might allow users to create\r\nthem. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBecause users do not usually know either their Open Financial Exchange\r\nsign-on user ID or their password at time of enrollment, the enrollment response is\r\ndesigned to return both. The enrollment request allows users to optionally provide a user\r\nID, which an FI can interpret as their existing online ID or a suggestion for what their\r\nnew user ID should be. It is recommended that the enrollment process explains ID syntax to\r\nusers.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493327\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EEnrollment Request\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe enrollment request captures enough information to identify and\r\nauthenticate a user as being legitimate and that it has a relationship with the FI. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFIs might require that an account number be entered as part of the\r\nidentification process. However, this is discouraged since the account information request\r\nis designed to automatically obtain all account information, avoiding the effort and\r\npotential mistakes of a user-supplied account number. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIt is \u003Cb\u003ERECOMMENDED\u003C/b\u003E that FIs provide detailed specifications for\r\nIDs and passwords along with information about the services available when a user is\r\nchoosing an FI.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ENROLLRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FIRSTNAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFirst name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MIDDLENAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMiddle name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LASTNAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR3\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 3\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECity\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EState or province\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPostal code\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E3-letter country code from ISO/DIS-3166\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DAYPHONE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDaytime telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EVEPHONE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvening telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EElectronic e-mail address\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EActual user ID if already known, or preferred user ID if\r\n user can pick\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TAXID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EID used for tax purposes (such as SSN), may be same as user\r\n ID\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SECURITYNAME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMother\u0027s maiden name or equivalent\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DATEBIRTH\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate of birth\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;\u003Ci\u003EACCTFROM\u0026gt;\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn account description aggregate for one existing account\r\n at the FI, for identification purposes only. Can be \u0026lt;BANKACCTFROM\u0026gt;,\r\n \u0026lt;INVACCTFROM\u0026gt;, etc.\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;/\u003Ci\u003EACCTFROM\u003C/i\u003E\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ENROLLRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThis enrollment request is intended for use only by individuals. Business enrollment\r\nwill be defined in a later release. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493328\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EEnrollment Response\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe main purpose of the enrollment response is to acknowledge the\r\nrequest. In those cases where FIs permit delivery of an ID and a temporary password, the\r\nresponse also provides for this. Otherwise the server will send the real response to the\r\nuser by way of regular mail, electronic mail, or over the telephone. If enrollment is\r\nsuccessful, but the server does not return the ID and password in the response, a server\r\nis REQUIRED to use status code 10 and provide some information to the user by means of the\r\n\u0026lt;MESSAGE\u0026gt; element in the \u0026lt;STATUS\u0026gt; aggregate about what to expect next.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ENROLLRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;TEMPPASS\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETemporary password\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser ID\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DTEXPIRE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETime the temporary password expires (if \u0026lt;TEMPPASS\u0026gt;\r\n included)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ENROLLRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493329\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EEnrollment Status Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser ID \u0026amp; password will be sent out-of-band (INFO)\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13500\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnable to enroll (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13501\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser already enrolled (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493330\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn\r\n enrollment request:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ENROLLTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345 \r\n\t\u0026lt;ENROLLRQ\u0026gt;\r\n\t\t\u0026lt;FIRSTNAME\u0026gt;Joe\r\n\t\t\u0026lt;MIDDLENAME\u0026gt;Lee\r\n\t\t\u0026lt;LASTNAME\u0026gt;Smith\r\n\t\t\u0026lt;ADDR1\u0026gt;21 Main St.\r\n\t\t\u0026lt;CITY\u0026gt;Anytown\r\n\t\t\u0026lt;STATE\u0026gt;TX\r\n\t\t\u0026lt;POSTALCODE\u0026gt;87321\r\n\t\t\u0026lt;COUNTRY\u0026gt;USA\r\n\t\t\u0026lt;DAYPHONE\u0026gt;123-456-7890\r\n\t\t\u0026lt;EVEPHONE\u0026gt;987-654-3210\r\n\t\t\u0026lt;EMAIL\u0026gt;jsmith@isp.com\r\n\t\t\u0026lt;USERID\u0026gt;jls\r\n\t\t\u0026lt;TAXID\u0026gt;123-456-1234\r\n\t\t\u0026lt;SECURITYNAME\u0026gt;jbmam\r\n\t\t\u0026lt;DATEBIRTH\u0026gt;19530202\r\n\t\u0026lt;/ENROLLRQ\u0026gt;\r\n\u0026lt;/ENROLLTRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EAnd the reply might be:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;ENROLLTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;ENROLLRS\u0026gt;\r\n\t\t\u0026lt;TEMPPASS\u0026gt;changeme\r\n\t\t\u0026lt;USERID\u0026gt;jls\r\n\t\t\u0026lt;DTEXPIRE\u0026gt;19970105\r\n\t\u0026lt;/ENROLLRS\u0026gt;\r\n\u0026lt;/ENROLLTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493331\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EAccount Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount information requests ask a server to identify and describe all\r\nof the accounts accessible by the signed-on user. The definition of \u003Ci\u003Eall\u003C/i\u003E is up to\r\nthe FI. At a minimum, it is \u003Cb\u003ERECOMMENDED\u003C/b\u003E that a server include information about all\r\naccounts that it can activate for one or more Open Financial Exchange services. To give\r\nthe user a complete picture of his relationship with an FI, FIs can give information on\r\nother accounts, even if those accounts are available only for limited Open Financial\r\nExchange services.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome service providers will not have any prior knowledge of any user\r\naccount information. The profile allows these servers to report this, and clients will\r\nthen know to ask users for account information rather than reading it from the server.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients can perform several tasks for users with this account\r\ninformation. First, the information helps a client set up a user for online services by\r\ngiving it a precise list of its account information and available services for each.\r\nClients can set up their own internal state as well as prepare service activation requests\r\nwith no further typing by users. This can eliminate data entry mistakes in account\r\nnumbers, routing transit numbers, and so forth.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESecond, FIs can provide limited information on accounts that would not\r\nordinarily be suitable to Open Financial Exchange services. For example, a balance-only\r\nstatement download would be useful for certificates of deposits even though a customer or\r\nan FI might not want or allow CDs to be used for full statement download.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EFor each account, there is one \u0026lt;ACCTINFO\u0026gt; aggregate returned. The\r\naggregate includes one service-specific account information aggregate for each available\r\nservice on that account. That, in turn, provides the service-specific account\r\nidentification. Common to each service-specific account information aggregate is the\r\n\u0026lt;SVCSTATUS\u0026gt; tag, which indicates the status of this service on this account.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA server should return joint accounts (accounts for which more than one\r\nuser ID can be used to access the account) for either user. Clients that wish to have a\r\nunified view will aggregate the results and remove duplicates before making specific\r\nrequests involving joint accounts.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ERequests and responses include a \u0026lt;DTACCTUP\u0026gt; element. Responses\r\ncontain the last time a server updated the information. Clients can \u003Cb\u003EOPTIONALLY \u003C/b\u003Esend\r\nthis in a subsequent request, and servers are \u003Cb\u003EREQUIRED \u003C/b\u003Eto compare this to the\r\ncurrent modification time and only send information if it is more recent. The server sends\r\nthe entire account information response if the client\u0027s time is older; there is no attempt\r\nto incrementally update specific account information.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493332\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERequest \u0026lt;ACCTINFORQ\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-information-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DTACCTUP\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast \u0026lt;DTACCTUP\u0026gt; received in a response\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;INCIMAGES\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server should include logo in response, N if client\r\n will separately fetch them based on given URL; \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493333\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EResponse \u0026lt;ACCTINFORS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-information-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTACCTUP\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of last update to this information on the\r\n server\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ACCTINFO\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EZero or more account information aggregates\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;/ACCTINFO\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnd of account information response\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493334\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EAccount Information Aggregate\r\n \u0026lt;ACCTINFO\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022210\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022288\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-information-record aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DESC\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription of the account, \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;PHONE\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETelephone number for the account, \u003Ci\u003EA-20\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;LOGO\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL to request the logo for the account (actual logos\r\n should be included via multi-part MIME in the response file if requested), \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003E\u003Cb\u003EXXXACCTINFO\u0026gt;\u003C/b\u003E\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific account information, defined in each\r\n service chapter, one or more allowed\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Cb\u003E\u003Ci\u003EXXXACCTFROM\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific account identification\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXACCTFROM\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCSTATUS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAVAIL = Available, but not yet requested\u003C/font\u003E \u003Cp\u003E\u003Cfont\r\n SIZE=\u00222\u0022\u003EPEND = Requested, but not yet available\u003C/font\u003E \u003C/p\u003E\r\n \u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EACTIVE = In use\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Cb\u003E\u003Ci\u003EXXXACCTINFO\u003C/i\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022210\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022288\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Ci\u003E\u003Cb\u003ENOTE:\u003C/b\u003E A server uses the \u0026lt;DESC\u0026gt; field to convey the FI\u0027s preferred name\r\nfor the account, such as \u0026quot;PowerChecking.\u0026quot; It should not include the account\r\nnumber. \u003C/i\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493335\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13001\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENo change since supplied \u0026lt;DTACCTUP\u0026gt; (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493336\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EAn\r\n account information request:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFOTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;ACCTINFORQ\u0026gt;\r\n\t\t\u0026lt;DTACCTUP\u0026gt;19960101\r\n\t\t\u0026lt;INCIMAGES\u0026gt;N\r\n\t\u0026lt;/ACCTINFORQ\u0026gt;\r\n\u0026lt;/ACCTINFOTRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EAnd a response for a\r\nuser with access to one account, supporting banking:\r\n\u003Ca\r\nNAME=\u0022_Toc379956901\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTINFOTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;ACCTINFORS\u0026gt;\r\n\t\t\u0026lt;DTACCTUP\u0026gt;19960102\r\n\t\t\u0026lt;ACCTINFO\u0026gt;\r\n\t\t\u0026lt;DESC\u0026gt;Power Checking\r\n\t\t\u0026lt;PHONE\u0026gt;8002223333\r\n\t\t\u0026lt;LOGO\u0026gt;https://www.fi.com/ofx/logos/powercheck.jpg\r\n\t\t\t\u0026lt;BANKACCTINFO\u0026gt;\r\n\t\t\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\t\t\u0026lt;BANKID\u0026gt;1234567789\r\n\t\t\t\t\t\u0026lt;ACCTID\u0026gt;12345\r\n\t\t\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;SUPTXDL\u0026gt;Y\r\n\t\t\t\u0026lt;XFERSRC\u0026gt;Y\r\n\t\t\t\u0026lt;XFERDEST\u0026gt;Y\r\n\t\t\t\u0026lt;SVCSTATUS\u0026gt;ACTIVE\r\n\t\t\t\u0026lt;/BANKACCTINFO\u0026gt;\t\r\n\t\t\u0026lt;/ACCTINFO\u0026gt;\r\n\t\u0026lt;/ACCTINFORS\u0026gt;\r\n\u0026lt;/ACCTINFOTRNRS\u0026gt;\u003C/font\u003E\u003C/a\u003E\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493337\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EService Activation\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients inform FIs that they wish to start, modify, or terminate a\r\nservice for an account by sending service activation requests. These are subject to data\r\nsynchronization, and servers should send responses to inform clients of any changes, even\r\nif the changes originated on the server. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EClients use these records during the initial user sign-up process. Once\r\na client learns about the available accounts and services (by using the account\r\ninformation request above, or by having a user directly enter the required information),\r\nit sends a series of service ADD requests.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf a user changes any of the identifying information about an account,\r\nthe client sends a service activation request containing both the old and the new account\r\ninformation. Servers should interpret this as a change in the account, not a request to\r\ntransfer the service between two existing accounts, and all account-based information such\r\nas synchronization tokens should continue. If a user or FI is reporting that service\r\nshould be moved between two existing accounts, service must be terminated for the old\r\naccount and started for the new account. The new account will have reset token histories,\r\nas with any new service.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EEach service to be added, changed, or removed is contained in its own\r\nrequest because the same real-world account might require different \u0026lt;ACCTFROM\u0026gt;\r\naggregates depending on the type of service.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493338\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EActivation Request and Response\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003ERequest \u0026lt;ACCTRQ\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-service-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAction aggregate, either \u0026lt;SVCADD\u0026gt;, \u0026lt;SVCCHG\u0026gt;, or\r\n \u0026lt;SVCDEL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService to be added/changed/deleted\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EResponse \u0026lt;ACCTRS\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount-service-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAction aggregate, either \u0026lt;SVCADD\u0026gt;, \u0026lt;SVCCHG\u0026gt;, or\r\n \u0026lt;SVCDEL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACTION\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVC\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService to be added/changed:\u003C/font\u003E \u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBANKSVC\r\n = Banking service\u003Cbr\u003E\r\n BPSVC = Payments service\u003Cbr\u003E\r\n INVSVC = Investments\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/ACCTRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EService Add Aggregate \u0026lt;SVCADD\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCADD\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-add aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTTO\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTTO\u0026gt;, \u0026lt;INVACCTTO\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTTO\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SVCADD\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EService Change Aggregate \u0026lt;SVCCHG\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCCHG\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-add aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTFROM\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTFROM\u0026gt;, \u0026lt;INVACCTFROM\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTFROM\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTTO\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTTO\u0026gt;, \u0026lt;INVACCTTO\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTTO\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SVCCHG\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EService Delete Aggregate \u0026lt;SVCDEL\u0026gt;\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SVCDEL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-deletion aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003Ci\u003EACCTFROM\u0026gt;\u003C/i\u003E\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific-account-identification aggregate (see\r\n \u0026lt;BANKACCTFROM\u0026gt;, \u0026lt;INVACCTFROM\u0026gt;)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003Ci\u003EACCTFROM\u003C/i\u003E\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SVCDEL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc378489965\u0022\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2002\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOther account error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2006\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESource (from) account not found (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2007\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESource (from) account closed (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2008\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESource (from) account not authorized (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2009\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDestination (to) account not found (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2010\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDestination (to) account closed (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2011\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDestination (to) account not authorized (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13502\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvalid service (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493339\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EService Activation Synchronization\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EService activation requests are subject to the standard data\r\nsynchronization protocol. The scope of these requests and the \u0026lt;TOKEN\u0026gt; is the\r\nuser-ID. The request and response tags are \u0026lt;ACCTSYNCRQ\u0026gt; and \u0026lt;ACCTSYNCRS\u0026gt;.\u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493340\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EActivating\r\n a payment:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\u0026lt;ACCTRQ\u0026gt;\r\n\t\t\u0026lt;SVCADD\u0026gt;\r\n\t\t\t\u0026lt;BANKACCTTO\u0026gt;\r\n\t\t\t\t\u0026lt;BANKID\u0026gt;1234567789\r\n\t\t\t\t\u0026lt;ACCTID\u0026gt;12345\r\n\t\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\t\u0026lt;/BANKACCTTO\u0026gt;\t\r\n\t\t\u0026lt;/SVCADD\u0026gt;\t\r\n\t\t\u0026lt;SVC\u0026gt;BPSVC\r\n\t\u0026lt;/ACCTRQ\u0026gt;\t\r\n\u0026lt;/ACCTTRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EA response:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;ACCTTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;12345\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;ACCTRS\u0026gt;\r\n\t\t\u0026lt;SVCADD\u0026gt;\r\n\t\t\t\u0026lt;BANKACCTTO\u0026gt;\r\n\t\t\t\t\u0026lt;BANKID\u0026gt;1234567789\r\n\t\t\t\t\u0026lt;ACCTID\u0026gt;12345\r\n\t\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\t\u0026lt;/BANKACCTTO\u0026gt;\t\r\n\t\t\u0026lt;/SVCADD\u0026gt;\t\r\n\t\t\u0026lt;SVC\u0026gt;BPSVC\r\n\t\u0026lt;/ACCTRS\u0026gt;\t\r\n\u0026lt;/ACCTTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493341\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EName and Address Changes\r\n \u0026lt;CHGUSERINFORQ\u0026gt; \u0026lt;CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EUsers may request that an FI update the official name, address, phone,\r\nand e-mail information using the \u0026lt;CHGUSERINFORQ\u0026gt;. Only the fields that should be\r\nchanged are sent. The response reports all of the current values. For security reasons,\r\nsome of the fields in the \u0026lt;ENROLLRQ\u0026gt; cannot be changed online, such as tax ID. \u003C/font\u003E\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe transaction tag is \u0026lt;CHGUSERINFOTRNRQ\u0026gt; and\r\n\u0026lt;CHGUSERINFOTRNRSRQ\u0026gt;. These methods are subject to synchronization,\r\n\u0026lt;CHGUSERINFOSYNCRQ\u0026gt; and \u0026lt;CHGUSERINFOSYNCRS\u0026gt;.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493342\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CHGUSERINFORQ\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CHGUSERINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EChange-user-information-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;FIRSTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFirst name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;MIDDLENAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMiddle name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;LASTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR3\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 3\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECity\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EState or province\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPostal code\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E3-letter country code from ISO/DIS-3166\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DAYPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDaytime telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EVEPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvening telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EElectronic e-mail address\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/CHGUSERINFORQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493343\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022318\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EChange-user-information-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;FIRSTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFirst name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;MIDDLENAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMiddle name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;LASTNAME\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ELast name of user\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR1\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 1\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;ADDR2\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAddress line 2\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;CITY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECity\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;STATE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EState or province\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;POSTALCODE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EPostal code\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;COUNTRY\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003E3-letter country code from ISO/DIS-3166\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;DAYPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDaytime telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EVEPHONE\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvening telephone number\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EElectronic e-mail address\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTINFOCHG\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDate and time of update \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/CHGUSERINFORS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022318\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493344\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E13503\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECannot change user information (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493345\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ESignup Message Set Profile\r\n Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA server must include the following aggregates as part of the profile\r\n\u0026lt;MSGSETLIST\u0026gt; response, since every server must support at least the account\r\ninformation and service activation messages. In the \u0026lt;ENROLLPROF\u0026gt; aggregate, servers\r\nindicate how enrollment should proceed: via the client, a given web page, or a text\r\nmessage directing users to some other method (such as a phone call)..\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNUPMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESignup-message-set-profile-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SIGNUPMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag for V1 of the message set profile information\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information, defined in the profile\r\n chapter\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnrollment options - only one of \u0026lt;CLIENTENROLL\u0026gt;,\r\n \u0026lt;WEBENROLL\u0026gt;, or \u0026lt;OTHERENROLL\u0026gt; is allowed\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003ECLIENTENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient-based enrollment supported\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;ACCTREQUIRED\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if account number is required as part of enrollment \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003ECLIENTENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003EWEBENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWeb-based enrollment supported\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL to start enrollment process\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/WEBENROLL\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003EOTHERENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome other enrollment process\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MESSAGE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage to give to consumer about what to do next (e.g. a\r\n phone number) \u003Ci\u003EA-80\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/\u003C/font\u003E\u003C/b\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003EOTHERENROLL\u003Cb\u003E\u0026gt;\u003C/b\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;CHGUSERINFO\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports client-based user information changes\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;AVAILACCTS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server can provide information on accounts with\r\n SVCSTATUS available, N means client should expect to ask user for specific account\r\n information \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNUPMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/SIGNUPMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Cbr\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493346\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ECustomer to FI Communication\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493347\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EThe E-Mail Message Set\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe e-mail message set includes two messages: generic e-mail and generic\r\nMIME requests by way of URLs. In Open Financial Exchange files, the message set name is\r\nEMAILMSGSV1.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493348\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EE-Mail Messages\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange allows consumers and FIs to exchange messages.\r\nThe message body is in HTML so that FIs can provide some graphic structure to the message.\r\nKeep in mind that, as with regular World Wide Web browsing, an Open Financial Exchange\r\nclient might not support some or all of the HTML formatting, so the text of the message\r\nmust be clear on its own. Clients can request that graphics (the images referenced in an\r\n\u0026lt;IMG\u0026gt; tag) be sent as part of the response file, or clients can separately request\r\nthose elements. If a server sends images, it should use the standard procedure for\r\nincorporating external data as described in Chapter 2. Servers are not required to support\r\nHTML or to send images, even if the client asks.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA user or an FI can originate a message. E-mail messages are subject to\r\ndata synchronization so that a server can send a response again if it is lost or if it is\r\nused by multiple clients.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EBecause e-mail messages cannot be replied to immediately, the response\r\nshould just echo back the original message (so that data synchronization will get this\r\noriginal e-mail message to other clients). When the FI is ready to reply, it should\r\ngenerate an unsolicited response (\u0026lt;TRNUID\u0026gt;0) and the client will pick this up during\r\nsynchronization.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDERCOLOR=\u0022#000000\u0022 BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#FFFFFF\u0022 WIDTH=\u0022156\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003EClient Sends\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#FFFFFF\u0022 WIDTH=\u0022168\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EServer Responds\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EAccount information\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EFrom, To\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ESubject\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EMessage\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAccount information\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFrom, To\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESubject\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMessage\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022156\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EType\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493349\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003ERegular vs. Specialized E-Mail\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESeveral services with Open Financial Exchange define e-mail requests and\r\nresponses that contain additional information specific to that service. To simplify\r\nimplementation for both clients and servers, this section defines a \u0026lt;MAIL\u0026gt; aggregate\r\nthat Open Financial Exchange uses in all e-mail requests and responses. For regular\r\ne-mail, the only additional information is an account from aggregate and whether to\r\ninclude images in the e-mail response or not. \u003C/font\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493350\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EBasic \u0026lt;MAIL\u0026gt; Aggregate\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECore e-mail aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USERID\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUser ID such as SSN\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;DTCREATED\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen message was created \u003Ci\u003Edatetime\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FROM\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECustomer\u0027s input for whom message is from, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TO\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWho e-mail should be delivered to, \u003Ci\u003EA-32\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;SUBJECT\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESubject of message (plain text, not HTML), \u003Ci\u003EA-60\u003C/i\u003E\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGBODY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBody of message, HTML-encoded or plain text depending on\r\n \u0026lt;USEHTML\u0026gt;, \u003Ci\u003EA-10000\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGBODY\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEnd of message\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;INCIMAGES\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInclude images in response, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USEHTML\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if client wants an HTML response, N if client wants plain\r\n text, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EIf using HTML for the message body, clients and servers are \u003Cb\u003EREQUIRED\u003C/b\u003E to wrap the\r\ndesired HTML in an SGML marked section to protect the HTML markup: \u0026lt;![ CDATA [ ... html\r\n... ]]\u0026gt;. See the example. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493351\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EE-Mail \u0026lt;MAILRQ\u0026gt; \u0026lt;MAILRS\u0026gt;\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail is subject to synchronization. The transaction tag is\r\n\u0026lt;MAILTRNRQ\u0026gt; / \u0026lt;MAILTRNRS\u0026gt; and the synchronization tag is \u0026lt;MAILSYNCRQ\u0026gt; /\r\n\u0026lt;MAILSYNCRS\u0026gt;.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-message-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECore e-mail aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EIn a response, the \u0026lt;TRNUID\u0026gt; is zero if this is an unsolicited message. Otherwise,\r\nit should contain the \u0026lt;TRNUID\u0026gt; of the user\u0027s original message. It is RECOMMENDED\r\nthat servers include the \u0026lt;MESSAGE\u0026gt; of the user\u0027s message as part of the reply\r\n\u0026lt;MESSAGE\u0026gt;. The \u0026lt;MESSAGE\u0026gt; contents can include carriage returns to identify\r\ndesired line breaks. \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-message-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECore e-mail aggregate\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILRS\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc378489974\u0022\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16500\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EHTML not allowed (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16501\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnknown mail To: (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493352\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EE-Mail Synchronization\r\n \u0026lt;MAILSYNCRQ\u0026gt; \u0026lt;MAILSYNCRS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange uses data synchronization to collect responses\r\nthat could have been lost due to communication problems, or that the servers previously\r\nsent to a different client or data file. All messages sent to the signed-on user ID are\r\ncovered by a single \u0026lt;TOKEN\u0026gt;. Note that this synchronization action expects only the\r\nbasic \u0026lt;MAILRS\u0026gt; responses. Specialized e-mail is received by means of their own\r\nsynchronization requests.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILSYNCRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-synchronization-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EClient history marker\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;INCIMAGES\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInclude images in response, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;USEHTML\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if client wants an HTML response, N if client wants plain\r\n text, \u003Ci\u003EBoolean\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILSYNCRQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILSYNCRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-synchronization-response. aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;TOKEN\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EServer history marker\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILTRNRS\u0026gt;\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMissing e-mail response transactions (0 or more)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MAILSYNCRS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493353\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExample\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn this example, a consumer requests information from customer service\r\nabout the checking statement just downloaded. This example omits the \u0026lt;OFX\u0026gt; top level\r\nand the signon \u0026lt;SONRQ\u0026gt;. This example uses HTML for the message body, and so it must\r\nprotect the HTML content in an SGML CDATA marked section.The request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILTRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;MAILRQ\u0026gt;\r\n\t\t\u0026lt;MAIL\u0026gt;\r\n\t\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\t\t\u0026lt;FROM\u0026gt;James Hackleman\r\n\t\t\t\u0026lt;TO\u0026gt;Noelani Federal Savings\r\n\t\t\t\u0026lt;SUBJECT\u0026gt;What do I need to earn interest?\r\n\t\t\t\u0026lt;DTCREATED\u0026gt;19960305\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E\t\t\t\u0026lt;MSGBODY\u0026gt;\u0026lt;![ CDATA [\u0026lt;HTML\u0026gt;\u0026lt;BODY\u0026gt;I didn\u0027t earn any interest this month. Can you please tell me what I need to do to earn interest on this account?\u0026lt;/BODY\u0026gt;\u0026lt;/HTML\u0026gt;\r\n]]\u0026gt;\u0026lt;/MSGBODY\u0026gt;\r\n\t\t\t\u0026lt;INCIMAGES\u0026gt;N\r\n\t\t\t\u0026lt;USEHTML\u0026gt;Y\r\n\t\t\u0026lt;/MAIL\u0026gt;\r\n\t\u0026lt;/MAILRQ\u0026gt;\r\n\u0026lt;/MAILTRNRQ\u0026gt;The response from the FI:\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E\u0026lt;MAILTRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;MAILRS\u0026gt;\r\n\t\t\u0026lt;MAIL\u0026gt;\r\n\t\t\t\u0026lt;USERID\u0026gt;123456789\r\n\t\t\t\u0026lt;DTCREATED\u0026gt;19960307\r\n\t\t\t\u0026lt;FROM\u0026gt;Noelani Federal Savings\r\n\t\t\t\u0026lt;TO\u0026gt;James Hackleman\r\n\t\t\t\u0026lt;SUBJECT\u0026gt;Re: What do I need to earn interest?\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003E\t\t\t\u0026lt;MSGBODY\u0026gt;\u0026gt;\u0026lt;![ CDATA [\u0026lt;HTML\u0026gt;\u0026lt;BODY\u0026gt;You need to maintain $1000 in this account to earn interest. Because your balance was only $750 this month, no interest was earned. You could also switch to our new Checking Extra plan that always pays interest. Call us or check our web page http://www.fi.com/check-plans.html for more information.\r\nSincerely,\r\nCustomer Service Department\r\n\r\nOriginal message:\r\nI didn\u0027t earn any interest this month. Can you please tell me what I need to do to earn interest on this account?\u0026lt;/BODY\u0026gt;\u0026lt;/HTML\u0026gt;\r\n]]\u0026gt;\u0026lt;/MSGBODY\u0026gt;\r\n\t\t\t\u0026lt;INCIMAGES\u0026gt;N\r\n\t\t\t\u0026lt;USEHTML\u0026gt;Y\r\n\t\t\u0026lt;/MAIL\u0026gt;\r\n\t\u0026lt;/MAILRS\u0026gt;\r\n\u0026lt;/MAILTRNRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EExample of Synchronization Involving E-Mail \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIn the following example the client did not receive the reply to the\r\nmessage sent in the previous example, so its \u0026lt;TOKEN\u0026gt; is one less than the server\u0027s.\r\nThe server replies by giving the current \u0026lt;TOKEN\u0026gt; and the missed response.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MAILSYNCRQ\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;101\r\n\u0026lt;/MAILSYNCRQ\u0026gt;\r\n\r\n\u0026lt;MAILSYNCRS\u0026gt;\r\n\t\u0026lt;TOKEN\u0026gt;102\r\n\t\u0026lt;MAILTRNRS\u0026gt;\r\n\t\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\u0026lt;MAILRS\u0026gt;\r\n\t\t\t... contents of e-mail message response as shown in previous example\r\n\t\t\u0026lt;/MAILRS\u0026gt;\r\n\t\u0026lt;/MAILTRNRS\u0026gt;\r\n\u0026lt;/MAILSYNCRS\u0026gt;\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493354\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EGet HTML Page\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ESome responses contain values that are URLs, intended to be separately\r\nfetched by clients if desired. Clients can use their own HTTP libraries to perform this\r\nfetch outside of the Open Financial Exchange specification. However, to insulate clients\r\nagainst changes in transport technology, and to allow for fetches that require the\r\nprotection of an authenticated signon by a specific user, Open Financial Exchange defines\r\na transaction roughly equivalent to an HTTP Get. Any MIME type can be retrieved, including\r\nimages as well as HTML pages.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493355\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EMIME Get Request and Response\r\n \u0026lt;GETMIMERQ\u0026gt; \u0026lt;GETMIMERS\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following table lists the components of a request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMERQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGet-MIME-request aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL, \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/GETMIMERQ\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003EThe response simply echoes back the URL. The actual response, whether HTML, an image,\r\nor some other type, is always sent as a separate part of the file using multi-part MIME. \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022132\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022366\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMERS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGet-MIME-response aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;URL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EURL, \u003Ci\u003EURL\u003C/i\u003E\u003C/font\u003E\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022132\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/GETMIMERS\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022366\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc378489978\u0022\u003E\u003Cfont SIZE=\u00222\u0022 FACE=\u0022Arial\u0022\u003EStatus Codes\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u002272\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ECode\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022300\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EMeaning\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E0\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESuccess (INFO)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2000\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EGeneral error (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E2019\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EDuplicate transaction (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16502\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EInvalid URL (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u002272\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003E16503\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022300\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EUnable to get URL (ERROR)\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493356\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExample\u003C/font\u003E\u003C/a\u003E\u003Cfont SIZE=\u00222\u0022\u003EA\r\n request:\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIMETRNRQ\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;GETMIMERQ\u0026gt;\r\n\t\t\u0026lt;URL\u0026gt;http://www.fi.com/apage.html\r\n\t\u0026lt;/GETMIMERQ\u0026gt;\r\n\u0026lt;/GETMIMETRNRQ\u0026gt;\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EA response - the full\r\nfile is shown here to illustrate the use of multi-part MIME:\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003EHTTP 1.0 200 OK\r\nContent-Type: multipart/x-mixed-replace; boundary =--boundary-\r\n\r\n--boundary--\r\nContent-Type: application/x-ofx\r\nContent-Length: 8732\r\n\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EOFXHEADER:100\r\nDATA:OFXSGML\r\nVERSION:100\r\nENCRYPTION:1\r\nENCODING:USASCII\r\n\r\n\u0026lt;OFX\u0026gt;\r\n\t\t\u0026lt;!-- signon not shown \r\n\t\tmessage set wrappers not shown --\u0026gt;\r\n\u0026lt;GETMIMETRNRS\u0026gt;\r\n\t\u0026lt;TRNUID\u0026gt;54321\r\n\t\u0026lt;STATUS\u0026gt;\r\n\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\u0026lt;/STATUS\u0026gt;\r\n\t\u0026lt;GETMIMERS\u0026gt;\r\n\t\t\u0026lt;URL\u0026gt;http://www.fi.com/apage.html\r\n\t\u0026lt;/GETMIMERS\u0026gt;\r\n\u0026lt;/GETMIMETRNRS\u0026gt;\r\n\u0026lt;/OFX\u0026gt;\r\n\r\n--boundary-- \r\nContent-Type: text/html\r\n\u0026lt;HTML\u0026gt;\r\n\t\u0026lt;!-- standard HTML page --\u0026gt;\r\n\u0026lt;/HTML\u0026gt;\r\n\r\n--boundary--\r\n\t\r\n\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493357\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EE-Mail Message Set Profile\r\n Information\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf either or both of the messages in the e-mail message set are\r\nsupported, the following aggregate must be included in the profile \u0026lt;MSGSETLIST\u0026gt;\r\nresponse.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022162\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022336\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAILMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EE-mail-message-set-profile-information aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAILMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpening tag for V1 of the message set profile information\u003C/font\u003E\r\n \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ECommon message set information, defined in the profile\r\n chapter\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/MSGSETCORE\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;EMAIL\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports generic e-mail message\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;GETMIME\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EY if server supports get MIME message\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/EMAILMSGSETV1\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022162\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/EMAILMSGSET\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022336\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003E\u003Cbr\u003E\r\n\u003Cbr\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493358\u0022\u003E\u003Cfont SIZE=\u00226\u0022 FACE=\u0022Arial\u0022\u003ERecurring Transactions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOpen Financial Exchange enables users to automate transactions that\r\noccur on a regular basis. Recurring transactions are useful when a customer has payments\r\nor transfers, for example, that repeat at regular intervals. The customer can create a\r\n\u0026quot;model\u0026quot; at the server for automatic generation of these instructions. The model\r\nin turn creates payments or transfers until it is canceled or expires. After the user\r\ncreates a recurring model at the server, the server can relieve the user from the burden\r\nof creating these transactions; it generates the transactions on its own, based on the\r\noperating parameters of the model.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493359\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ECreating a Recurring Model\u003C/font\u003E\u003C/a\u003E\r\n \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client must provide the following information to create a model:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EType of transaction generated by the model (payment or transfer) \u003C/font\u003E\u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EFrequency of recurring transaction\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ETotal number of recurring transactions to generate\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003EService-specific information, such as transfer date, payment amount,\r\n payee address\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe model creates each transaction some time before its due date,\r\nusually thirty days. This allows the user to retrieve the transactions in advance of\r\nposting. This also gives the user the opportunity to modify or cancel individual\r\ntransactions without changing the recurring model itself.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EWhen a model is created, it can generate several transactions\r\nimmediately. The model does not automatically return responses for the newly created\r\ntransactions. It only returns a response to the request that was made to create the model.\r\nFor this reason, clients should send a synchronization request along with the request to\r\ncreate a model. This allows the server to return the newly created transaction responses,\r\nas well as the response to the request to set up a new model.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493360\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ERecurring Instructions\r\n \u0026lt;RECURRINST\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe Recurring Instructions aggregate is used to specify the schedule for\r\na repeating instruction. It is passed to the server when a recurring transfer or payment\r\nmodel is first created.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022168\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00221\u0022\u003ETag\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022330\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;RECURRINST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecurring-Instructions aggregate\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;FREQ\u0026gt;\u003C/font\u003E\u003C/b\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EFrequency, see section 10.2.1\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Arial\u0022\u003E\u0026lt;NINSTS\u0026gt;\u003C/font\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ENumber of instructions\u003C/font\u003E \u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EIf this tag\r\n is absent, the schedule is open-ended,\u003Ci\u003E N-3\u003C/i\u003E\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022168\u0022\u003E\u003Cb\u003E\u003Cfont SIZE=\u00221\u0022\u003E\u0026lt;/RECURRINST\u0026gt;\u003C/font\u003E\u003C/b\u003E \u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022330\u0022\u003E\u0026nbsp;\u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493361\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EValues for \u0026lt;FREQ\u0026gt;\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Ctable BORDER=\u00221\u0022\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022126\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EValue\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003Ctd BGCOLOR=\u0022#000000\u0022 WIDTH=\u0022180\u0022\u003E\u003Ci\u003E\u003Cfont SIZE=\u00222\u0022\u003EDescription\u003C/font\u003E\u003C/i\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EWEEKLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EWeekly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EBIWEEKLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBiweekly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETWICEMONTHLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETwice a month\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EMONTHLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EMonthly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EFOURWEEKS\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EEvery four weeks\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EBIMONTHLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EBimonthly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EQUARTERLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EQuarterly\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ESEMIANNUALLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ESemiannually\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003ETRIANNUALLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003ETriannually\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n \u003Ctr\u003E\r\n \u003Ctd WIDTH=\u0022126\u0022\u003E\u003Cfont SIZE=\u00221\u0022\u003EANNUALLY\u003C/font\u003E\u003C/td\u003E\r\n \u003Ctd WIDTH=\u0022180\u0022\u003E\u003Cfont SIZE=\u00222\u0022\u003EAnnually\u003C/font\u003E \u003C/td\u003E\r\n \u003C/tr\u003E\r\n\u003C/table\u003E\r\n\r\n\u003Cp\u003ERules for calculating recurring dates of WEEKLY, BIWEEKLY, and TWICEMONTHLY are as\r\nfollows: \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003EWEEKLY = starting date for first transaction, starting date \u002B 7 days for the second \u003C/li\u003E\r\n \u003Cli\u003ETWICEMONTHLY = starting date for first, starting date \u002B 15 days for the second \u003C/li\u003E\r\n \u003Cli\u003EBIWEEKLY = starting date for first, starting date \u002B 14 days for the second \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cb\u003EExamples:\u003C/b\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003EStart date of May 2: next transaction date for WEEKLY is May 9; TWICEMONTHLY is May 17;\r\nnext transfer date for BIWEEKLY is May 16. \u003C/p\u003E\r\n\r\n\u003Cp\u003EStart date of May 20: next date for WEEKLY is May 27; TWICEMONTHLY is June 4; next date\r\nfor BIWEEKLY is June 3. \u003C/p\u003E\r\n\r\n\u003Cp\u003ETWICEMONTHLY recurring transactions will occur each month on those days adjusting for\r\nweekends and holidays. BIWEEKLY will occur every 14 days. \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493362\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe following example illustrates the creation of a repeating payment.\r\nThe payment repeats on a monthly basis for 12 months. All payments are for $395.The\r\nrequest:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E.\r\n.\r\n.\r\n\u0026lt;RECPMTRQ\u0026gt;\r\n\t\u0026lt;RECURRINST\u0026gt;\r\n\t\t\u0026lt;FREQ\u0026gt;MONTHLY\r\n\t\t\u0026lt;NINSTS\u0026gt;12\r\n\t\u0026lt;/RECURRINST\u0026gt;\r\n\t\u0026lt;PMTINFO\u0026gt;\t\t\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;555432180\r\n\t\t\t\u0026lt;ACCTID\u0026gt;763984\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;TRNAMT\u0026gt;395.00\r\n\t\t\u0026lt;PAYEEID\u0026gt;77810\r\n\t\t\u0026lt;PAYACCT\u0026gt;444-78-97572\r\n\t\t\u0026lt;DTDUE\u0026gt;19971115\r\n\t\t\u0026lt;MEMO\u0026gt;Auto loan payment\r\n\t\u0026lt;/PMTINFO\u0026gt;\t\r\n\u0026lt;/RECPMTRQ\u0026gt;\r\n.\r\n.\r\n.\r\n\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response includes the \u0026lt;RECSRVRTID\u0026gt;\r\nthat the client can use \r\n\r\nto cancel or modify the model:\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E.\r\n.\r\n.\r\n\u0026lt;RECPMTRS\u0026gt;\r\n\u003C/font\u003E\u003Cfont SIZE=\u00222\u0022\u003E\t\u0026lt;RECSRVRTID\u0026gt;387687138\t\r\n\t\u0026lt;RECURRINST\u0026gt;\r\n\t\t\u0026lt;FREQ\u0026gt;MONTHLY\r\n\t\t\u0026lt;NINSTS\u0026gt;12\r\n\t\u0026lt;/RECURRINST\u0026gt;\r\n\t\u0026lt;PMTINFO\u0026gt;\t\t\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;555432180\r\n\t\t\t\u0026lt;ACCTID\u0026gt;763984\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;TRNAMT\u0026gt;395.00\r\n\t\t\u0026lt;PAYEEID\u0026gt;77810\r\n\t\t\u0026lt;PAYACCT\u0026gt;444-78-97572\r\n\t\t\u0026lt;DTDUE\u0026gt;19971115\r\n\t\t\u0026lt;MEMO\u0026gt;Auto loan payment\r\n\t\u0026lt;/PMTINFO\u0026gt;\t\r\n\u0026lt;/RECPMTRS\u0026gt;\r\n.\r\n.\r\n.\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493363\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003ERetrieving Transactions Generated by\r\n a Recurring Model\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOnce created, a recurring model independently generates instructions.\r\nSince the client has not directly generated these transactions, the client has no record\r\nof their creation. To enable users to modify and/or cancel pending instructions, the\r\nclient must use data synchronization in order to retrieve these transactions.\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client has two purposes for synchronizing state with the server with\r\nrespect to recurring models:\u003C/font\u003E \r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERetrieve any added, modified, or canceled recurring models\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERetrieve any added, modified, or canceled transactions generated by any\r\n models\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe client must be able to synchronize with the state of any models at\r\nthe server, as well as the state of any transactions generated by the server.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493364\u0022\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003EModifying and Canceling Individual\r\n Transactions\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EOnce created and retrieved by the customer, recurring payments and\r\ntransfers are almost identical to customer-created payments or transfers. As with ordinary\r\npayments or transfers, you can cancel or modify transactions individually. However,\r\nbecause servers generate these transfers, they are different in the following respects:\u003C/font\u003E\r\n\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecurring transactions must be retrieved as part of a synchronization\r\n request.\u003C/font\u003E \u003C/li\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00222\u0022\u003ERecurring transactions are related to a model. A server can modify or\r\n cancel transactions if the model is modified or canceled. \u003C/font\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Cfont SIZE=\u00225\u0022 FACE=\u0022Arial\u0022\u003E\u003Ca NAME=\u0022_Toc380493365\u0022\u003EModifying and Canceling Recurring\r\n Model\u003C/a\u003Es\u003C/font\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA recurring model can be modified or canceled. When a model is modified,\r\nall transactions that it generates in the future will change as well. The client can\r\nindicate whether transactions that have been generated, but have not been sent, should be\r\nmodified as well. The actual elements within a transaction that can be modified differ by\r\nservice. See the recurring sections within the Banking and Payments chapters for details.\u003C/font\u003E\r\n\u003C/p\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EA user can cancel a model immediately or at a future date. If a user\r\ncancels the model immediately, the client cancels any transactions that it has not yet\r\nsent. If the client schedules the cancel for a future date, the client will not cancel\r\npending transactions.\u003C/font\u003E \r\n\r\n\u003Col\u003E\r\n \u003Cli\u003E\u003Ca NAME=\u0022_Toc380493366\u0022\u003E\u003Cfont SIZE=\u00224\u0022 FACE=\u0022Arial\u0022\u003EExamples\u003C/font\u003E\u003C/a\u003E \u003C/li\u003E\r\n\u003C/ol\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003ECanceling a recurring payment model requires the client to pass the\r\n\u0026lt;RECSRVRTID\u0026gt; of the model. The client requests that pending payments also be\r\ncanceled. The server cancels the model immediately and notifies the client that both the\r\nmodel and any scheduled payments were canceled.The request:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRQ\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRQ\u0026gt;\r\n.\r\n.\r\n.\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response:\r\n\u003C/font\u003E\u003Cfont SIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRS\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRS\u0026gt;\r\n.\r\n.\r\n.\r\n\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cpre\u003E\u003Cimg src=\u0022stadyn_image9.gif\u0022 width=\u0022382\u0022 height=\u0022208\u0022 alt=\u0022stadyn_image9.gif (7739 bytes)\u0022\u003E\r\nstadyn_image9\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cfont SIZE=\u00222\u0022\u003EThe server also cancels any payments that have been generated but not\r\nexecuted. In the example shown above, the client would not learn of this immediately. To\r\nreceive notification that the model and all generated payments were canceled, the client\r\nwould need to include a synchronization request in the file. The following example\r\nillustrates this alternate approach.The request file now includes a synchronization\r\nrequest:\u003C/font\u003E \u003C/p\u003E\r\n\r\n\u003Cpre\u003E\r\n\u003Cfont SIZE=\u00221\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRQ\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRQ\u0026gt;\r\n\t\u0026lt;PMTSYNCRQ\u0026gt;\r\n\t\t\u0026lt;TOKEN\u0026gt;12345\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;123432123\r\n\t\t\t\u0026lt;ACCTID\u0026gt;516273\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\u0026lt;/PMTSYNCRQ\u0026gt;\r\n.\r\n.\r\n.\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00222\u0022\u003EThe response file now contains two responses\r\n(assuming one payment was pending), \r\n\r\none for the canceled model and one for the canceled payment.\r\n\u003C/font\u003E\u003Cfont\r\nSIZE=\u00221\u0022 FACE=\u0022Courier New\u0022\u003E.\r\n.\r\n.\r\n\t\u0026lt;RECPMTCANCRS\u0026gt;\r\n\t\t\u0026lt;RECSRVRTID\u0026gt;387687138\r\n\t\t\u0026lt;CANPENDING\u0026gt;Y\r\n\t\u0026lt;/RECPMTCANCRS\u0026gt;\r\n\t\u0026lt;PMTSYNCRS\u0026gt;\t\r\n\t\t\u0026lt;TOKEN\u0026gt;3247989384\r\n\t\t\u0026lt;BANKACCTFROM\u0026gt;\r\n\t\t\t\u0026lt;BANKID\u0026gt;123432123\r\n\t\t\t\u0026lt;ACCTID\u0026gt;516273\r\n\t\t\t\u0026lt;ACCTTYPE\u0026gt;CHECKING\r\n\t\t\u0026lt;/BANKACCTFROM\u0026gt;\r\n\t\t\u0026lt;PMTTRNRS\u0026gt;\r\n\t\t\t\u0026lt;TRNUID\u0026gt;10103\r\n\t\t\t\u0026lt;STATUS\u0026gt;\r\n\t\t\t\t\u0026lt;CODE\u0026gt;0\r\n\t\t\t\t\u0026lt;SEVERITY\u0026gt;INFO\r\n\t\t\t\u0026lt;/STATUS\u0026gt;\r\n\t\t\t\u0026lt;PMTCANCRS\u0026gt;\r\n\t\t\t\t\u0026lt;SRVRTID\u0026gt;1030155\r\n\t\t\t\u0026lt;/PMTCANCRS\u0026gt;\r\n\t\t\u0026lt;/PMTTRNRS\u0026gt;\r\n\t\u0026lt;/PMTSYNCRS\u0026gt;\r\n.\r\n.\r\n.\r\n\r\n\u003C/font\u003E\r\n\u003C/pre\u003E\r\n\r\n\u003Cp\u003E\u003Cimg src=\u0022stadyn_image10.gif\u0022 width=\u0022174\u0022 height=\u0022310\u0022 alt=\u0022stadyn_image10.gif (4217 bytes)\u0022\u003E\u003Cbr\u003E\r\nstadyn_image10\u003C/p\u003E\r\n\u003C/body\u003E\r\n\u003C/html\u003E\r\n\u0060\r\nconst pattern = /\u003Cbody[^\u003E]*\u003E((.|[\\n\\r])*)\u003C\\/body\u003E/im;\r\nconst matches = pattern.exec(html);\r\nconst body = matches[1]","IsDeferred":false}]}