Moduł SEIGI GPSR jest bazą danych przechowującą informacje o podmiotach odpowiedzialnych. Może być wykorzystywany jako centralne repozytorium danych, z którego inne integracje, takie jak PriceWars II, mogą pobierać informacje na potrzeby własnych działań.

Każdy moduł zewnętrzny ma możliwość łatwego pobrania informacji o podmiotach odpowiedzialnych, dzięki funkcjom udostępnionym w interfejsie modułu SEIGI GPSR.

Integracja z modułem SEIGI GPSR

Warunki wstępne

  1. Moduł SEIGI GPSR musi być zainstalowany i aktywowany na Twoim sklepie.
  2. Moduł zewnętrzny powinien mieć opcję aktywowania eksportu danych z GPSR (np. parametr export_gpsr).

Kod przykładowy do integracji

Poniższy fragment kodu przedstawia, jak można połączyć się z modułem SEIGI GPSR i pobrać listę podmiotów odpowiedzialnych:

Pobieranie wszystkich podmiotów odpowiedzialnych

if (\Module::getInstanceByName('seigigpsr')) {
    $responsibleEntities = \ResponsibleEntityManager::getAll();
    foreach ($responsibleEntities as $entity) {
        $entity['id']; // ID w bazie danych
        $entity['external_id']; // Numer referencyjny, powinien być unikatowy
        $entity['type']; // Typ enum('generic', 'manufacturer','importer','person')
        $entity['name']; // Nazwa podmiotu
        $entity['country_code']; // KOD ISO-2
        $entity['street']; // Ulica
        $entity['postal_code']; // Kod pocztowy
        $entity['city']; // Miasto
        $entity['email']; // Adres e-mail
        $entity['phone_number']; // Telefon kontaktowy
        $entity['created_at']; // Kiedy utworzono wpis
        $entity['updated_at']; // Kiedy został ostatni raz zmodyfikowany
    }
}

Pobieranie podmiotów odpowiedzialnych dla konkretnego produktu

if ($this->settings['export_gpsr'] && \Module::getInstanceByName('seigigpsr')) {
    $responsibleEntities = \ResponsibleEntityRelation::getAssignedEntitiesAsObjects(
        (int)$product->id_presta,
        (int)$product->id_manufacturer,
        (int)$product->id_supplier
    );

    foreach ($responsibleEntities as $entity) {
        
    }
}