Porównywanie zmian
W celu uniknięcia aktualizacji całej bazy produktów Deante zalecamy wprowadzenie do systemu integracji porównywanie wersji produktu. Dla każdego produktu wysłanego w API można w prosty sposób wyliczyć sumę kontrolną (rekomendujemy md5). Jeżeli suma kontrolna produktu przychodzącego w API różni się od tej zapisanej w bazie danych, aktualizujemy informacje produktowe.
Implementacje
JavaScript
import md5 from 'md5'
// Pobrany produkt z bazy danych klienta
const databaseProduct = {
// Informacje o produkcie + dodatkowe pole md5
versionHash: "78e731027d8fd50ed642340b7c9a63b3"
}
// Product pobrany z API Deante
const apiProduct = {
// Informacje o produkcie z API Deante
}
const apiHash = md5(JSON.stringify(apiProduct));
const hasChanged = databaseProduct.versionHash !== apiHash
// W przypadku wystąpienia zmiany hasChanged zostanie ustawiony na true
// Oznacza to, że ten produkt należy zaktualizować
PHP
// Pobrany produkt z bazy danych klienta
$databaseProduct = array(
// Informacje o produkcie + dodatkowe pole md5
versionHash => "78e731027d8fd50ed642340b7c9a63b3"
);
// Product pobrany z API Deante
$apiProduct = array(
// Informacje o produkcie z API Deante
);
$apiHash = md5(json_encode(apiProduct));
$hasChanged = $databaseProduct['versionHash'] !== $apiHash
// W przypadku wystąpienia zmiany hasChanged zostanie ustawiony na true
// Oznacza to, że ten produkt należy zaktualizować