Skip to main content
Feedback

Symitar - Partner operation

Updated 

The Symitar — Partner Connector operation defines how to interact with the Symitar® core processing platform through the SymXchange™ web services, and represents a specific action (Get, Execute) to perform against a specific object type.

Create a separate operation for each action and object type combination that your integration requires.

The connector reads member data from Symitar and consumes PowerOn® letter files. It does not write member data to Symitar, so there is no Create, Update, Upsert, Delete or Query action. An operation set to one of those actions fails with a message that lists the supported actions and object types.

Object types

The object types are fixed and ship with the connector, so the list does not depend on how your Symitar system is configured. Each entry is shown under its object type name:

Object typeActionsObject idDocument returned
AccountGetThe Symitar account (membership) number.Account: the membership record with the nested collections that the Selectable Fields XML field asks for.
ShareTransactionGet<account number>|<share id>, optionally followed by \<query>.
LoanTransactionGet<account number>|<loan id>, optionally followed by \<query>.
LetterFileGetThe letter file name, for example SOLUTIONS.METRIX.LASTRUN.LetterFile
LetterFileSetGet, ExecuteThe base name of a numbered set of letter files, for example SOLUTIONS.METRIX.FMCHANGE for SOLUTIONS.METRIX.FMCHANGE.001, .002 and so on. Get takes it as the object id. Execute does not use the object id: it reads the base name from the FileName element of the input document.Get: LetterFile. Execute: LetterFile with a Deleted count.

Shares, loans, names, cards, preferences and tracking records are not object types of their own. They arrive nested inside the Account document.

All request and response profiles are XML. They ship with the connector as XML Schemas derived from the SymXchange service definitions. To import a profile, click Import Operation and complete the import wizard: choose the Connector Action, a Runtime, the Connection to use, and then the object type. The wizard needs a connection to be selected, but the import reads the profiles bundled with the connector and does not call SymXchange, so it also works before a license has been issued.

An operation keeps the profiles it was imported with. After a connector upgrade, run Import Operation again to pick up any profile the release changed. Nothing else in the operation is affected.

Options tab

The Options tab holds the standard fields and the fields of the Get action. The Execute action has no fields of its own.

FieldDescription
Connector ActionThe action the operation performs: Get or Execute. Set when the operation is created and read only afterwards.
ObjectThe object type this operation targets, selected in the import wizard.
Tracking DirectionWhether Process Reporting tracks the documents going into the connector or the documents coming out of it. Standard Boomi behavior.
Selectable Fields XMLGet, Account only. The SymXchange SelectableFields block sent with the account request. It decides which fields and which nested collections come back. The default value selects the fields the Solutions Metrix integration maps; trim it to shorten the response. Each nested …SelectableFields block is independent: an IncludeAll…Fields flag on a parent covers that parent's own fields only, not its nested collections. The value must be well-formed XML with SelectableFields (or AccountSelectableFields) as its root element. A blank or malformed value fails the document before Symitar is called.
Transaction Query FilterGet, transactions only. A SymXchange query expression that limits the history, typically to a date range, for example PostDate>=20240101 and PostDate<=20241231. Check the exact grammar and field names against the SymXchange documentation for your Symitar release. Leave it blank to read the whole history. A query given in the object id overrides this field for that document.
Transaction Page SizeGet, transactions only. Records requested per SymXchange call; default 200. It sets the number of round trips, not the size of the result. Leave it at 200: SymXchange returns at most 200 records per page whatever is requested.
Max Transactions per Financial AccountGet, transactions only. A safety limit on the records read for one share or loan across all pages; default 10000. It is not a page size. When the limit is reached the connector stops reading, marks the result as truncated and logs a warning. Raise it only if a single share or loan legitimately holds more transactions in the requested range.
Transaction Selectable Fields XMLGet, transactions only. Optional. Leave it blank: the connector then selects the 13 transaction fields the integration maps (Id, UserNumber, SequenceNumber, Description, ActionCode, TransferCode, EffectiveDate, PostDate, PostTime, Comment, FeeAmount, TranAmount, SourceCode) with the element names that share and loan requests each require. An override must match the operation's object type, because share and loan selectors use different element names.

The Get fields are shown for every Get operation. Fields that do not apply to the selected object type are ignored.

Archiving, Tracking and Caching tabs

These three tabs are provided by the platform and behave as they do for any connector. The connector defines no tracked properties of its own.

Licensing

Both actions require a valid Solutions Metrix license on the connection. Importing an operation and testing the connection work without one, so a process can be built while the license is being issued. On an unlicensed connection the operation fails before any document is processed, with an SM-LICENSE message that names the reason and the connection field to fix. The Symitar — Partner connection document describes the Customer ID and License Key fields and how to request a license.

Get action

The Get action reads one object per document, identified by the Boomi object id. Set the object id in the process, for example from a document property or from the data of the previous shape. There is no search or filter across records.

Account. The object id is the account number. The connector sends one getAccountSelectFields request with the Selectable Fields XML value and returns the Account element of the response as the document.

ShareTransaction and LoanTransaction. The object id combines the account number and the share or loan id, separated by a pipe (|), for example 0000012345|0001. A third segment, if present, is a query expression for that document only. The connector uses the paged SymXchange searches searchShareTransactionPagedSelectFields and searchLoanTransactionPagedSelectFields and follows the continuation token page by page until the history in scope has been read. The non-paged variants of these searches are refused (HTTP 403, ErrorCode 1.25) for the administrative credentials the connector signs in with, so the connector does not use them.

