NDJSON-voogudega töötamise kiirjuhend

Andmeallikas: https://myfusion.eu/api/products/full-export

Faili formaat: NDJSON (reavahetustega eraldatud JSON).

Tähtis! Kasutage seda faili ainult esmaseks toodete impordiks. Pärast seda kasutage täielikku API-integratsiooni: https://myfusion.eu/api

See tähendab:

  • 1 rida = 1 toode
  • iga rida on eraldi JSON-objekt
  • faili tuleb lugeda voona, mitte tervikuna mällu laadida

Autoriseerimine

Kasutatakse Bearer Token'it. Päringu päis: Authorization: Bearer YOUR_API_TOKEN

Miks on NDJSON parem kui tavaline JSON?

  • suurte failide kiire lugemine
  • võimalik töödelda osade kaupa
  • minimaalne mälukasutus
  • sobib väga suurte andmehulkade importimiseks

Kõige tähtsam põhimõte

Vale:

 
 
php
file_get_contents(...);
json_decode(...);

See laadib kogu faili mällu.

Õige: lugege faili rida-realt või voo kaudu.

PHP näide

 
 
php
<?php
$url = 'https://myfusion.eu/api/products/full-export';
$token = 'YOUR_API_TOKEN';

$context = stream_context_create([
    'http' => [
        'method' => 'GET',
        'header' => "Authorization: Bearer {$token}\r\n"
    ]
]);

$handle = fopen($url, 'r', false, $context);

while (($line = fgets($handle)) !== false) {
    $row = json_decode($line, true);
    // toote töötlemine
    echo $row['productId'] . PHP_EOL;
}

fclose($handle);

Soovitatavad impordipraktikad

Suure jõudluse jaoks on soovitatav:

  • lugeda andmeid voona
  • töödelda kirjeid pakettidena
  • kasutada batch insert või batch update
  • mitte salvestada iga kirjet eraldi päringus, kui see pole vajalik

Andmete uuendamine

Kasutage välja descriptionUpdateDate. See näitab kirjelduse viimase muutmise kuupäeva ning võimaldab uuendada ainult muudetud tooteid.