Rivile API (web servisai)

Rivile API (web servisai) - tai web servisų pagalba saugi prieiga prie Jūsų duomenų bazės iš išorinių sistemų tokių kaip elektroninė parduotuvė ar pan.

Norint naudotis API webservisais turite užsakyti paslaugą bei gauti vartotojo prisijungimo unikalų kodą. Dėl paslaugos užsakymo ir detalių, kreipkitės į Rivile

Reikalavimai

API yra skirta Rivile GAMA turintiems klientams:

  • Rivile GAMA versija ne mažesnė nei 109.0
  • SQL serverio reikalavimai:
    • arba Sybase SQL versija ne mažesnė nei 11.0
    • arba SQL Server ne mažesnė nei SQL2008

Bendra informacija

Prisijungimui prie webserviso(wsdl) naudoti kelią:

http://manorivile.lt/WEBSERVICE_RIV_WEB/awws/webservice.awws?wsdl

Galimi web serviso metodai:

http://manorivile.lt/WEBSERVICE_RIV_WEB/

Metodų sąrašas

Metodas Trumpas aprašymas
EDIT_I06 Pirkimų/pardavimų dokumento koregavimas.
EDIT_I06_FULL Naujo pirkimo/pardavimo dokumento sukūrimas (kartu su detaliomis eilutėmis).
EDIT_I07 Pirkimų/pardavimų dokumento detalios informacijos koregavimas.
EDIT_I08 Pirkimų/pardavimų dokumento atidėjimų koregavimas.
EDIT_I09 Vidinių dokumentų koregavimas.
EDIT_I10 Vidinio dokumento detalios informacijos koregavimas.
EDIT_I11 Atsargų operacijų dokumento koregavimas
EDIT_I12 Atsargų operacijos detalios informacijos koregavimas
EDIT_I13 Pirkimų/pardavimų dokumento apmokėjimo koregavimas.
EDIT_I33 Prekės/paslaugos kainos padalinyje koregavimas.
EDIT_I64 Lojalumo taškų koregavimas.
EDIT_N06 Objekto kortelės koregavimas.
EDIT_N08 Kliento kortelės koregavimas.
EDIT_N13 Prekės akcijų įrašų koregavimas
EDIT_N17 Prekės/paslaugos kortelės koregavimas.
EDIT_N26 Prekės/paslaugos komponentės kortelės koregavimas.
EDIT_N27 Įpokavimo koeficientų koregavimas.
EDIT_N32 Kainynų ABC koregavimas.
EDIT_N33 Papildomos kliento informacijos(pristatymo informacija, bankinių sąskaitų informacija ir kita) koregavimas.
EDIT_N37 Prekės/paslaugos matavimo vnt. Koregavimas.
EDIT_N40 Prekės/paslaugos alternatyvaus barkodo koregavimas.
EDIT_N47 Prekės/paslaugos padalinių koregavimas.
EDIT_N64 Lojalumo kortelės koregavimas.
EDIT_N87 Prekės tiekėjo prekių kodų koregavimas.
GET_I04_LIST Įplaukų/išmokų registras.
GET_I06_DEBT Neperkeltų pirkimų/pardavimų dokumentų skolos.
GET_I06_LIST Pirkimų/pardavimų dokumentų sąrašas.
GET_I09_LIST Vidinių operacijų sąrašas.
GET_I11_LIST Atsargų operacijų sąrašas
GET_I17_LIST Prekių likučių sąrašas.
GET_I33_LIST Prekių kainų sąrašas.
GET_I44_LIST Detali skolų informacija.
GET_I64_LIST Lojalumo taškų sąrašas.
GET_N06_LIST Objektų sąrašas.
GET_N08_LIST Klientų sąrašas.
GET_N13_LIST Prekių akcijų sąrašas.
GET_N17_LIST Prekių/paslaugų sąrašas.
GET_N26_LIST Sudėtinių prekių komponenčių sąrašas.
GET_N27_LIST Įpokavimo koeficientų sąrašas.
GET_N31_LIST Nuolaidų lentelės.
GET_N32_LIST Prekių kainynų sąrašas.
GET_N35_LIST Logistikos sąrašas.
GET_N37_LIST Prekės informacija pagal barkodą, bendra prekių informacija.
GET_N47_LIST Prekės padalinių informacija.
GET_N64_LIST Lojalumo kortelių sąrašas.
GET_N87_LIST Kliento prekių sąrašas.
GET_PRICE Prekės/paslaugos/kodo kaina.
GET_T03_LIST Suminių skolų informacija.
GET_USER_PROC Paleidžia papildomas vartotojo procedūras.
PDF_INVOICE Pdf dokumentas base64 formate.

