API Reference
The BitCurb API is built around REST and has meaningful resource URLs that hint their purpose. When error conditions occur we use HTTP response status codes to indicate where the problems is – 4XX for client originating errors or 5XX for BitCurb API server errors. When applicable we will return descriptive error messages to indicate and guide you or your client application end users where the problem is, i.e. missing mandatory parameter value.
We utilize the OAuth 2.0 standard authentication protocol to enforce authentication provided that you send us in an initial handshake your unique API client key and API client secret alongside your BitCurb credentials.
JSON is the de facto communication format that BitCurb API is using for both requests and responses.
Our Reconciliation REST API is well documented with Swagger.
Please, refer to https://api.bitcurb.com/swagger/index.html for details.
Our GitHub repository with code samples and detailed user guide are available and well supported to back you up on your journey with us. We realise that onboarding third party API is challenging and we are here to help.
Authentication
In order to use the BitCurb API you need to first authenticate by sending us your unique API client key, API client secret, username and password. You can find and manage your API client key and secret in our portal under the Settings > Global Settings menu. Keep in mind that it is your responsibility to keep your key and secret safe and don’t publish your code or configuration files if they contain them.
Our API authentication endpoint is https://api.bitcurb.com/connect/token
This is a sample request for authentication using PowerShell:
Invoke-WebRequest –Headers @{"Content-Type"="application/x-www-form-urlencoded"} –Body "grant_type=password&password=YourBitCurbPassword&username=YourBitCurbAccount&client_id=YourAPIClientId&client_secret=YourAPIClientSecret" -Method POST -Uri https://api.bitcurb.com/connect/token
Make sure your parameters that provide for usnername, password, cliend_id and client_secret and they are URL encoded.
Otherwise you may get 400 Bad Request as response to your authentication query.
{
"error": "invalid_grant",
"error_description": "Invalid username or password"
}
If you are successfully authenticated, you will get response similar to the following:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1OTM2OTU0MDcsImV4cCI6MTU5MzY5NjYwNywiaXNzIjoiaHR0cDovL3VhdC1hcGkuYml0Y3VyYi5jb20iLCJhdWQiOlsiaHR0cDovL3VhdC1hcGkuYml0Y3VyYi5jb20vcmVzb3VyY2VzIiwiQml0Q3VyYi5BUEkiXSwiY2xpZW50X2lkIjoiNWJmMzcxMDMtYmY0NS00NGRmLWIxNjAtNGQ1ODM5MDljMTEyIiwic3ViIjoiMSIsImF1dGhfdGltZSI6MTU5MzY5NTQwNywiaWRwIjoibG9jYWwiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoic3VwcG9ydEBiaXRjdXJiLmNvbSIsIkNvbnN1bWVyVHlwZSI6IkFwaSIsIlRlbmFudElEIjoiMSIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL2VtYWlsYWRkcmVzcyI6InN1cHBvcnRAYml0Y3VyYi5jb20iLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6InN1cHBvcnRAYml0Y3VyYi5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoie1wiSWRcIjoxLFwiVXNlcklkZW50aWZpZXJcIjpcIjczMTliMTI5LTdiZTctNGU1Ny04NThiLTFhM2U2ZDdmOGVmYVwiLFwiVGVuYW50SWRcIjoxLFwiVGVuYW50SWRlbnRpZmllclwiOlwiZWQxYzg4ZTgtOTdjZi00ZTZkLTg5YWEtZDNhYjQ2MjQ3YTNhXCIsXCJFbWFpbFwiOlwic3VwcG9ydEBiaXRjdXJiLmNvbVwiLFwiRmlyc3ROYW1lXCI6XCJCaXRDdXJiXCIsXCJMYXN0TmFtZVwiOlwiQml0Q3VyYlwiLFwiUGhvbmVcIjpudWxsLFwiSXNBZG1pbmlzdHJhdG9yXCI6dHJ1ZSxcIklzVGVuYW50Q29tcGFueU1vZGVcIjpmYWxzZSxcIkNsaWVudFR5cGVcIjoxfSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYWNjZXNzY29udHJvbHNlcnZpY2UvMjAxMC8wNy9jbGFpbXMvaWRlbnRpdHlwcm92aWRlciI6IkJpdEN1cmIsIEx0ZC4iLCJzY29wZSI6WyJiaXRjdXJiLmFwaS5hY2Nlc3MiLCJvZmZsaW5lX2FjY2VzcyJdLCJhbXIiOlsicHdkIl19.bdCY2yk0f_uTQ-mVWYIRz0jc68yEsBfrslaFS4UWX0ivJUy3VRN_-UZOJ6Eo8I0v4661V7JjAssxFla_hPy3JvJE3uMuA83-_glx3FrXUe_Zdi2JH-kPlhBW1QV0EdwOeRoSL6rkVrnetX-IUlAjJKiU52UQ39vFCcnWOUK9OuO0fdSHcedU541pB_N7U-d2Dk0DCT86kb6uvhL0qm1sBFmR7ITB7UUyFgekxYig1jYSpifXBBnLzeFSFWlfzDSbdTdhQegKJFoHrUJe3lP5OwG-l5L5kMvz4DVZEZq77QIF9WgbkyCqpmjDpCqLSzfojZYN8No2tR84WMPh0crXYw",
"expires_in": 1200,
"token_type": "Bearer",
"refresh_token": "598245e769f71c8f4400265f4e99a61061381229392355ec094f77035436d7b3",
"scope": "bitcurb.api.access offline_access"
}
In the JSON you will find an access_token which you need to set in the Authorization header in all subsequent requests. This is an example of the Authorization header:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1OTM2OTU0MDcsImV4cCI6MTU5MzY5NjYwNywiaXNzIjoiaHR0cDovL3VhdC1hcGkuYml0Y3VyYi5jb20iLCJhdWQiOlsiaHR0cDovL3VhdC1hcGkuYml0Y3VyYi5jb20vcmVzb3VyY2VzIiwiQml0Q3VyYi5BUEkiXSwiY2xpZW50X2lkIjoiNWJmMzcxMDMtYmY0NS00NGRmLWIxNjAtNGQ1ODM5MDljMTEyIiwic3ViIjoiMSIsImF1dGhfdGltZSI6MTU5MzY5NTQwNywiaWRwIjoibG9jYWwiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoic3VwcG9ydEBiaXRjdXJiLmNvbSIsIkNvbnN1bWVyVHlwZSI6IkFwaSIsIlRlbmFudElEIjoiMSIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL2VtYWlsYWRkcmVzcyI6InN1cHBvcnRAYml0Y3VyYi5jb20iLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6InN1cHBvcnRAYml0Y3VyYi5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoie1wiSWRcIjoxLFwiVXNlcklkZW50aWZpZXJcIjpcIjczMTliMTI5LTdiZTctNGU1Ny04NThiLTFhM2U2ZDdmOGVmYVwiLFwiVGVuYW50SWRcIjoxLFwiVGVuYW50SWRlbnRpZmllclwiOlwiZWQxYzg4ZTgtOTdjZi00ZTZkLTg5YWEtZDNhYjQ2MjQ3YTNhXCIsXCJFbWFpbFwiOlwic3VwcG9ydEBiaXRjdXJiLmNvbVwiLFwiRmlyc3ROYW1lXCI6XCJCaXRDdXJiXCIsXCJMYXN0TmFtZVwiOlwiQml0Q3VyYlwiLFwiUGhvbmVcIjpudWxsLFwiSXNBZG1pbmlzdHJhdG9yXCI6dHJ1ZSxcIklzVGVuYW50Q29tcGFueU1vZGVcIjpmYWxzZSxcIkNsaWVudFR5cGVcIjoxfSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYWNjZXNzY29udHJvbHNlcnZpY2UvMjAxMC8wNy9jbGFpbXMvaWRlbnRpdHlwcm92aWRlciI6IkJpdEN1cmIsIEx0ZC4iLCJzY29wZSI6WyJiaXRjdXJiLmFwaS5hY2Nlc3MiLCJvZmZsaW5lX2FjY2VzcyJdLCJhbXIiOlsicHdkIl19.bdCY2yk0f_uTQ-mVWYIRz0jc68yEsBfrslaFS4UWX0ivJUy3VRN_-UZOJ6Eo8I0v4661V7JjAssxFla_hPy3JvJE3uMuA83-_glx3FrXUe_Zdi2JH-kPlhBW1QV0EdwOeRoSL6rkVrnetX-IUlAjJKiU52UQ39vFCcnWOUK9OuO0fdSHcedU541pB_N7U-d2Dk0DCT86kb6uvhL0qm1sBFmR7ITB7UUyFgekxYig1jYSpifXBBnLzeFSFWlfzDSbdTdhQegKJFoHrUJe3lP5OwG-l5L5kMvz4DVZEZq77QIF9WgbkyCqpmjDpCqLSzfojZYN8No2tR84WMPh0crXYw
All API communication is made over HTTPS.
Get access token from refresh token
If your access token expires, you can request a new one with your refresh token.
Invoke-WebRequest –Headers @{"Content-Type"="application/x-www-form-urlencoded"} –Body "grant_type=refresh_token&refresh_token=YourRefreshToken&client_id=YourAPIClientId" -Method POST -Uri https://api.bitcurb.com/connect/token
Introduction
BitCurb ETL functionality provides enterprise level conversion engine, which can parse and transform your financial file format into easy to read format.
When working with the BitCurb ETL Engine through the API, you don’t have to create a data container, template and transformation expressions (formula expressions). You pass all your data definitions as part of your REST request.
All data fields must have a prefix $e. to be recognized by the ETL Engine.
So, if you want a process a filed from your file called “test”, then you have to pass it as $e.test in your request definition.
Endpoints for ETL
[Post] https://api.bitcurb.com/api/1.0/etl/run
[Get] https://api.bitcurb.com/api/1.0/etl/run?templateId=<Id> ,where Id represent the Id number value of your template defined in the BitCurb portal.
https://api.bitcurb.com/api/1.0/etl/run method definition:
Format | 1 – Swift 940 2 – Swift 950 3 – CSV |
The format of the file that you are processing |
Mappings JSON array |
[] | If you want an input field to be presented in your result it must present in the array of the Mappings element |
Child attributes of Mappings element | ||
Name String |
The name of the field It must have $e. prefix to be a valid name recognized by the ETL engine |
|
Formula String |
Formula for the filed if any OR the name of the field to return the same value as is in the file. When your format is CSV the name referred in your formula is always starting with Column, i.e. Column1 for the first column, Column2, etc. |
|
Content Stream |
Binary/stream – the file that you are processing |
Process MT SWIFT files
Our MT SWIFT parsers come with a number of predefined fields from the particular MT format, following the format specification according SWIFT https://www.swift.com/
The predefined fields must be referred by their internal name when you defined your formula transformations, or select which filed to be parsed and returned in your result. You always have to put $e. prefix before the internal name in order to have a valid expression.
MT 940
Name | Internal name |
Block 1:ApplicationID | BasicHeaderBlock_ApplicationID |
Block 1:ServiceID | BasicHeaderBlock_ServiceID |
Block 1:LTAddress | BasicHeaderBlock_LTAddress |
Block 1:SessionNumber | BasicHeaderBlock_SessionNumber |
Block 1:SequenceNumber | BasicHeaderBlock_SequenceNumber |
Block 2:InputOutputID | APPLICATION_HEADER_BLOCK_InputOutputID |
Block 2:Swift Msg Type | APPLICATION_HEADER_BLOCK_SwiftMessageType |
Block 2:Input Time | APPLICATION_HEADER_BLOCK_InputTime |
Block 2:MIR | APPLICATION_HEADER_BLOCK_MIR |
Block 2:Output Date | APPLICATION_HEADER_BLOCK_OutputDate |
Block 2:Output Time | APPLICATION_HEADER_BLOCK_OutputTime |
Block 2:Priority | APPLICATION_HEADER_BLOCK_Priority |
Block 2:Destination Address | APPLICATION_HEADER_BLOCK_DestinationAddress |
Block 2:DeliveryMonitoringCd | APPLICATION_HEADER_BLOCK_DeliveryMonitoringCd |
Block 2:ObsolescencePeriodCd | APPLICATION_HEADER_BLOCK_ObsolescencePeriodCd |
3:User header block | USER_HEADER_BLOCK |
Block 4 :20:Tran. Ref. Number | BODY_BLOCK_20_TransactionReferenceNumber |
Block 4 :21:Related Ref. | BODY_BLOCK_21_RelatedReference |
block 4 :25a:Account | BODY_BLOCK_25_Account |
Block 4 :25a:IdentifierCode | BODY_BLOCK_25_IdentifierCode |
Block 4 :28C:Seq. Number | BODY_BLOCK_28_SequenceNumber |
Block 4 :28C:Statement Number | BODY_BLOCK_28_StatementNumber |
Block 4 :60a:DC Mark | BODY_BLOCK_60_DCMark |
Block 4 :60a:Date | BODY_BLOCK_60_Date |
Block 4 :60a:Currency | BODY_BLOCK_60_Currency |
Block 4 :60a:Amount | BODY_BLOCK_60_Amount |
Block 4 :62a:DC Mark | BODY_BLOCK_62_DCMark |
Block 4 :62a:Date | BODY_BLOCK_62_Date |
Block 4 :62a:Currency | BODY_BLOCK_62_Currency |
Block 4 :62a:Amount | BODY_BLOCK_62_Amount |
Block 4 :64:DC Mark | BODY_BLOCK_64_DCMark |
Block 4 :64:Date | BODY_BLOCK_64_Date |
Block 4 :64:Currency | BODY_BLOCK_64_Currency |
Block 4 :64:Amount | BODY_BLOCK_64_Amount |
Block 4 :65:DC Mark | BODY_BLOCK_65_DCMark |
Block 4 :65:Date | BODY_BLOCK_65_Date |
Block 4 :65:Currency | BODY_BLOCK_65_Currency |
Block 4 :65:Amount | BODY_BLOCK_65_Amount |
Block 4 :86:Info to Acc. Owner | BODY_BLOCK_86_InformationToAccountOwner |
Block 4 :61:Value Date | BODY_BLOCK_SL_61_ValueDate |
Block 4 :61:Entry Date | BODY_BLOCK_SL_61_EntryDate |
Block 4 :61:DC Mark | BODY_BLOCK_SL_61_DCMark |
Block 4 :61:Funds Code | BODY_BLOCK_SL_61_FundsCode |
Block 4 :61:Amount | BODY_BLOCK_SL_61_Amount |
Block 4 :61:Tran. Type Id. Code | BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode |
Block 4 :61:Ref. for Acc. Owner | BODY_BLOCK_SL_61_ReferenceForAccountOwner |
Block 4 :61:Ref. for Acc. Serving Inst. | BODY_BLOCK_SL_61_ReferenceAccountServingInstituion |
Block 4 :61:Supplementary Details | BODY_BLOCK_SL_61_SupplementaryDetails |
Block 4 SL:86:Narrative | BODY_BLOCK_SL_86 |
Block 5:Trailer Block | TRAILER_BLOCK |
MT 950
Name | Internal name |
Block 1:ApplicationID | BasicHeaderBlock_ApplicationID |
Block 1:ServiceID | BasicHeaderBlock_ServiceID |
Block 1:LTAddress | BasicHeaderBlock_LTAddress |
Block 1:SessionNumber | BasicHeaderBlock_SessionNumber |
Block 1:SequenceNumber | BasicHeaderBlock_SequenceNumber |
Block 2:InputOutputID | APPLICATION_HEADER_BLOCK_InputOutputID |
Block 2:Swift Msg Type | APPLICATION_HEADER_BLOCK_SwiftMessageType |
Block 2:Input Time | APPLICATION_HEADER_BLOCK_InputTime |
Block 2:MIR | APPLICATION_HEADER_BLOCK_MIR |
Block 2:Output Date | APPLICATION_HEADER_BLOCK_OutputDate |
Block 2:Output Time | APPLICATION_HEADER_BLOCK_OutputTime |
Block 2:Priority | APPLICATION_HEADER_BLOCK_Priority |
Block 2:Destination Address | APPLICATION_HEADER_BLOCK_DestinationAddress |
Block 2:DeliveryMonitoringCd | APPLICATION_HEADER_BLOCK_DeliveryMonitoringCd |
Block 2:ObsolescencePeriodCd | APPLICATION_HEADER_BLOCK_ObsolescencePeriodCd |
3:User header block | USER_HEADER_BLOCK |
Block 4 :20:Tran. Ref. Number | BODY_BLOCK_20_TransactionReferenceNumber |
block 4 :25a:Account | BODY_BLOCK_25_Account |
Block 4 :25a:IdentifierCode | BODY_BLOCK_25_IdentifierCode |
Block 4 :28C:Seq. Number | BODY_BLOCK_28_SequenceNumber |
Block 4 :28C:Statement Number | BODY_BLOCK_28_StatementNumber |
Block 4 :60a:DC Mark | BODY_BLOCK_60_DCMark |
Block 4 :60a:Date | BODY_BLOCK_60_Date |
Block 4 :60a:Currency | BODY_BLOCK_60_Currency |
Block 4 :60a:Amount | BODY_BLOCK_60_Amount |
Block 4 :62a:DC Mark | BODY_BLOCK_62_DCMark |
Block 4 :62a:Date | BODY_BLOCK_62_Date |
Block 4 :62a:Currency | BODY_BLOCK_62_Currency |
Block 4 :62a:Amount | BODY_BLOCK_62_Amount |
Block 4 :64:DC Mark | BODY_BLOCK_64_DCMark |
Block 4 :64:Date | BODY_BLOCK_64_Date |
Block 4 :64:Currency | BODY_BLOCK_64_Currency |
Block 4 :64:Amount | BODY_BLOCK_64_Amount |
Block 4 :61:Value Date | BODY_BLOCK_SL_61_ValueDate |
Block 4 :61:Entry Date | BODY_BLOCK_SL_61_EntryDate |
Block 4 :61:DC Mark | BODY_BLOCK_SL_61_DCMark |
Block 4 :61:Funds Code | BODY_BLOCK_SL_61_FundsCode |
Block 4 :61:Amount | BODY_BLOCK_SL_61_Amount |
Block 4 :61:Tran. Type Id. Code | BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode |
Block 4 :61:Ref. for Acc. Owner | BODY_BLOCK_SL_61_ReferenceForAccountOwner |
Block 4 :61:Ref. for Acc. Serving Inst. | BODY_BLOCK_SL_61_ReferenceAccountServingInstituion |
Block 4 :61:Supplementary Details | BODY_BLOCK_SL_61_SupplementaryDetails |
Block 5:Trailer Block | TRAILER_BLOCK |
Example of MT SWIFT 950 file, which we will process with BitCurb Crunch Engine:
{4:
:20:B1H29MS1D00A000C
:25:123-456789
:28C:102
:60F:C090528EUR3723495,
:61:090528D1,2FCHG494935/DEV//67914
:61:090528D30,2NCHK78911//123464
:61:090528D250,NCHK67822//123460
:61:090528D450,S103494933/DEV//PO64118
FAVOUR K. DESMID
:61:090528D500,NCHK45633//123456
:61:090528D1058,47S103494931//3841188 FAVOUR H.F. JANSSEN
:61:090528D5000,S20023/200516//47829
ORDER ROTTERDAM
:62F:C090528EUR3709865,13
:64:C090124EUR435212311,71
-}{5:{MAC:75D138E4}{CHK:DE1B0D7}}
{S:{SAC:}{COP:P}}
{4:
:20:B1H29MS1D00A000D
:25:123-456780
:28C:103/12345
:60M:D120803EUR202000076799,
:61:090528D450,S103494933/DEV//PO64118
FAVOUR K. DESMID TEST
:61:090528D500,NCHK45633//123456
:62M:D110817EUR202000036469,
-}
{5:{MAC:75D138E4}{CHK:DE1B0D7}}
{S:{SAC:}{COP:P}}
{4:
:20:B1H29MS1D00A000E
:25:00000001
:28C:1/3
:60M:D100817EUR202000036469,
:61:090528D500,NTRFB1H17NBAXB0R84GW//B1H17NBAXB0R84GW
:62F:D110829EUR202000036578,4
:64:C090124EUR435212311,71
-}
{5:{MAC:75D138E4}{CHK:DE1B0D7}}
{S:{SAC:}{COP:P}}
Processing with formula expressions
{
"Format":"Swift 950",
"Mappings":[
{
"Name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"Formula":"LEFT($e.BODY_BLOCK_20_TransactionReferenceNumber , 10)"
},
{
"Name":"$e.BODY_BLOCK_25_IdentifierCode",
"Formula":"CONCATENATE($e.BODY_BLOCK_25_IdentifierCode, \"we\", \"test\")"
},
{
"Name":"$e.BODY_BLOCK_SL_61_DCMark",
"Formula":"IF (($e.BODY_BLOCK_SL_61_DCMark == \"C\") OR ($e.BODY_BLOCK_SL_61_DCMark == \"RD\")) THEN \"CREDIT\" ELSE \"DEBIT\""
},
{
"Name":"$e.BODY_BLOCK_SL_61_ValueDate",
"Formula":"DATE(2019,MONTH($e.BODY_BLOCK_SL_61_ValueDate),1)"
},
{
"Name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"Formula":"LEFT($e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode,1)"
}
]
}
The result would be:
{
"id":94,
"templateName":null,
"records":[
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"F",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"N",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"N",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"N",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"N",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D0",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"wetest",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"DEBIT",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":null,
"type":1,
"error":"String '090528' was not recognized as a valid DateTime."
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"N",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
"$e.BODY_BLOCK_SL_61_ValueDate":[
"String '090528' was not recognized as a valid DateTime."
]
}
}
]
}
In the result above, there is an error in the parsing and applying your formulas.
You can see how they are presented at field and record level.
If you want to avoid the error above you have to replace the formula for your $e.BODY_BLOCK_SL_61_ValueDate
In the case above the correct expressions shall be:
{ "Name": "$e.BODY_BLOCK_SL_61_ValueDate", "Formula": "DATE(2019,MONTH(TODATE($e.BODY_BLOCK_SL_61_ValueDate, "mmddyy")),1)"}
Processing without formula expressions
{
"Format":"Swift 950",
"Mappings":[
{
"Name":"$e.BODY_BLOCK_60_Amount",
"Formula":"$e.BODY_BLOCK_60_Amount"
},
{
"Name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"Formula":"$e.BODY_BLOCK_20_TransactionReferenceNumber"
},
{
"Name":"$e.BODY_BLOCK_25_IdentifierCode",
"Formula":"$e.BODY_BLOCK_25_IdentifierCode"
},
{
"Name":"$e.BODY_BLOCK_SL_61_DCMark",
"Formula":"$e.BODY_BLOCK_SL_61_DCMark"
},
{
"Name":"$e.BODY_BLOCK_SL_61_ValueDate",
"Formula":"$e.BODY_BLOCK_SL_61_ValueDate"
},
{
"Name":"$e.BODY_BLOCK_SL_61_Amount",
"Formula":"$e.BODY_BLOCK_SL_61_Amount"
},
{
"Name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"Formula":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode"
}
]
}
the result from processing the above is:
{
"id":95,
"templateName":null,
"records":[
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"3723495",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000C",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"1.2",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"FCHG",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"3723495",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000C",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"30.2",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"NCHK",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"3723495",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000C",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"250",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"NCHK",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"3723495",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000C",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"450",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S103",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"3723495",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000C",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"500",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"NCHK",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"3723495",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000C",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"1058.47",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S103",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"3723495",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000C",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"5000",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S200",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"202000076799",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"450",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"S103",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"202000076799",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"500",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"NCHK",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.BODY_BLOCK_60_Amount",
"displayName":"$e.BODY_BLOCK_60_Amount",
"value":"202000036469",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"displayName":"$e.BODY_BLOCK_20_TransactionReferenceNumber",
"value":"B1H29MS1D00A000E",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_25_IdentifierCode",
"displayName":"$e.BODY_BLOCK_25_IdentifierCode",
"value":"",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_DCMark",
"displayName":"$e.BODY_BLOCK_SL_61_DCMark",
"value":"D",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_ValueDate",
"displayName":"$e.BODY_BLOCK_SL_61_ValueDate",
"value":"090528",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_Amount",
"displayName":"$e.BODY_BLOCK_SL_61_Amount",
"value":"500",
"type":2,
"error":null
},
{
"name":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"displayName":"$e.BODY_BLOCK_SL_61_TransactionTypeIdentificaitonCode",
"value":"NTRF",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
}
]
}
Process CSV (Comma-separated values) files
This format doesn’t have any predefined fields.
You always have to put $e. prefix before the internal name in order to have a valid expression.
Example of a CSV file to process with BitCurb ETL Engine
1,Shane,Donalson,sdonalson0@xxx.com,Male,103.73.110.11,94583.49,2/5/1947
2,Edsel,Bastone,ebastone1@xxx.com,Male,165.106.120.79,62366.45,2/28/1994
3,Cad,Teasey,cteasey2@xxx.com,Male,162.41.209.228,76167.81,9/27/1947
4,Leia,Leggis,lleggis3@xxx.edu,Female,170.45.1.85,83253.43,2/22/1953
5,Gery,Hutson,ghutson4@xxx.com,Male,80.184.151.134,36131.61,4/1/1938
6,Madel,Ephson,mephson5@xxx.ru,Female,58.166.91.245,91896.48,6/13/2016
7,Rooney,Garci,rgarci6@xxx.com,Male,75.216.43.235,136290.38,8/1/1999
8,Franklyn,Cavey,fcavey7@xxx.org,Male,134.11.123.156,143438.28,11/23/1919
9,Hardy,Padginton,hpadginton8@xxx.com,Male,109.222.86.151,103133.85,2/26/1949
10,Elia,Glasser,eglasser9@xxx.com,Male,49.215.74.138,35761.34,6/28/1926
Example of ETL operation with CSV:
{
"Format":"CSV",
"Mappings":[
{
"Name":"$e.last_name",
"Formula":"CONCATENATE($e.Column2, \" \", $e.Column3)"
},
{
"Name":"$e.salary",
"Formula":"CEILING(TONUMBER($e.Column7))"
},
{
"Name":"$e.gender",
"Formula":"IF ($e.Column5 == \"Male\") THEN \"A MAN\" ELSE \"A WOMAN\""
},
{
"Name":"$e.birth_date",
"Formula":"YEAR(TODATE($e.Column8, \"m/d/yyyy\"))"
},
{
"Name":"$e.Id",
"Formula":"$e.Column1"
}
]
}
The result from above would be:
{
"id":107,
"templateName":null,
"records":[
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Shane Donalson",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"94584",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1947",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"1",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Edsel Bastone",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"62367",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1994",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"2",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Cad Teasey",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"76168",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1947",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"3",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Leia Leggis",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"83254",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A WOMAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1953",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"4",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Gery Hutson",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"36132",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1938",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"5",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Madel Ephson",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"91897",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A WOMAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"2016",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"6",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Rooney Garci",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"136291",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1999",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"7",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Franklyn Cavey",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"143439",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1919",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"8",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Hardy Padginton",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"103134",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1949",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"9",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
},
{
"fields":[
{
"name":"$e.last_name",
"displayName":"$e.last_name",
"value":"Elia Glasser",
"type":2,
"error":null
},
{
"name":"$e.salary",
"displayName":"$e.salary",
"value":"35762",
"type":6,
"error":null
},
{
"name":"$e.gender",
"displayName":"$e.gender",
"value":"A MAN",
"type":2,
"error":null
},
{
"name":"$e.birth_date",
"displayName":"$e.birth_date",
"value":"1926",
"type":3,
"error":null
},
{
"name":"$e.Id",
"displayName":"$e.Id",
"value":"10",
"type":2,
"error":null
}
],
"warnings":{
},
"errors":{
}
}
]
}
Please, note that when we consume the ETL Engine via API, we must internal name of the columns is always Column1, Column2, etc. Regardless if the file has a header or doesn’t have any.
ETL Result Definition
id integer |
unique identifier of the response. Can be used to track ETL operations via the reports endpoints | |
templateName string |
Template name if applicable. Null when consumed by the API | |
records JSON array |
[] | a collection of elements representing a single row (record) from the result |
Child attributes of records element | ||
fields JSON array |
a collection of fields representing a column in the result set | |
name string : The name of the field from your input in Mappings collection | ||
displayName string : When consumed by the API, same as name | ||
value : The value of the field after formula expression is applied (if any), or the value of the field from the file if no formula applied | ||
type: DateTime = 1, String = 2, Int32 = 3, Int64 = 4, Boolean = 5, Decimal = 6 |
||
error string : Error related to parsing the field or applying formula to the field if any | ||
warnings collection of elements |
Warnings from parsing or applying formula expressions per record level (row level). Applicable to SWIFT formats. { internal name: array of strings representing the warning} |
|
errors collection of elements |
Errors from parsing or applying formula expressions per record level (row level). Applicable to SWIFT formats. { internal name: array of strings representing the error } For example: { “$e.BODY_BLOCK_SL_61_ValueDate”:[ “String ‘090528’ was not recognized as a valid DateTime.” ] } |
{
"id":1,
"templateName":"",
"records":[
{
"fields":[
{
"name":"",
"displayName":"",
"value": "",
"type": "",
"error": ""
}
],
"warnings":{
},
"errors":{
}
}
]
}