SymXchange API

Create, Read, Update, Delete Services

System Web Console > SymXchange Web Services – Enhanced > Instance Services Configuration > Create, Read, Update, Delete Services

In SymXchange, you can use the create, read, update, delete functionality to access record files in the Symitar database.

The acronym CRUD refers to the four basic database request functions in most software applications: create, read, update, and delete. In SymXchange, credit unions and third-party vendors can use the create, read, update, and delete functionality to send a specific request to each Symitar database file. In addition, the Findby service endpoint allows you to find a member’s account number, loan, and share information using various lookup types.

There is one specific service endpoint for each supported Symitar database file. Each endpoint provides eight record retrieval requests, one update request, one delete request, and one create request.

Retrieval Request

This table describes the eight record retrieval requests and the areas from which they can retrieve information.

RETRIEVAL REQUESTSALL FIELDSSELECT FIELDSTREE1FILTERPAGINGRECORD ACCESS LEVEL
get[Record]YesN/AN/AN/AN/AAll
get[Record]SelectFieldsYesYesYesN/AN/AAll
get[Record]ListSelectFieldsYesYesYesN/AN/AAll2
get[Record]SelectFieldsFilterChildrenYesYesYesYesN/AAll
get[Record]PagedListYesN/AN/AN/AYesAll2
get[Record]PagedListSelectFieldsYesYesN/AN/AYesAll2
search[Record]SelectFieldsYesYesYesYesN/AAll2
search[Record]PagedSelectFieldsYesYesN/AYesYesAll2
1 Use hierarchical retrieval method 2 All except root record
  • get[Record]: This request specifies the primary key values to a record type to retrieve that single record. It returns all of the fields automatically for that record type. It does not allow for child record selection.

    • Example: getAccount, getLoan
  • get[Record]SelectFields: This request specifies the primary key values to a record type to retrieve that single record. Use the [Record]SelectableFields entity to choose which fields to retrieve for the given record and its child records.

    • Example: getAccountSelectFields, getLoanSelectFields
  • get[Record]ListSelectFields: This request specifies the primary key values to a record type’s parent record to retrieve a list of that record type. Use the [Record]SelectableFields entity to choose which fields you want to retrieve for the records in the list and their child records.

    • Example: getLoanListSelectFields, getLoanTrackingListSelectFields
  • get[Record]SelectFieldsFilterChildren: This request specifies the primary key values to a record type to retrieve that single record. Use the [Record]SelectableFields entity to choose which fields to retrieve for the record and its child records. Filter the child record entities using the [Record]ChildrenFilter entity.

    • Example: getAccountSelectFieldsFilterChildren, getLoanSelectFieldsFilterChildren
  • get[Record]PagedList: This request specifies the primary key values to a record type’s parent record to retrieve a list of that record type. Use the paging features in this request with the PagingRequestContext entity.

    • Example: getLoanPagedList, getLoanTrackingPagedList
  • get[Record]PagedListSelectFields: This request specifies the primary key values to a record type’s parent record to retrieve a list of that record type. You can filter the record type list further with the [Record]Filter entity. Use the [Record]SelectableFields entity to choose which fields you would like to retrieve for the given records in the list and their child records.

    • Example: getLoanPagedListSelectFields, getLoanTrackingPagedListSelectFields
  • search[Record]SelectFields: This request specifies the primary key values to a record type’s parent record to retrieve a list of that record type. You can filter the record type list further with the [Record]Filter entity. Use the [Record]SelectableFields entity to choose which fields you would like to retrieve for the given records in the list and their subrecords.

    • Example: searchLoansSelectFields, searchLoanTransactionsSelectFields
  • search[Record]PagedSelectFields: This request specifies the primary key values to a record type’s parent record to retrieve a list of that record type. You can filter the record type list further with a query string. Use the [Record]SingleSelectableFields entity to choose which fields you want to retrieve for the records in the list.

    • Example: searchLoanPagedSelectFields, searchLoanTrackingPagedSelectFields