GET metodai

GET metodų parametrai

GET_xxx_LIST metodai naudojami tik registrų ar operacijų ištraukimui. Visiems GET_xxx_LIST metodams naudojami parametrai:

Parametras Aprašymas
kodas Prisijungimo unikalus kodas suteiktas užsakant žiniatinklio prieigos paslaugą
List_type Sąrašo tipas:
H - sąrašas tik antraštės informacija, be detalių eilučių
A arba bet koks kitas simbolis ar tarpas - sąrašas su visa susijusia informacija
where_condition Filtravimo sąlyga, priklausomai kokia reikiama ištraukti duomenys. T-SQL tipo where sąlygos užklausa nenurodant pačio where tag'o.
Lentelių laukų pagal kurias galima filtruoti atitinkamai pagal xxx lentelės struktūrą

Sąraše su daugiau nei 1 įrašu informacija visada grąžinama surūšiuota pagal atitinkamos lentelės raktą (Primary Key)

GET metodų apribojima maksimum 100 įrašų, todėl norint gauti visą sąrašą, turite naudoti filtrus,kurie grąžins rezultatą „porcijomis“ per kelis kartus, filtruojant pagal paskutinio gauto įrašo rakto reikšmę.

GET metodų pavyzdžiai

HTML:

GET /WEBSERVICE_RIV_WEB/awws/webservice.awws HTTP/1.1
Host: manorivile.lt
Content-Type: text/xml
SOAPAction: urn:webservice/GET_N08_LIST

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <kodas>wt05AEQGuo3Oi6S5IELg5Z</kodas> 
      <List_type>H</List_type>
      <where_condition>N08_IM_KODAS='121411842'</where_condition> 
   </soapenv:Body>
</soapenv:Envelope>

PHP:

<?php

$request = new HttpRequest();
$request->setUrl('https://manorivile.lt/WEBSERVICE_RIV_WEB/awws/webservice.awws');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Connection' => 'keep-alive',
  'Content-Length' => '297',
  'Accept-Encoding' => 'gzip, deflate',
  'Host' => 'manorivile.lt',
  'Cache-Control' => 'no-cache',
  'Accept' => '*/*',
  'SOAPAction' => 'urn:webservice/GET_N08_LIST',
  'Content-Type' => 'text/xml'
));

$request->setBody('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <kodas>wt05AEQGuo3Oi6S5IELg5Z</kodas> 
      <List_type>H</List_type>
      <where_condition>N08_IM_KODAS='121411842'</where_condition> 
   </soapenv:Body>
</soapenv:Envelope>');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}

GET metodų rezultatai

GET_xxx_LIST rezultato (Response) turinio pvz:

<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <N08>
        <N08_KODAS_KS>121411842 </N08_KODAS_KS>
        <N08_RUSIS>2</N08_RUSIS>
        <N08_PVM_KODAS>LT214118411 </N08_PVM_KODAS>
        <N08_IM_KODAS>121411842 </N08_IM_KODAS>
        <N08_PAV>UAB "RIVILĖ" </N08_PAV>
        <.....>
    </N08>
</RET_DOK>

GET_xxx_LIST klaidos (Error) atvejai

Esant apdorotai klaidai grąžinamas XML rezultatas su ERROR elementu bei atitinkamos klaidos pranešimu, pvz:

<?xml version='1.0'?>
<RET_DOK>
    <ERROR>Nėra tokio įrašo</ERROR>
</RET_DOK>

Esant klaidingai suformuotai T-SQL užklausai XML rezultatas gali būti atitinkamai neapdorotas, pvz:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
            <faultcode>SOAP-ENV:Server</faultcode>
            <faultstring>S0022 [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'N08_IM_XXXX'.</faultstring>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

D.U.K

  1. Gauname klaidą "Neteisingas parametras" - galimai kliento raktas neteisingas arba kreipinys blogu adresu.