API ir PHP pavyzdžiai

API ir PHP pavyzdžiai

OpenAPI adresas pateikiamas čia: RIVILE ERP_API(Swagger UI)

Kodo pavyzdys

Užduotis: Suformuoti pardavimų sąskaitos sukūrimą ir registravimą, naudojant POST užklausą į Rivile REST API.

Su viena užklausa galima sukurti dokumentą su eilutėmis, kai eilučių kiekis yra <= 100. Jei norite sukurti dokumentą su > 100 eilučių, rekomenduojame pirma sukurti dokumentą ir vėliau atskiromis užklausomis kurti dokumento eilutes.

Naudojant suformuotą pavyzdį naudoti savo API raktą ( <Jūsų_API_Raktas> ).

 <?php

// Rivile Public REST API URL
$url = "https://erp.rivile.cloud/public-api/v1/sale-invoices";

// API rakto tokenas. Jį sukurti ir pasiimti galite iš Rivile ERP sistemos.
$api_key = "<Jūsų_API_Raktas>";

// Sukuriame pardavimų sąskaitos duomenų masyvą JSON formatu
$data = array(
    "clientId" => "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "clientName" => "Rivilė, UAB",
    "documentNo" => "ERP-002365",
    "isTaxIncluded" => false,
    "currencyCode" => "EUR",
    "notes" => "Sąskaita iš elektroninės parduotuvės",
    "lines" => array(
        array(
            "itemCode" => "SM-S928BZYHEUB",
            "itemName" => "Samsung Galaxy S21 Ultra",
            "uomAltCode" => "VNT",
            "qtyAlt" => 1,
            "price" => 1000.00,
            "departmentCode" => "SAND1"
        )
    )
);

// Konvertuojame duomenis į JSON formatą
$json_data = json_encode($data);

// Sukuriame HTTP antraštes su API raktu
$headers = [
    "X-SessionToken: " . $api_key,
    "Content-Type: application/json",
];

// Sukuriame cURL užklausos resursą
$ch = curl_init($url);

// Nustatome cURL parinktis
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');

// Įvykdome cURL užklausą
$response = curl_exec($ch);

// Patikriname, ar nėra klaidų
if (curl_errno($ch)) {
    echo 'Curl klaida: ' . curl_error($ch);
}

// Uždarome cURL sesiją
curl_close($ch);

// Atvaizduojame atsakymą
echo $response;

?>

GET sąrašiniuose metoduose duomenų filtravimas

Galimas duomenų filtravimas, kuris leidžia sujungti kelis filtrus juos jungiant loginę funkciją AND .

Filtravimui galimi naudoti operatoriai:

  • CONTAINS: Tikrina, ar laukas turi nurodytą tekstą.
  • NOT_CONTAINS: Tikrina, ar laukas neturi nurodyto teksto.
  • EQUAL: Tikrina, ar laukas yra lygus nurodytam tekstui, skaičiui arba loginei reikšmei.
  • NOT_EQUAL: Tikrina, ar laukas nėra lygus nurodytam tekstui arba skaičiui.
  • GREATER_THAN: Tikrina, ar laukas yra didesnis nei nurodytas skaičius.
  • STARTS_WITH: Tikrina, ar laukas prasideda nurodytu tekstu.
  • ENDS_WITH: Tikrina, ar laukas baigiasi nurodytu tekstu.

Pavyzdys:

Užduotis: Vykdyti filtravimą klientų, kurių pavadinime yra fragmentas "Demo" ir jie yra aktyvūs.

API filtrų sąlyga:

[
  {    "operation": "CONTAINS",    "name": "name",    "value": "Demo"  } ,
  {    "operation": "EQUAL",    "name": "active",    "value": true  } 
]

Vykdant užklausą filtro reikšmę reikia užkoduoti (Encode).

API filtro rezultatas:

GET {{baseUrl}}/v1/clients?size=30&page=0&filter=%7B%22operation%22%3A%22CONTAINS%22%2C%22name%22%3A%22name%22%2C%22value%22%3A%22Demo%22%7D%2C%7B%22operation%22%3A%22EQUAL%22%2C%22name%22%3A%22active%22%2C%22value%22%3Atrue%7D

Kodas, skirtas sukurti filtrą ir suformuoti GET užklausą:

<?php

$filters = [
    { "operation" => "CONTAINS", "name" => "name", "value" => "Demo" },
    { "operation" => "EQUAL", "name" => "active", "value" => true }
];

// JSON filtro sąlygų konvertavimas į eilutę
$jsonFilter = json_encode($filters);

// Filtro eilutės konvertavimas į URL formatą
$urlEncodedFilter = urlencode($jsonFilter);

// Filtro apjungimas su puslapiavimo parametrais
$queryParams = "?size=30&page=0&filter=" . $urlEncodedFilter;

// Pilnos GET užklausos sukonstravimas
$baseUrl = "https://erp.rivile.cloud/public-api/v1/clients";
$fullUrl = $baseUrl . $queryParams;
echo $fullUrl;
?>

Užklausose įrašų skaičius negali viršyti 100 !

API