Entities for Retrieval Request

A retrieval request contains a main request object that includes the primary key values of the record, device information, credential information, and one or more of following entities:

  • [Record]SelectableFields: This entity specifies the property that you can set to include all fields in the record request for that record type.
    • Additionally, this entity can contain a child [Record]SelectableFields type. The parent and child relationship repeats all the way down the record tree. You can select the fields for specific entities, including their child entities.
  • [Record]SingleSelectableFields:
    • When the IncludeAll[Record]Fields property of this entity is set to true, it allows inclusion of all fields at the record request.
    • When the IncludeAll[Record]Fields property of this entity is set to false, it allows inclusion of only specifying fields, which are chosen with the [Record]SingleSelectableFields child entity [Record]Fields. The [Record]Fields child entity contains Boolean properties for each record field.
  • [Record]Filter: This entity provides a SQL WHERE search criteria. A WHERE clause in SQL specifies a SQL data manipulation language statement. This entity contains a query property that you can use to specify a search criteria in a string format. This entity contains a [Record]ChildrenFilter entity, which contains the [Record]Filter entity that you can use on the child records. This format lets you request and filter records for each record in a single request.
    • Example: balance=2500.00
  • [Record]ChildrenFilter: The [Record]ChildrenFilter entity can be found in a single record request to filter the child records that belong to that single record being returned. It contains the [Record]Filter entity that can contain more [Record]ChildrenFilter entities. PagingRequestContext: This entity contains the following properties:
    • Number of records to return : The number of records to return in a single page size request.
    • Number of records to skip : The number of records to skip before SymXchange starts returning records again.
    • Example: If page one contains 1,000 records and you want to go directly to page two, you would indicate that you want SymXchange to skip 1,000 records to get to page two.
    • Token: A token is returned on the first request to an operation. This token tracks where to start returning records in the second request.

SymXchange advises the following best practices when using retrieval requests:

  • Use the paged operations instead of the non-paged operations. For example, use the get[Record]PagedListSelectFields operation in place of the get[Record]ListSelectFields operation and use the search[Record]PagedSelectFields operation in place of the search[Record]SelectFields operation.
  • Do not specify a huge page to return for the paged operations.
  • Only select the required fields to return. Use the get[Record]SelectFields operation in place of the get[Record] operation and use the get[Record]PagedListSelectFields operation in place of the get[Record]PagedList operation.

Create Request

  • create[Record]Request
    • This request specifies the values of the fields you want to set to create this record request. If you did not create the primary key values in the record, specify the primary key values of the parent record; otherwise, this request type only specifies the [Record]CreatableFields entity.
    • Example: reateAccountRequest, createLoanRequest

Entity for Create Request

This request contains a main request object that includes values of the primary key that was not created in the record, device information, credential information, and the following entity:

  • [Record]CreatableFields
    • This entity specifies the fields that SymXchange saves in the create specific service endpoint.

Update Request

  • update[Record]ByIDRequest
    • This request specifies the primary key values to a record type for an update. when you use the parent [Record]UpdateRequest and child [Record]UpdateRequest operation types, you can specify the id numbers all the way down the record tree for a hierarchal update. you can update any or all fields in this record tree by using the [Record]UpdateableFields entity in each record.
    • example: updateaccountbyidrequest, updateloanbyidrequest

Entities for Update Request

An update request contains a main request object that includes the device information, credential information, and one or more of following entities:

  • [Record]UpdateRequest
    • This entity specifies the primary key values for the record type that receives a request to be updated, the child [Record]UpdateRequest entity, and the [Record]UpdateableFields entity.
  • [Record]UpdateableFields
    • This entity specifies the field values of the type of record. The update values are stored here.

Delete Request

A delete request contains a main request object that includes the primary key values of the record, device information, and credential information.

  • delete[Record]
    • This request specifies the records you want to delete, which includes the deletion of the child records of these records.
Last updated Thu Mar 30 2023