All pages are returned together as one document. The list element carries a hasReachedMaximumListSize flag. It is false when the whole history in scope was read. It is true when the connector stopped early: the Max Transactions per Financial Account limit was reached, or SymXchange returned a repeated continuation token or an empty page with a token. The document still succeeds in that case, and a warning with the reason is written to the process log.

<ns4:ShareTransactionList xmlns:ns4="..."> <hasReachedMaximumListSize>false</hasReachedMaximumListSize> <ShareTransaction> <Id>...</Id> <PostDate>...</PostDate> <TranAmount>...</TranAmount> ... </ShareTransaction> ...</ns4:ShareTransactionList>

LetterFile and LetterFileSet. These object types read PowerOn letter files through the SymXchange file management service; a PowerOn change-discovery process uses them to find the accounts that changed. For LetterFile the object id is the file name. For LetterFileSet it is the base name, and the connector reads <base>.001, <base>.002 and so on until the next file does not exist, joining their contents. If <base>.001 does not exist, the content is empty. Both return the same document:

<LetterFile> <FileName>SOLUTIONS.METRIX.FMCHANGE</FileName> <Content><![CDATA[...letter file text...]]></Content></LetterFile>

Execute action

The Execute action deletes (consumes) a set of PowerOn letter files, so the next run does not read it again. It is available for LetterFileSet only; a single letter file cannot be deleted through the connector.

Run it only after the contents of the set have reached their destination. A deleted set cannot be read again. In the Solutions Metrix integration the delete is a separate process that Creatio calls once it has imported the changed accounts; the process that reads the set never deletes it.

Input. One XML document per set, carrying the base name in a FileName element, for example <LetterFile><FileName>SOLUTIONS.METRIX.FMCHANGE</FileName></LetterFile>. The name is read from the document content, so no object id is needed. A document without a FileName element fails.

The connector deletes <base>.001, <base>.002 and so on, and stops at the first file that does not exist. SymXchange accepts letter file names of up to 31 characters, the .001 suffix included, so the base name of a set can be at most 27 characters long. A longer name fails the document with a SOAP fault before any file is looked up. The same limit applies to Get.

Output. A LetterFile document with the base name and a Deleted element holding the number of files deleted. A set that is already gone is not an error: the document succeeds with Deleted set to 0.

Each input document is processed independently, so one failed document does not stop the others in the same batch.

Result handling

OutcomeHow Boomi reports it
The request succeeded.Document succeeds, with the XML described above as its payload.
A transaction read stopped at the safety limit or on an irregular continuation token.Document succeeds with hasReachedMaximumListSize set to true; a warning is logged.
SymXchange rejected the request (a SOAP fault), answered with an HTTP error, or could not be reached in time.Document fails with the exception message, which includes the SymXchange response.
The operation or the input is invalid: a blank or malformed Selectable Fields XML, a transaction object id without the | separator, an Execute document without FileName.Document fails with a message that names the field or value to correct. Symitar is not called.
The action or object type is not supported.Fails with a message that lists the supported actions and object types.
The license is missing or invalid.The operation fails before any document is processed, with an SM-LICENSE message.

The connector does not return application errors as documents: every failure in this table fails the document. To handle a failure in the process, wrap the connector shape in a Try/Catch shape.

Timeouts and retries

Each SymXchange call has a 30-second connect timeout and a 120-second read timeout. Neither can be changed. The connector does not retry a failed call. When a process retries on its own:

  • Connection failures, timeouts and HTTP 5xx answers are usually temporary and can be retried. Get is read-only, so it is always safe to repeat. Execute is safe to repeat as well: files already deleted by the first attempt are simply not found again, and the repeat deletes whatever is left.
  • HTTP 401 and 403, SOAP faults, invalid input and SM-LICENSE failures do not go away on a retry. Correct the connection, the operation or the input first.

Troubleshooting

SymptomWhat to check
An expected collection, such as cards or tracking records, is missing from the Account document.The Selectable Fields XML value has no block for that collection. Add the nested …SelectableFields block; the parent's IncludeAll…Fields flag does not cover it.
The transaction history ends earlier than expected.Look at hasReachedMaximumListSize and at the warning in the process log. Narrow the Transaction Query Filter or raise Max Transactions per Financial Account.
"Transaction object id must be a composite …"The object id for a transaction Get needs the account number and the share or loan id separated by |.
"Operation property 'selectableFieldsXml' is blank …" or "… is not well-formed XML …"Restore or correct the Selectable Fields XML value on the operation.
"… incoming document has no <FileName> element …"The Execute input needs a FileName element carrying the base name of the set.
A SOAP fault mentioning cvc-maxLength-valid for a letter file name.The name is longer than SymXchange allows: 31 characters for a file, so 27 for the base name of a set.
Execute returns Deleted = 0.The base name is wrong, or the set was already deleted. Check that the name has no .001 suffix.
An SM-LICENSE message.See the licensing section of the Symitar — Partner Connector connection document.
  • Symitar — Partner Connector (overview)
  • Symitar — Partner Connector connection

Symitar® and PowerOn® are registered trademarks of Jack Henry & Associates, Inc.® SymXchange™ is a trademark of Jack Henry & Associates, Inc.®

On this Page