# README
Go API client for decta_api
Introduction
This is a documented guide that describes the process of DECTA card and token operations for both private and business clients. As a new or already experienced API user you will find in this documentation all necessary and required information to start using DECTA API and improve your experience with DECTA.
Authentication and Authorisation
Each request to DECTA API must be signed with a certificate that allows DECTA to identify API clients. This guarantees the authenticity of the request received from the client.
Authentication
The authentication process is executed only once for each client.
On successful authentication DECTA assigns a certificate to the client which must be used in every API request in the future.
To access a detailed description of the authentication process, choose Service specification at the top right corner or click here.
Authorisation
Each request must be signed using Jose specifications in particular - RFC7515. It is vital for users to follow the provided standard and use Base64url Encoding without Padding for token encoding.
Request with filters
Several requests support data filters. Filter syntax can be found below -
<requestFilter> ::= <filterName>=[eq|ne|gt|ge|lt|le]:<filterValue>
- Where:
- eq - equals
- ne - not equals
- gt - greater than
- ge - greater or equals than
- lt - less than
- le - less or equals than
- Example:
- cardState: \"eq:BLOCKED_BY_HOLDER\"
Changelog
Information about the latest DECTA API changes and improvements can be found here..Request examples
We recommend users follow the instructions in the next sections below and create the application step by step.
To understand the process of DECTA API requests better, we have prepared two basic API calls as examples.
POST /v1/api/cards/order request
For example:
- uri -
/v1/api/cards/order - body -
{\"card\":{\"accountOwnerRelation\":\"OWNER\",\"currencies\":[\"EUR\"],\"deliveryAddress\":{\"city\":\"Madona\",\"country\":\"LVA\",\"name\":\"Test\",\"phone\":9113,\"shipment\":\"STANDARD\",\"street\":\"62 Madona street\",\"surname\":\"TestS\",\"zipCode\":\"LV-1000\"},\"holder\":{\"currentAddress\":{\"city\":\"Riga\",\"country\":\"LVA\",\"street\":\"7 Street\",\"zipCode\":\"LV0000\"},\"document\":{\"birthDate\":\"1950-12-31\",\"countryCode\":\"EUR\",\"expiryDate\":\"2056-12-31\",\"issuingDate\":\"2016-12-31\",\"number\":\"TTHolder\",\"subtype\":\"RESIDENT_PERMIT_ID\",\"type\":\"DRIVING_LICENSE\"},\"email\":\"[email protected]\",\"language\":\"EN\",\"maidenName\":\"TestM\",\"mobilePhone\":\"12345678\",\"name\":\"TestS\",\"role\":\"OWNER\",\"surname\":\"TestS\",\"userDefinedField1\":\"2\"},\"passphrase\":\"test2pass\",\"priority\":\"URGENT\",\"productCode\":\"701\",\"supplementary\":\"false\"},\"externalId\":\"Private_New\",\"privateClient\":{\"comment\":\"Agreement num. 123143\",\"currentAddress\":{\"city\":\"RigaCurrent\",\"country\":\"LVA\",\"months\":4,\"street\":\"6 street street\",\"zipCode\":\"WScur1009\"},\"document\":{\"birthDate\":\"1950-12-31\",\"countryCode\":\"LVA\",\"expiryDate\":\"2099-12-31\",\"issuingDate\":\"1971-12-31\",\"number\":\"1234\",\"subtype\":\"NATIONAL_ID\",\"type\":\"ID_CARD\"},\"email\":\"email1234\",\"language\":\"en\",\"maidenName\":\"Test\",\"mobilePhone\":\"37128866694\",\"name\":\"Test\",\"pep\":\"NO\",\"surname\":\"PrivateBaseNew\",\"userDefinedField1\":\"2000666\"}}
Suppose we have:
- Private key -
308204BE020100300D06092A864886F70D0101010500048204A8308204A40201000282010100B73748751B973456931B380163CE168BF884B26B1D27FA6978ACCEF829DF2DBA5D2845ABE997E82531FFD1C22D5E9F1ED6672F6D75D6572B688AE24AB9ED5138D5B5AA484FA04CEC393DB84C833BDDF7507BA1F5DC59030BE6E0FAC16613FADF3D06123621C11FB8F64FE777B9D0308DCEDCBAF78EB76FDAA4151C96E48B68507FA254AEFE44F0C0D103CAFE2A4ADB676E2B4FE26DB4AD671B8F02E74FE4B7E36156F44AA7CCE39DB0879926CEE2EF43502C7F99A1A3DDE72ECAC39E83F7B6819F2C1B8606537D6A04A1D6CC1FF0044F00360EA2F899BD9D9C6D748B20E2EB17CF908D6117B6B5B97490F5D68DC2D039B11EB2D920B8CEE9EFF10D0408A69971020301000102820100584078D67003D5621E59EE103D52F7E9543C16F521863048BDA7FFC9E9E166D56E2A07E5570FA4F2C5B2C40714738F91FB1498F3D0DEFDFE1ACD4B53535BCCD3E39D2DF8C6E2202B692721AF39478D13A3E0E992D420CC26DF7F5F49E9319696117EEB26C7FB8E9C398923A5B80B6057EE5CC4729A7C2194DF948BC0E3358378F1E3381BB62FE98C9372BB6EBBC24E8670E80EF991173D6D6347ADF1F8C9B67920D88072978D025F16F50273EDA0F0AA6FABC6F9687259A21142FD1E5C3DE99EE949DF1E81C7E7CDA4DD806A5CE2105DDC0CF7A2274913971C234D04D7C577C76F2FAE75379A0582FFA0333A01A7BE29ECA203AD7E3E71271EDEFDC0069F684102818100E7C26736089B4FB37BE4873EB2A726BBCD9CA3A3F3EB6BAD1433127614ABC7E6763D118A4A8DB45BBE31A67A853A44BA21EDF50533ACD348A0A9C1F648EE510426ECC845C01185C6793E9D4866281B9C01AE8BA96D0897BCBB0F638696CD6935794506AA3EC14BAB1A7F68DDF70DA21C70249FAD3FE88AB4C6708691327E4BC302818100CA611446E3A9A1997D175BDEADDE02B5C09E3E76024741F2DAAEF8689CF5DCA1C5FA9AE8A6F2F09E837E9D181C5607374DFBAA53B02C3908DCFA1817DEF1797F64743218B1616B55125E618B45F11003BA94D89E357358BD54A1DA324D893FDD9C0B30428A770F410B061C011CDB541E344B4C01B17CB615A1DCAD1F5EEB96BB02818100E40750C9C75A18E73E053254AC2EEE5B6608B2B18433A4341D65CACA47B864ED0A7537A6DB87E56747114EFDC9CBF507368F0CBF5B82B638056C419D73509881FF528612AAD212CF9F47CE3507DE7A9BDAC3C442A5370924F6E0434A8F61F81C56FF65796859837C0C8C43BFF16E868C78827061643A070FAB17D82F508117450281804FE4A32C99138E4819A9EF0AA978CB7914E163A7129F2ED9C09AF255DA20F548A7EF96D7E190668D2D3BFEA856076031E50744E664D6106DFF4E7BD4709EC368173007D6D7AFADBF97D0CA9140BB39A73F312392D16707D13667EECB8CF071D5FA94302914A08BD5119507D9289B2D49FF3AFA7670AADAF70F3F1ED9138FCDA102818100E69108E3E83702F3258503C2FD0E9A34E76750CCE2A20AFDD58F3939351979ECC66373A2151AD313710B2EAFA192DF9F364791FA8473CE1CAE434A044AA8F557F99D756DF4373B5A3F2202ED299979F3C5B4AC1B93ABDB4157ED3901B723B671749DE9279D95759F122400DD5BF3B28F6A8A37383ADFAD9E5C5D49192B20EB43 - Signed by Decta certificate SHA256 Thumbprint base64Url encoded -
WOQEEyrcHaVobHMPORmuMe9iAC5gSI0TpXyIfA1lKI0
JWS preparing:
- JWS Header -
{\"x5t#S256\":\"WOQEEyrcHaVobHMPORmuMe9iAC5gSI0TpXyIfA1lKI0\",\"alg\":\"RS256\"} - JWS Payload-
/v1/api/cards/order{\"card\":{\"accountOwnerRelation\":\"OWNER\",\"currencies\":[\"EUR\"],\"deliveryAddress\":{\"city\":\"Madona\",\"country\":\"LVA\",\"name\":\"Test\",\"phone\":9113,\"shipment\":\"STANDARD\",\"street\":\"62 Madona street\",\"surname\":\"TestS\",\"zipCode\":\"LV-1000\"},\"holder\":{\"currentAddress\":{\"city\":\"Riga\",\"country\":\"LVA\",\"street\":\"7 Street\",\"zipCode\":\"LV0000\"},\"document\":{\"birthDate\":\"1950-12-31\",\"countryCode\":\"EUR\",\"expiryDate\":\"2056-12-31\",\"issuingDate\":\"2016-12-31\",\"number\":\"TTHolder\",\"subtype\":\"RESIDENT_PERMIT_ID\",\"type\":\"DRIVING_LICENSE\"},\"email\":\"[email protected]\",\"language\":\"EN\",\"maidenName\":\"TestM\",\"mobilePhone\":\"12345678\",\"name\":\"TestS\",\"role\":\"OWNER\",\"surname\":\"TestS\",\"userDefinedField1\":\"2\"},\"passphrase\":\"test2pass\",\"priority\":\"URGENT\",\"productCode\":\"701\",\"supplementary\":\"false\"},\"externalId\":\"Private_New\",\"privateClient\":{\"comment\":\"Agreement num. 123143\",\"currentAddress\":{\"city\":\"RigaCurrent\",\"country\":\"LVA\",\"months\":4,\"street\":\"6 street street\",\"zipCode\":\"WScur1009\"},\"document\":{\"birthDate\":\"1950-12-31\",\"countryCode\":\"LVA\",\"expiryDate\":\"2099-12-31\",\"issuingDate\":\"1971-12-31\",\"number\":\"1234\",\"subtype\":\"NATIONAL_ID\",\"type\":\"ID_CARD\"},\"email\":\"email1234\",\"language\":\"en\",\"maidenName\":\"Test\",\"mobilePhone\":\"37128866694\",\"name\":\"Test\",\"pep\":\"NO\",\"surname\":\"PrivateBaseNew\",\"userDefinedField1\":\"2000666\"}}
JWS signing result:
- Token-Header (thumbprint encoded using Base64url Encoding without Padding) -
eyJhbGciOiJSUzI1NiIsIng1dCNTMjU2IjoiV09RRUV5cmNIYVZvYkhNUE9SbXVNZTlpQUM1Z1NJMFRwWHlJZkExbEtJMCJ9 - Token-body (payload encoded using Base64url Encoding without Padding) -
eyJhbGciOiJSUzI1NiIsIng1dCNTMjU2IjoiV09RRUV5cmNIYVZvYkhNUE9SbXVNZTlpQUM1Z1NJMFRwWHlJZkExbEtJMCJ9.L3YxL2FwaS9jYXJkcy9vcmRlcnsiY2FyZCI6eyJhY2NvdW50T3duZXJSZWxhdGlvbiI6Ik9XTkVSIiwiY3VycmVuY2llcyI6WyJFVVIiXSwiZGVsaXZlcnlBZGRyZXNzIjp7ImNpdHkiOiJNYWRvbmEiLCJjb3VudHJ5IjoiTFZBIiwibmFtZSI6IlRlc3QiLCJwaG9uZSI6OTExMywic2hpcG1lbnQiOiJTVEFOREFSRCIsInN0cmVldCI6IjYyIE1hZG9uYSBzdHJlZXQiLCJzdXJuYW1lIjoiVGVzdFMiLCJ6aXBDb2RlIjoiTFYtMTAwMCJ9LCJob2xkZXIiOnsiY3VycmVudEFkZHJlc3MiOnsiY2l0eSI6IlJpZ2EiLCJjb3VudHJ5IjoiTFZBIiwic3RyZWV0IjoiNyBTdHJlZXQiLCJ6aXBDb2RlIjoiTFYwMDAwIn0sImRvY3VtZW50Ijp7ImJpcnRoRGF0ZSI6IjE5NTAtMTItMzEiLCJjb3VudHJ5Q29kZSI6IkVVUiIsImV4cGlyeURhdGUiOiIyMDU2LTEyLTMxIiwiaXNzdWluZ0RhdGUiOiIyMDE2LTEyLTMxIiwibnVtYmVyIjoiVFRIb2xkZXIiLCJzdWJ0eXBlIjoiUkVTSURFTlRfUEVSTUlUX0lEIiwidHlwZSI6IkRSSVZJTkdfTElDRU5TRSJ9LCJlbWFpbCI6Im9ob2xkZXJAZGVjdGEuY29tIiwibGFuZ3VhZ2UiOiJFTiIsIm1haWRlbk5hbWUiOiJUZXN0TSIsIm1vYmlsZVBob25lIjoiMTIzNDU2NzgiLCJuYW1lIjoiVGVzdFMiLCJyb2xlIjoiT1dORVIiLCJzdXJuYW1lIjoiVGVzdFMiLCJ1c2VyRGVmaW5lZEZpZWxkMSI6IjIifSwicGFzc3BocmFzZSI6InRlc3QycGFzcyIsInByaW9yaXR5IjoiVVJHRU5UIiwicHJvZHVjdENvZGUiOiI3MDEiLCJzdXBwbGVtZW50YXJ5IjoiZmFsc2UifSwiZXh0ZXJuYWxJZCI6IlByaXZhdGVfTmV3IiwicHJpdmF0ZUNsaWVudCI6eyJjb21tZW50IjoiQWdyZWVtZW50IG51bS4gMTIzMTQzIiwiY3VycmVudEFkZHJlc3MiOnsiY2l0eSI6IlJpZ2FDdXJyZW50IiwiY291bnRyeSI6IkxWQSIsIm1vbnRocyI6NCwic3RyZWV0IjoiNiBzdHJlZXQgc3RyZWV0IiwiemlwQ29kZSI6IldTY3VyMTAwOSJ9LCJkb2N1bWVudCI6eyJiaXJ0aERhdGUiOiIxOTUwLTEyLTMxIiwiY291bnRyeUNvZGUiOiJMVkEiLCJleHBpcnlEYXRlIjoiMjA5OS0xMi0zMSIsImlzc3VpbmdEYXRlIjoiMTk3MS0xMi0zMSIsIm51bWJlciI6IjEyMzQiLCJzdWJ0eXBlIjoiTkFUSU9OQUxfSUQiLCJ0eXBlIjoiSURfQ0FSRCJ9LCJlbWFpbCI6ImVtYWlsMTMwIiwibGFuZ3VhZ2UiOiJlbiIsIm1haWRlbk5hbWUiOiJUZXN0IiwibW9iaWxlUGhvbmUiOiIzNzEyODg2NjY5NCIsIm5hbWUiOiJUZXN0IiwicGVwIjoiTk8iLCJzdXJuYW1lIjoiUHJpdmF0ZUJhc2VOZXciLCJ1c2VyRGVmaW5lZEZpZWxkMSI6IjIwMDA2NjYifX0.Ks767mp1eA-e1y27GpSmLBhKLud8e96bgYPUpIIlYq5ybeKZ2-WwJsExIIcrnIixaev0ibZ3RrHueKl_uhdF4bVNLiCo8EU2sDnK16e5Z9NL1lS4KZI9WUZHhCIzYJnljdBbHiISSknjdsw3WcvGk6bAYj93U0WplvFxa5lk6Gn2T0lkzujUhJXSHkbuZ541rhwwyztndFbUW07vuTCQ-z_gZuRz8dRbvSnAl0aZdeNWBj0PH3r1GOMG_SR_hpyrf0oEItFGj1ASdOfQjNH78dcMIzle9qh4NzLX8voFTs3u58ktfdK1HhcScumtqWDfVciE7KCBCEpVbpJB9fbiTQ - token-signature (using encoded token header + encoded JWS Payload separated with a \".\" and signed with the private key) -
emSdpR8owrjpCt0byLf6OSunFEI8wDSC2jgAaSTLVq8ojNZAJskNCdk3bk-XjZhFo0xxgODGrbSjo3CjvJN3jmnSqt1Leq6r4SM-eXxLwHAv9Nmkj-E45JA2sd6MGovmmaQ1if6K5CIIqEXi6pZoohLLslyDTsdTBOb1AQ8eKArMyOhdz6dxBX8RKSATw5FhnVyeshJAhpB5sFopPk97aPkJffl2PXC7CRo14E85icaFUvWQT1MrRNs0XMRBlwatthSYNQvIHq8ahzh3j0XnomgPOdXBZe3soYUaHJs_ZT0JVq8dADNVYIOHux5weB_1nNIC9iRDTbjXLFZdyhZF6Q
GET /v1/api/cards request
Important - when including query parameters into any of GET requests, they should be preceded by a \"?\" after the URI in the JWS Payload and combined with \"&\", if multiple are present.
For example:
- uri -
/v1/api/cards - query parameters:
cardAccount: \"eq:00000000\",
cardName: \"eq:Test Test\",
count: \"1000\",
product: \"eq:999\" - Resulting URI and query parameters (token-body):
/v1/api/cards?cardAccount=eq:00000000&cardName=eq:Test Test&count=1000&product=eq:999
Suppose we have:
- Private key -
308204BE020100300D06092A864886F70D0101010500048204A8308204A40201000282010100B73748751B973456931B380163CE168BF884B26B1D27FA6978ACCEF829DF2DBA5D2845ABE997E82531FFD1C22D5E9F1ED6672F6D75D6572B688AE24AB9ED5138D5B5AA484FA04CEC393DB84C833BDDF7507BA1F5DC59030BE6E0FAC16613FADF3D06123621C11FB8F64FE777B9D0308DCEDCBAF78EB76FDAA4151C96E48B68507FA254AEFE44F0C0D103CAFE2A4ADB676E2B4FE26DB4AD671B8F02E74FE4B7E36156F44AA7CCE39DB0879926CEE2EF43502C7F99A1A3DDE72ECAC39E83F7B6819F2C1B8606537D6A04A1D6CC1FF0044F00360EA2F899BD9D9C6D748B20E2EB17CF908D6117B6B5B97490F5D68DC2D039B11EB2D920B8CEE9EFF10D0408A69971020301000102820100584078D67003D5621E59EE103D52F7E9543C16F521863048BDA7FFC9E9E166D56E2A07E5570FA4F2C5B2C40714738F91FB1498F3D0DEFDFE1ACD4B53535BCCD3E39D2DF8C6E2202B692721AF39478D13A3E0E992D420CC26DF7F5F49E9319696117EEB26C7FB8E9C398923A5B80B6057EE5CC4729A7C2194DF948BC0E3358378F1E3381BB62FE98C9372BB6EBBC24E8670E80EF991173D6D6347ADF1F8C9B67920D88072978D025F16F50273EDA0F0AA6FABC6F9687259A21142FD1E5C3DE99EE949DF1E81C7E7CDA4DD806A5CE2105DDC0CF7A2274913971C234D04D7C577C76F2FAE75379A0582FFA0333A01A7BE29ECA203AD7E3E71271EDEFDC0069F684102818100E7C26736089B4FB37BE4873EB2A726BBCD9CA3A3F3EB6BAD1433127614ABC7E6763D118A4A8DB45BBE31A67A853A44BA21EDF50533ACD348A0A9C1F648EE510426ECC845C01185C6793E9D4866281B9C01AE8BA96D0897BCBB0F638696CD6935794506AA3EC14BAB1A7F68DDF70DA21C70249FAD3FE88AB4C6708691327E4BC302818100CA611446E3A9A1997D175BDEADDE02B5C09E3E76024741F2DAAEF8689CF5DCA1C5FA9AE8A6F2F09E837E9D181C5607374DFBAA53B02C3908DCFA1817DEF1797F64743218B1616B55125E618B45F11003BA94D89E357358BD54A1DA324D893FDD9C0B30428A770F410B061C011CDB541E344B4C01B17CB615A1DCAD1F5EEB96BB02818100E40750C9C75A18E73E053254AC2EEE5B6608B2B18433A4341D65CACA47B864ED0A7537A6DB87E56747114EFDC9CBF507368F0CBF5B82B638056C419D73509881FF528612AAD212CF9F47CE3507DE7A9BDAC3C442A5370924F6E0434A8F61F81C56FF65796859837C0C8C43BFF16E868C78827061643A070FAB17D82F508117450281804FE4A32C99138E4819A9EF0AA978CB7914E163A7129F2ED9C09AF255DA20F548A - Signed by Decta certificate SHA256 Thumbprint base64Url encoded -
WOQEEyrcHaVobHMPORmuMe9iAC5gSI0TpXyIfA1lKI0
JWS preparing:
- JWS Header -
{\"x5t#S256\":\"WOQEEyrcHaVobHMPORmuMe9iAC5gSI0TpXyIfA1lKI0\",\"alg\":\"RS256\"} - JWS Payload -
/v1/api/cardscardAccount=eq:00000000&cardName=eq:Test Test&count=1000&product=eq:999
JWS signing result:
- Token-Header (thumbprint encoded using Base64url Encoding without Padding) -
eyJhbGciOiJSUzI1NiIsIng1dCNTMjU2IjoiV09RRUV5cmNIYVZvYkhNUE9SbXVNZTlpQUM1Z1NJMFRwWHlJZkExbEtJMCJ9 - Token-body (payload encoded using Base64url Encoding without Padding) -
L3YxL2FwaS9jYXJkc2NhcmRBY2NvdW50PWVxOjAwMDAwMDAwJmNhcmROYW1lPWVxOlRlc3QgVGVzdCZjb3VudD0xMDAwJnByb2R1Y3Q9ZXE6OTk5.A2wnCqLNRQi81pzpVvTKDXI4GTMWZ-fjxEt7usuuVVh7BGcEEvRZ4Giy-mLU1e4jBsH5QR6fGT4jLOuTQ_4ItDChH5IBJNHDGTDBoXNNWYFrZS5bgFdtt7--U9i-jPsGySue_iT87Vy8ReJ147mberWN8S18u630gCamhdMdAwPmxIaD_4l1YSKHt29Z_5bK_-uvMIiLrV2ncqRZ_SCnna-GwCceTSa8IKn4uHqb6qngIJYxucWHhye-h-f26KGdhzoTbwz-2u90zNZ0pB3NESclQnmfdKbj8CzY-8Chr9GrAx4p4JLXh12rVGWUTojfsW2rzVgV_H3aw-bCDKVt1g - token-signature (using encoded token header + encoded JWS Payload separated with a \".\" and signed with the private key) -
A2wnCqLNRQi81pzpVvTKDXI4GTMWZ-fjxEt7usuuVVh7BGcEEvRZ4Giy-mLU1e4jBsH5QR6fGT4jLOuTQ_4ItDChH5IBJNHDGTDBoXNNWYFrZS5bgFdtt7--U9i-jPsGySue_iT87Vy8ReJ147mberWN8S18u630gCamhdMdAwPmxIaD_4l1YSKHt29Z_5bK_-uvMIiLrV2ncqRZ_SCnna-GwCceTSa8IKn4uHqb6qngIJYxucWHhye-h-f26KGdhzoTbwz-2u90zNZ0pB3NESclQnmfdKbj8CzY-8Chr9GrAx4p4JLXh12rVGWUTojfsW2rzVgV_H3aw-bCDKVt1g
If you have further questions regarding DECTA API, please contact our DECTA Support Team -
Overview
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: 2.11
- Package version: 1.0.0
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://decta.atlassian.net/servicedesk/customer/portal/2
Installation
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import decta_api "github.com/GIT_USER_ID/GIT_REPO_ID"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Configuration of Server URL
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
Select Server Configuration
For using other server than the one defined on index 0 set context value decta_api.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), decta_api.ContextServerIndex, 1)
Templated Server URL
Templated server URL is formatted using default variables from configuration or from context value decta_api.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), decta_api.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
URLs Configuration per Operation
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using decta_api.ContextOperationServerIndices
and decta_api.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), decta_api.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), decta_api.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
Documentation for API Endpoints
All URIs are relative to https://localhost:8443
Class | Method | HTTP request | Description |
---|---|---|---|
AccountsAPI | GetTransactionsQueueInfo | Get /v1/api/accounts/{cardAccount}/transactions-queue | Get account transactions and commissions in queue |
AuthorizationsAPI | GetHoldsList | Get /v1/api/cards/{ppan}/holds | Get card authorizations |
CardOrderAPI | GetOrdersList | Get /v1/api/orders | Order status |
CardOrderAPI | OrderCard | Post /v1/api/cards/order | Order card |
CardOrderAPI | OrderGiftCard | Post /v1/api/cards/order-gift-card | Create gift cards |
CardsAPI | AssignPin | Post /v1/api/cards/{ppan}/assign-pin | Change PIN code |
CardsAPI | GetCardData1 | Get /v1/api/cards/{ppan}/card-data1 | Get sensitive card information 1 |
CardsAPI | GetCardData2 | Get /v1/api/cards/{ppan}/card-data2 | Get sensitive card information 2 |
CardsAPI | GetCardData3 | Get /v1/api/cards/{ppan}/card-data3 | Get sensitive card information for tokenization-3 |
CardsAPI | GetCardData4 | Get /v1/api/cards/{ppan}/card-data4 | Get sensitive card information for tokenization-4 |
CardsAPI | GetCardData5 | Get /v1/api/cards/{ppan}/card-data5 | Get sensitive card information 5 |
CardsAPI | GetInfo | Get /v1/api/cards/{ppan} | Get card information |
CardsAPI | GetList | Get /v1/api/cards | Search cards |
CardsAPI | GetTspSecret | Get /v1/api/cards/{ppan}/otp-secret | Get OTP secret for tokenization |
CardsAPI | RenewCard | Post /v1/api/cards/{ppan}/renew | Renew card |
CardsAPI | ReplaceCard | Post /v1/api/cards/{ppan}/replace | Replace card |
CardsAPI | UpdateCardUserDefinedFields | Patch /v1/api/cards/{ppan}/user-defined-fields | Change card user defined fields |
CardsAPI | UpdateState | Patch /v1/api/cards/{ppan}/state | Change card status |
ClientsAPI | ChangeDeliveryAddress | Patch /v1/api/cards/{ppan}/delivery-address | Change clients delivery address |
ClientsAPI | GetClient | Get /v1/api/clients/{clientId} | Search client by ID |
ClientsAPI | GetClients | Get /v1/api/clients | Get client list |
ClientsAPI | UpdateClientAddress | Patch /v1/api/clients/{clientId}/address | Change client address fields |
ClientsAPI | UpdatePassphrase | Put /v1/api/cards/{ppan}/passphrase | Change card passphrase |
ClientsAPI | UpdatePhone | Put /v1/api/clients/{clientId}/phone | Change clients phone number |
DectaSecureAPI | ResetDevice | Post /v1/api/decta-secure/{username}/resetdevice | Reset Decta secure device |
DectaSecureAPI | UserInfo | Get /v1/api/decta-secure/{username} | Check Decta secure info |
LimitsAPI | EditLimits | Patch /v1/api/limits/{ppan} | Change limits data by card |
LimitsAPI | GetLimits | Get /v1/api/limits/{ppan} | Get limits data by card. |
LimitsAPI | GetLimitsRefData | Get /v1/api/limits | Get limits reference data |
RemindersAPI | GetPinTryCounter | Get /v1/api/cards/{ppan}/pin-try-counter | Receive count of PIN code entry tries |
RemindersAPI | RemindPanCvv | Get /v1/api/cards/{ppan}/pan-cvv | Remind card number |
RemindersAPI | RemindPin | Get /v1/api/cards/{ppan}/pin | Remind PIN code |
RemindersAPI | ResetPinTryCounter | Post /v1/api/cards/{ppan}/pin-try-counter | Reset count of PIN code entry tries |
TokenAPI | ChangeTokenStatus | Patch /v1/api/tokens/{tokenNumber}/state | Change tokens status |
TokenAPI | GetApplePayReferenceData | Get /v1/api/tokens/{ppan}/applepay-reference-data | Get ApplePay reference data |
TokenAPI | GetGooglePayReferenceData | Get /v1/api/tokens/{ppan}/googlepay-reference-data | Get GooglePay reference data |
TokenAPI | GetPanReferenceData | Get /v1/api/tokens/{ppan}/pan-reference-data | |
TokenAPI | GetTokenReferenceData | Get /v1/api/tokens/{ppan}/token-reference-data | |
TokenAPI | GetTokens | Get /v1/api/tokens/{ppan} | Get card token |
TransactionsAPI | CardTransactions | Get /v1/api/cards/{ppan}/transactions | Get card transactions |
TransactionsAPI | DoTransaction | Post /v1/api/cards/{ppan}/transactions | Process card transaction |
Documentation For Models
- Address
- Amount
- ApiError
- Attachments
- Beneficiary
- BusinessClient
- BusinessClientInfo
- CardAccountCurrencyInfo
- CardAccountInfo
- CardData1ApiDto
- CardData2ApiDto
- CardData3
- CardData3HolderApiDto
- CardData4
- CardInfo
- CardInfoDataArray
- CardOrder
- CardPreferences
- CardPreferencesGiftCardApiDto
- CardRenewInfo
- CardUserDefinedFields
- Cardholder
- ClientAddress
- ClientInfo
- ClientInfoDataArray
- Contact
- Data
- Data4
- DataArray
- DateFilter
- DateTimeFilter
- DectaSecureDeviceDto
- DectaSecureUserDto
- DectaSecureUserInfo
- DeliveryAddress
- DeliveryAddressGiftCardApiDto
- Document
- Fee
- File
- GiftCardOrder
- GiftOrderCardResponse
- HoldInfo
- HoldsDataArray
- Limit
- LimitValues
- LimitsData
- Merchant
- Order
- OrderCardResponse
- PanReferenceData
- PassphraseValue
- PhoneValue
- PinAssign
- PinTryCounterInfo
- PinTryReset
- PrivateClient
- PrivateClientGiftCardApiDto
- RegistrationAddress
- RegistrationAddressGiftCardApiDto
- StatusChange
- TemplateApiDto
- Token
- TokenInfo
- TokenReferenceData
- TokenStatusChange
- Transaction
- TransactionInfo
- TransactionInfoDataArray
- TransactionsQueueInfo
- TspSecret
Documentation For Authorization
Endpoints do not require authorization.
Documentation for Utility Methods
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime