Pieslēgšanas instrukcija
Vispārējā informācija
“Enterprise link” ir droša informatīvā piekļuve transakcijām, izmantojot XML vārteju, lai panāktu savienojumu ar ERP, grāmatvedības vai uzskaites sistēmām.
“Enterprise Link” aktivizēšana
Lai pieslēgtu “Enterprise Link” pakalpojumu, iestatījumos “iRietumu” izvēlieties kontu un uzklikšķiniet uz “Aktivēt”.
Ierakstiet piekariņa ģenerēto vienreiz izmantojamo paroli un uzklikšķiniet uz “Apstiprināt”.
Nokopējiet piekļuves identificētāju, kuru turpmāk izmantosiet savā pielikumā kā elektronisko caurlaidi (parametrs “ticket”).
Kā izsaukt servisu
Pieprasījuma formāts
Piemērs kods:
curl -d "function=<Function name>&rid=<Rietumu ID>&ticket=<Ticket>&refno=<Reference number>&language=<Language code>" https://<domain>/elink/process.xml -u "<Username>:<Password>"
<?php
/**
* Process Enterprise Link request
*
* make sure that curl.cainfo in php.ini is targeted to last CA certificates
* last extracted CA can be downloaded here: http://curl.haxx.se/ca/cacert.pem
*
* @param {Array} $arguments ASSOC array with arguments for request
* @param {String} $username
* @param {String} $password
* @return {String} XML content
*/
function process_enterprise_link( $arguments, $username, $password ) {
$ch = curl_init();
curl_setopt_array( $ch, array(
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_FRESH_CONNECT => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FORBID_REUSE => 1,
CURLOPT_TIMEOUT => 120,
CURLOPT_URL => "https://<domain>/elink/process.xml",
CURLOPT_POSTFIELDS => http_build_query($arguments),
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_USERPWD => $username . ":" . $password
) );
$result = curl_exec( $ch );
curl_close( $ch );
return $result;
}
?>
/**
* Enterprise Link class for Java 7
*
* MAVEN dependencies:
* org.apache.httpcomponents : httpclient : 4.4
*/
public class EnterpriseLink {
private static final String ELINK_HOST = "https://<domain>";
private static final String PROCESS_PATH = "/elink/process.xml";
private HttpHost host;
private String username;
private String password;
private HttpClient httpClient;
private HttpClientContext httpClientContext;
public EnterpriseLink(String username, String password) {
this.host = HttpHost.create(ELINK_HOST);
this.username = username;
this.password = password;
this.httpClient = HttpClientBuilder.create().build();
this.httpClientContext = createHttpClientContext();
}
private HttpClientContext createHttpClientContext() {
HttpClientContext httpClientContext = HttpClientContext.create();
AuthCache authCache = new BasicAuthCache();
authCache.put(host, new BasicScheme());
httpClientContext.setAuthCache(authCache);
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(new AuthScope(host,
AuthScope.ANY_REALM, AuthScope.ANY_SCHEME),
new UsernamePasswordCredentials(username, password));
httpClientContext.setCredentialsProvider(credentialsProvider);
return httpClientContext;
}
public String process(List<NameValuePair> params) throws ParseException,
IOException {
HttpPost httpPost = new HttpPost(PROCESS_PATH);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = httpClient.execute(host, httpPost,
httpClientContext);
return EntityUtils.toString(response.getEntity(), Consts.UTF_8);
}
}
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common;
# Process Enterprise Link request
#
# @param {Array} $arguments array with arguments for request
# @param {String} $username
# @param {String} $password
# @return {String} XML content
sub process_enterprise_link {
my ( $arguments, $username, $password ) = @_;
my $ua = LWP::UserAgent->new;
my $req = POST 'https://<domain>/elink/process.xml', $arguments;
$req->authorization_basic( $username, $password );
my $response = $ua->request( $req );
return $response->content();
}
/**
* Enterprise Link class for .NET 4.5
*
* Required references:
* System.Net.Http
*/
public class EnterpriseLink
{
private static readonly String ELINK_URL = "https://<domain>/elink/process.xml";
private HttpClient client;
public EnterpriseLink(String username, String password)
{
this.client = new HttpClient();
var authString = Convert.ToBase64String(Encoding.ASCII.GetBytes(username + ":" + password));
var authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", authString);
client.DefaultRequestHeaders.Authorization = authorization;
}
public async Task<String> Process(Dictionary<string, string> values)
{
var response = await client.PostAsync(ELINK_URL, new FormUrlEncodedContent(values));
var responseString = await response.Content.ReadAsStringAsync();
return responseString;
}
}
Adrese: https://
Autorizācija: HTTP Basic
- Lietotājs ― izmantojiet “Rietumu ID”.
- Parole ― parole tiek ģenerēta automātiski, izmantojot pirmās saņemtās elektroniskās caurlaides pirmos astoņus simbolus. “iRietumu” sistēmā sadaļā “Iestatījumi -> Enterprise Link” paroli var izmainīt.
Metode: Post
Atbildes formāts
Struktūra:
<response>
<code>0</code>
<error/>
<!-- tagu komplekts atkarībā no funkcijas -->
</response>
Formāts: XML
Atbildes kods | Apraksts |
---|---|
0 | Viss ir kārtībā |
1 | Sistēmas kļūda |
2 | Minētajā periodā ar minēto valūtu transakciju nav |
4 | Kļūda parametros |
6 | Kļūdaina elektroniskā caurlaide (parametrs “ticket”) |
Transakcijas pārtraukums = divas minūtes
Funkcija “Transakciju saraksts”
Funkcija tiek izmantota, lai saņemtu visas konta transakcijas.
Pieprasījuma parametri
Piemērs kods:
curl -d "function=Transactions&rid=123456&ticket=JGFIGDMG5965SF44557548958345975934&ccy=EUR&dateFrom=2012-01-26&dateTill=2012-02-28&language=RU&trnID=~bb~Y#~bbEUR~12387.76#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030097#~of~seq_no#~t1~2512150262#~t2~2524554564#~td~01112012#" https://<domain>/elink/process.xml -u "123456:qwerty"
<?php
$response = process_enterprise_link( array(
"function" => "Transactions",
"rid" => "123456",
"ticket" => "JGFIGDMG5965SF44557548958345975934",
"ccy" => "EUR",
"dateFrom" => "2012-01-26",
"dateTill" => "2012-02-28",
"language" => "RU",
"trnID" => "~bb~Y#~bbEUR~12387.76#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030097#~of~seq_no#~t1~2512150262#~t2~2524554564#~td~01112012#"
), "123456", "qwerty" );
?>
EnterpriseLink enterpriseLink = new EnterpriseLink("123456", "qwerty");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("function", "Transactions"));
params.add(new BasicNameValuePair("rid", "123456"));
params.add(new BasicNameValuePair("ticket", "JGFIGDMG5965SF44557548958345975934"));
params.add(new BasicNameValuePair("ccy", "EUR"));
params.add(new BasicNameValuePair("dateFrom", "2012-01-26"));
params.add(new BasicNameValuePair("dateTill", "2012-02-28"));
params.add(new BasicNameValuePair("language", "RU"));
params.add(new BasicNameValuePair("trnID", "~bb~Y#~bbEUR~12387.76#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030097#~of~seq_no#~t1~2512150262#~t2~2524554564#~td~01112012#"));
String result = enterpriseLink.process(params);
$response = process_enterprise_link( [
function => "Transactions",
rid => "123456",
ticket => "JGFIGDMG5965SF44557548958345975934",
ccy => "EUR",
dateFrom => "2012-01-26",
dateTill => "2012-02-28",
language => "RU",
trnID => "~bb~Y#~bbEUR~12387.76#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030097#~of~seq_no#~t1~2512150262#~t2~2524554564#~td~01112012#"
], '123456', 'qwerty' );
var enterpriseLink = new EnterpriseLink("123456", "qwerty");
var result = await enterpriseLink.Process(new Dictionary<string, string>
{
{ "function", "Transactions" },
{ "rid", "123456" },
{ "ticket", "JGFIGDMG5965SF44557548958345975934" },
{ "ccy", "EUR" },
{ "dateFrom", "2012-01-26" },
{ "dateTill", "2012-02-28" },
{ "language", "RU" },
{ "trnID", "~bb~Y#~bbEUR~12387.76#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030097#~of~seq_no#~t1~2512150262#~t2~2524554564#~td~01112012#" }
}
);
Parametrs | Apraksts |
---|---|
function* | Transactions |
rid* | Rietumu ID |
ticket* | Elektroniskā caurlaide, kas ir izsniegta, pieslēdzot kontu servisam “iRietumu”, piemēram, ticket=JGFIGDMG5965SF44557548958345975934 |
ccy | Valūtas kods atbilstoši standartam ISO-4217, piemēram, ccy=EUR |
dateFrom* | Izraksta perioda sākuma datums ISO yyyy-MM-dd formātā, piemēram, dateFrom=2012-01-26 |
dateTill* | Izraksta perioda beigu datums ISO yyyy-MM-dd formātā, piemēram, dateTill=2012-02-28 |
language* | Izraksta (piezīmju u. tml.) valoda, piemēram, language=RU. Pieejamie varianti: RU, EN, LV |
trnID* | Transakcijas ID, no kuras sākas nākamā lappuse (izmanto izrakstam pa lappusēm). Pirmajai lappusei parametrs netiek norādīts. |
* obligātie parametri
XML lauku apraksts
Atbildes piemērs:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<code>0</code>
<error/>
<transactions>
<transaction>
<uniqueID>EQ-28022013-HEAD-@@SC-7</uniqueID>
<trnID>~bb~Y#~bbEUR~12387.76#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030097#~of~seq_no#~t1~2512150262#~t2~2524554564#~td~01112012#</trnID>
<date>2012-11-01</date>
<refno>AAA2004</refno>
<docno/>
<benname/>
<benacc/>
<benid/>
<benbank/>
<benbankswift/>
<details/>
<narrative>Interest repay - fund.</narrative>
<amount>-9.82</amount>
<currency>EUR</currency>
<saldo>12387.76</saldo>
<trtype>YP</trtype>
<trntype>EQ_440</trntype>
<trndesc>Interest repay - fund.</trndesc>
<tcf>Y</tcf>
</transaction>
<transaction>
<uniqueID>EQ-28022013-HEAD-@@SC-8</uniqueID>
<trnID>~bb~Y#~bbEUR~12183.39#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030097#~of~seq_no#~t1~2512436843#~t2~2525131368#~td~12112012#</trnID>
<date>2012-11-12</date>
<refno>I5IC11129901953</refno>
<docno/>
<benname/>
<benacc/>
<benid/>
<benbank/>
<benbankswift/>
<details>6.97 LVL -- 10.00 EUR (0.697500000)</details>
<narrative>6.97 LVL -- 10.00 EUR (0.697500000)</narrative>
<amount>10.0</amount>
<currency>EUR</currency>
<saldo>12183.39</saldo>
<trtype>CONV</trtype>
<trntype>EQ_543</trntype>
<trndesc>Currency Exchange</trndesc>
<tcf>Y</tcf>
</transaction>
<transaction>
<uniqueID>EQ-28022013-HEAD-@@SC-9</uniqueID>
<trnID>~bb~Y#~bbLVL~2638.06#~cbd~03122012#~ctd~03122012#~fbd~31122000#~hd~05032005#~ls~2513030256#~of~seq_no#~t1~2512299603#~t2~2524860183#~td~07112012#</trnID>
<date>2012-11-07</date>
<refno>IVIC11079900909</refno>
<docno>11-1</docno>
<benname>ben name</benname>
<benacc>LV70RIKO000000000000</benacc>
<benid>111111-22222</benid>
<benbank>AS DNB BANKA</benbank>
<benbankswift>RIKOLV2X</benbankswift>
<details>konta papild.</details>
<narrative>59: /ID/ 111111-22222, ben name, Rez LV, Nr.LV70RIKO000000000000; 57: AS DNB BANKA, RIKOLV2X; 70: konta papild.;</narrative>
<amount>-100.0</amount>
<currency>LVL</currency>
<saldo>2638.06</saldo>
<trtype>OO</trtype>
<trntype>EQ_471</trntype>
<trndesc>External payment</trndesc>
<tcf>Y</tcf>
</transaction>
</transactions>
<more>false</more>
</response>
XML lauks | Apraksts |
---|---|
<trnID> | Unikālais transakcijas identificētājs |
<date> | Transakcijas datums |
<refno> | Transakcijas atsauces numurs |
<docno> | Klienta iestatītais dokumenta numurs |
<benname> | Saņēmēja nosaukums |
<benacc> | Saņēmēja konta numurs |
<benid> | Saņēmēja identificētājs |
<benbank> | Saņēmēja banka |
<benbankswift> | Saņēmēja bankas SWIFT kods |
<details> | Transakcijas nosaukums |
<amount> | Transakcijas summa. “-” norāda, ka tā ir debeta transakcija. |
<currency> | Transakcijas valūta |
<saldo> | Atlikums pēc transakcijas |
<trtype> | Darījuma kods |
<trndesc> | Darījuma koda atšifrējums |
<more> | Transakciju pastāvēšanas pazīme. Parametrs “true” liecina, ka nav saņemtas visas transakcijas un ir jāpieprasa turpinājums (norādot pēdējās saņemtās transakcijas identificētāju <trnID>). |
Funkcija “Izejošā maksājuma detaļas”
Funkcija tiek izmantota, lai saņemtu informāciju par noteiktu izejošo transakciju.
Pieprasījuma parametri
Piemērs kods:
curl -d "function=OutgoingPaymentDetails&rid=123456&ticket=JGFIGDMG5965SF44557548958345975934&refno=IVID05249900342&language=RU" https://<domain>/elink/process.xml -u "123456:qwerty"
<?php
$response = process_enterprise_link( array(
"function" => "OutgoingPaymentDetails",
"rid" => "123456",
"ticket" => "JGFIGDMG5965SF44557548958345975934",
"refno" => "IVID05249900342",
"language" => "RU"
), "123456", "qwerty" );
?>
EnterpriseLink enterpriseLink = new EnterpriseLink("123456", "qwerty");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("function", "OutgoingPaymentDetails"));
params.add(new BasicNameValuePair("rid", "123456"));
params.add(new BasicNameValuePair("ticket", "JGFIGDMG5965SF44557548958345975934"));
params.add(new BasicNameValuePair("refno", "IVID05249900342"));
params.add(new BasicNameValuePair("language", "RU"));
String result = enterpriseLink.process(params);
$response = process_enterprise_link( [
function => "OutgoingPaymentDetails",
rid => "123456",
ticket => "JGFIGDMG5965SF44557548958345975934",
refno => "IVID05249900342",
language => "RU"
], '123456', 'qwerty' );
var enterpriseLink = new EnterpriseLink("123456", "qwerty");
var result = await enterpriseLink.Process(new Dictionary<string, string>
{
{ "function", "OutgoingPaymentDetails" },
{ "rid", "123456" },
{ "ticket", "JGFIGDMG5965SF44557548958345975934" },
{ "refno", "IVID05249900342" },
{ "language", "RU" }
}
);
Parametrs | Apraksts |
---|---|
function* | OutgoingPaymentDetails |
rid* | Rietumu ID |
ticket* | Elektroniskā caurlaide, kas ir izsniegta, pieslēdzot kontu servisam “iRietumu”, piemēram, ticket=JGFIGDMG5965SF44557548958345975934. |
refno* | Transakcijas atsauces numurs |
language | Izraksta (piezīmju u. tml.) valoda, piemēram, language=RU. Pieejamie varianti: RU, EN, LV |
* obligātie parametri
XML lauku apraksts
Atbildes piemērs:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<code>0</code>
<error/>
<details>
<ref_no>IVID05249900342</ref_no>
<state_id>2</state_id>
<doc_number/>
<reg_date>2013-05-24T00:00:00</reg_date>
<reg_datetime>2013-05-24T16:04:58</reg_datetime>
<urgency>Standart</urgency>
<urgency_code>1</urgency_code>
<rem_acc>LV10RTMB0000000000000</rem_acc>
<rem_name>ABC Ltd.</rem_name>
<rem_addr>RĪGA LATVIA</rem_addr>
<rem_regno>123456789-0</rem_regno>
<rem_country>LV</rem_country>
<rem_res>RES</rem_res>
<pmnt_amount>1000.0</pmnt_amount>
<pmnt_ccy>AUD</pmnt_ccy>
<pmnt_value/>
<cor_name/>
<cor_addr/>
<cor_addr1/>
<cor_bic/>
<cor_eltype/>
<cor_el/>
<cor_country/>
<bbank_acc/>
<bbank_name>UBS AG</bbank_name>
<bbank_addr>ZURICH</bbank_addr>
<bbank_addr1>45, BAHNHOFSTRASSE</bbank_addr1>
<bbank_bic>UBSWCHZH80A</bbank_bic>
<bbank_country>CH</bbank_country>
<bbank_eltype/>
<bbank_el/>
<ben_name>ABC HOLDINGS LIMITED</ben_name>
<ben_addr>UNIT 88,19THFLOOR BASE</ben_addr>
<ben_addr1>200 DEF ROAD,Germany</ben_addr1>
<ben_acciban>CH5000111235FJ1234567</ben_acciban>
<ben_country>SZ</ben_country>
<ben_regno>123</ben_regno>
<ben_res>NONRES</ben_res>
<charge_type>BEN</charge_type>
<pmnt_details>test ALL FIELDS</pmnt_details>
<add_info>Поле Information to the Bank.</add_info>
<rietumuid>000000</rietumuid>
<charge_amnt>0.0</charge_amnt>
<charge_ccy/>
<amk_code>213</amk_code>
<tran_type_desc>Payment to another bank</tran_type_desc>
<lng>EN</lng>
<oper_type>Debit</oper_type>
<state_id_desc>Rejected</state_id_desc>
<cor_bank_acc/>
<oper_type_v>D</oper_type_v>
<pmnt_amount_text>one thousand, 00</pmnt_amount_text>
</details>
</response>
XML lauks | Apraksts |
---|---|
<ref_no> | Transakcijas atsauces numurs |
<state_id> | Transakcijas statuss * |
<doc_number> | Klienta iestatītais dokumenta numurs |
<reg_date> | Transakcijas reģistrācijas datums |
<reg_datetime> | Reģistrācijas datums un laiks |
<urgency> | Transakcijas steidzamība ** |
<urgency_code> | Steidzamības kods ** |
<rem_acc> | Nosūtītāja konts |
<rem_name> | Nosūtītāja nosaukums |
<rem_addr> | Nosūtītāja adrese |
<rem_regno> | Nosūtītāja reģistrācijas numurs |
<rem_country> | Nosūtītāja valsts |
<rem_res> | Vai nosūtītājs ir Latvijas rezidents? Pieejamie varianti: RES, NONRES |
<pmnt_amount> | Transakcijas summa |
<pmnt_ccy> | Transakcijas valūta |
<pmnt_value> | Valutēšanas datums |
<cor_name> | Korespondentbankas nosaukums |
<cor_addr> | Korespondentbankas adrese |
<cor_addr1> | |
<cor_bic> | Korespondentbankas SWIFT kods |
<cor_eltype> | Nacionālā koda tips |
<cor_el> | Nacionālais kods |
<cor_country> | Korespondentbankas valsts |
<bbank_acc> | Saņēmēja bankas konts |
<bbank_name> | Saņēmēja bankas nosaukums |
<bbank_addr> | Saņēmēja bankas adrese |
<bbank_addr1> | |
<bbank_bic> | Saņēmēja bankas SWIFT kods |
<bbank_country> | Saņēmēja bankas valsts |
<bbank_eltype> | Nacionālā koda tips |
<bbank_el> | Nacionālais kods |
<ben_name> | Saņēmēja nosaukums |
<ben_acciban> | Saņēmēja konts IBAN formātā |
<ben_addr> | Saņēmēja adrese |
<ben_addr1> | |
<ben_country> | Saņēmēja valsts |
<ben_regno> | Saņēmēja reģistrācijas numurs |
<ben_res> | Vai saņēmējs ir Latvijas rezidents? Pieejamie varianti: RES, NONRES |
<charge_type> | Komisijas tips *** |
<pmnt_details> | Rīkojuma detaļas |
<add_info> | Papildinformācija |
<rietumuid> | Rietumu ID |
<charge_amnt> | Komisijas summa. Rādītājs netiek nosūtīts atpakaļ. |
<charge_ccy> | Komisijas valūta. Rādītājs netiek nosūtīts atpakaļ. |
<amk_code> | Transakcijas AMK kods. Tiek izmantots, ja Latvijas rezidents pārskaita nerezidentam vairāk par EUR 5000. |
<tran_type_desc> | Transakcijas tipa apraksts |
<lng> | Pieprasījumā minētā valoda |
<oper_type> | Darījuma tips. Iespējamie varianti (valoda ir atkarīga no |
<state_id_desc> | Transakcijas statusa kods * |
<cor_bank_acc> | Saņēmēja bankas konts korespondentbankā |
<oper_type_v> | Darījuma tipa kods. Pieejamie varianti: D, C |
<pmnt_amount_text> | Transakcijas summas tekstuālais atšifrējums |
* - iespējamie transakciju statusa varianti
Statusa apraksts | Kods |
---|---|
Bankā | 0, 3, 4 |
Parakstīšanai | 20 |
Atlikts | 1 |
Atcelts | 2, 7 |
Nosūtīts | 5, 6 |
** - iespējamie steidzamības varianti
Steidzamības apraksts | Kods |
---|---|
Standarta | 1 |
Steidzams (Express) | 2 |
Ekonomiskais | 3 |
*** - iespējamie komisijas tipu varianti
Komisijas tips | Apraksts |
---|---|
OUR | Maksā maksātājs |
BEN | Maksā saņēmējs |
SHA | Tiek maksāts dalīti |