NAV
cURL PHP Java Perl C#

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:///elink/process.xml
Autorizācija: HTTP Basic

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 ): debets, kredīts.
<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