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 REQUESTS | ALL FIELDS | SELECT FIELDS | TREE1 | FILTER | PAGING | RECORD ACCESS LEVEL |
---|---|---|---|---|---|---|
get[Record] | Yes | N/A | N/A | N/A | N/A | All |
get[Record]SelectFields | Yes | Yes | Yes | N/A | N/A | All |
get[Record]ListSelectFields | Yes | Yes | Yes | N/A | N/A | All2 |
get[Record]SelectFieldsFilterChildren | Yes | Yes | Yes | Yes | N/A | All |
get[Record]PagedList | Yes | N/A | N/A | N/A | Yes | All2 |
get[Record]PagedListSelectFields | Yes | Yes | N/A | N/A | Yes | All2 |
search[Record]SelectFields | Yes | Yes | Yes | Yes | N/A | All2 |
search[Record]PagedSelectFields | Yes | Yes | N/A | Yes | Yes | All2 |
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
- Example:
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
- Example:
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
- Example:
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
- Example:
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
- Example:
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
- Example:
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
- Example:
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
- Example:
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.
- Additionally, this entity can contain a child
[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.
- When the
[Record]Filter
: This entity provides a SQLWHERE
search criteria. AWHERE
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
- Example:
[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 theget[Record]ListSelectFields
operation and use thesearch[Record]PagedSelectFields
operation in place of thesearch[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 theget[Record]
operation and use theget[Record]PagedListSelectFields
operation in place of theget[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
- 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
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.
- This entity specifies the primary key values for the record type that receives a request to be updated, the child
[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.