HomeIntegracja baselinker.pl i optimes.syneo.pl - RC Cloud

Przygotowane przez nas rozwiązanie pozwala na bazową integrację zamówień wystawianych w systemie Baselinker z systemem Optimes

Aktualnie aplikacja obsługuje następujący proces:

  • w systemie Baselinker pojawia się zamówienie z określonym statusem
  • integrator pobiera zamówienie do Optimesa i nadaje mu określony status
  • jak zamówienie w Optimesie zostanie zrealizowane, wówczas integrator ustawia odpowiedni status w systemie Baselinker

Rozwiązanie pozwala a podstawową integrację między systemami i może być dowolnie dostosowane do potrzeb klienta.

Poniżej zamieszamy krótką instrukcję jak skonfigurować rozwiązanie.

Integracja Optimes i Baselinker – pierwsze kroki

  1. Jak zacząć?

    Pierwszym krokiem w konfiguracji jest uzupełnienie danych do połączenia z bazą danych. Parametry połączeniowe znajdują się w pliku .env

    Definicje zmiennych:

    INTEGRATOR_DATABASE_USER => Nazwa użytkownika do połączenia do bazy danych
    INTEGRATOR_DATABASE_PASS => Hasło do bazy danych
    INTEGRATOR_DATABASE_LINK => Adres do serwera mysql
    INTEGRATOR_DATABASE_NAME => Nazwa bazy danych

    Następnie konfigurujemy parametry integratora w pliku: config/services.yaml

    Definicje zmiennych:

    baselinkerApiKey => klucz API do systemu baselinkera
    baselinkerOrderStatusToImport => id statusu zamówienia z baselinkera, które mają być przesłane do optimesa.
    baselinkerOrderStatusToSend => id statusu zamówienia z baselinkera, który ma być ustawiony podczas aktualizacji zamówienia w Baselinkerze
    optimesApiKey => Klucz API z systemu Optimes
    optimesApiToken => Token bezpieczeństwa systemu Optimes
    optimesOrderStatus => id statusu zamówienia, który ma być ustawiony w zamówieniu, które zostało zaimportowane do optimesa.
    optimesOrderAttributeDeliveryMethod => id atrybutu w Optimesie dot. metody dostawy
    optimesOrderAttributeDeliveryPrice => id atrybutu w Optimesie dot. ceny dostawy
    optimesOrderAttributePaymentMethod => id atrybutu w Optimesie dot. metody płatności
    optimesOrderAttributeAdditionalField1 => id atrybutu w Optimesie dot. dodatkowe pole 1
    optimesOrderAttributeAdditionalField2 => id atrybutu w Optimesie dot. dodatkowe pole 2
    optimesOrderAttributeNote => id atrybutu w Optimesie dot. uwag
    optimesCustomerAttributeLogin => id atrybutu w Optimesie dot. loginu Klienta
    baselinkerApiLink => link do integracji API z bazelinkerem
    optimesProductPost => link do integracji API z optimesem dot. Produktów
    optimesOrderPost => link do integracji API z optimesem dot. Zamówień
    optimesClientPost => link do integracji API z optimesem dot. Klientów

    W systemie znajdują się dwa pliki dot mapowania parametrów:
    config/vat.txt
    oraz
    config/currencies.txt
    oba pliki mają strukturę: Wartość parametru;ID parametru w Optimes

  2. Instalacja integracji

    a) instalujemy paczki z composera (wersja php7.1):
    php composer.phar install

    b) wykonujemy migrację:
    bin/console doctrine:migrations:migrate

    c) pobieramy wszystkie produkty z Optimesa do integratora:
    bin/console rcc:product-integration:run

  3. Gdzie znaleźć potrzebne dane i jak skonfigurować systemy?

    Połączenie z bazą danych:

    Połączenie z bazą danych jest niezbędne do prawidłowego działania integratora. Jest ona potrzebna do składowania danych dot. produktów oraz przesłanych zamówień. Bazę danych wraz z użytkownikiem można utworzyć w panelu administracyjnym serwera na którym zostanie zainstalowany integrator.

    System Optimes:

    OPTIMES_API_KEY – klucz ten znajdziemy logując się do naszej instancji systemu Optimes na następnie wchodząc w lewym menu w zakładkę Pracownicy.

    Aby przy danym pracowniku można było wygenerować API KEY rola, którą posiada musi mieć włączone w ustawieniach Nadawanie kluczy API:

    Następnie musimy wejść w edycję pracownika za pomocą, którego chcemy się łączyć z Fakturowani.pl lub utworzyć nowego.

    W edycji wybranego pracownika wchodzimy w zakładkę Dodatkowe informacje po lewej stronie.

    Kopiujemy wartość z pola Klucz API lub generujemy nowy.

    OPTIMES_WEBHOOKTOKEN – ten ten znajdziemy logując się do naszej instancji systemu Optimes na następnie wchodząc w lewym menu w zakładkę Ustawienia a następnie w menu Webhooki.

    W tym miejscu musimy wygenerować nowy webhook:
    Nazwa – dowolna nazwa pozwalająca ocenić do czego służy dany webhook
    Token bezpieczeństwa – tutaj wpisujemy ciąg znaków który stanowił będzie nasz token bezpieczeństwa
    Adres wywołania – tutaj wpisujemy adres internetowy pod którym umieszczony zostanie nasz plik integracyjny np.: https://test.pl/integration
    Źródło zdarzenia – tutaj wybieramy następujące typy:
    Produkt – Usunięcie
    Produkt – Aktualizacja
    Produkt – Utworzenie
    Zamówienie – Aktualizacja

    Zapisujemy zmiany

    optimesOrderStatus – statusy zamówień w optimesie można sprawdzić w widoku: Ustawienia => Statusy encji. W tym widoku wybieramy ID z listy dla encji: Zamówienie

    Parametry do zamówienia:
    optimesOrderAttributeDeliveryMethod, optimesOrderAttributeDeliveryPrice, optimesOrderAttributePaymentMethod, optimesOrderAttributeAdditionalField1, optimesOrderAttributeAdditionalField2, optimesOrderAttributeNote, optimesCustomerAttributeLogin definiujemy w widoku: Ustawienia => Atrybuty
    Parametry te nie są domyślnie zdefiniowane i trzeba je dodać do systemu. Jako Encja wybieramy Zamówienie

    Odnośniki do integracji z API:
    optimesProductPost, optimesOrderPost, optimesClientPost

    to linki w domenie w której postawiona jest instancja optimesa:
    optimesProductPost => https://[OPTIMES_LINK]/api/v1/Warehouse/Products
    optimesOrderPost => https://[OPTIMES_LINK]/api/v1/Orders/Orders
    optimesClientPost => https://[OPTIMES_LINK]/api/v1/Clients/Clients

    gdzie:
    OPTIMES_LINK – to link do instancji Optimesa.

    Plik config/vat.txt zawiera mapper stawek VAT o konstrukcji:
    VAT,ID VAT

    Zawiera wartość VAT oraz id VAT w systemie optimes. Stawki VAT można zobaczyć w widoku: Ustawienia => Handel => Stawki VAT

    Id stawki VAT możemy zobaczyć tylko z linku do edycji.

    Plik config/currencies.txt zawiera mapper walut o konstrukcji:
    CURRENCY,ID CURRENCY

    Zawiera walutę oraz id waluty w systemie optimes. Waluty można zobaczyć w widoku: Ustawienia => Handel => Waluty

    Id waluty możemy zobaczyć tylko z linku do edycji.

    System Baselinker.pl:
    baselinkerApiKey – jest to klucz APIU, który możemy pobrać z widoku Moje konto zakładka API

    Statusy zamówień: baselinkerOrderStatusToImport oraz baselinkerOrderStatusToSend możemy pobrać z widoku: Zamówienia => Statusy zamówień. Identyfikatory nie są jawnie pokazane na stronie, trzeba sprawdzić link który jest odpowiedzialny za edycję statusu.

    BaselinkerApiLink jest to ogólny link do integracji API, jest to wartość stała niezależnie od domeny baselinkera:
    https://api.baselinker.com/connector.php

  4. Dodanie zadań do CRON

    W systemie trzeba skonfigurować zadania CRON. Można to zrobić zarówno jako proces php (wersja 7.1)
    Poniżej przykład wywołania:
    */5 * * * * /usr/bin/php7.1 /[LINK_DO INSTANCJI]/bin/console rcc:integration:run > /dev/null
    */5 * * * * /usr/bin/php7.1 /[LINK_DO INSTANCJI]/bin/console rcc:order-integration:run > /dev/null

    Gdzie:
    LINK_DO INSTANCJI => to folder na serwerze w którym postawiona jest instancja

    Dodatkowo jeśli serwer nie umożliwia wywoływanie w cronie zadań pod php7.1 można w CRONIE wywoływać procesy jako linki (WGET):
    http://test.pl/rccloud/integration/integrate
    http://run.syneo.pl/rccloud/integration/integrateorder

  5. Integracja powinna działać

    W tym momencie możemy już przetestować czy w momencie ustawienia w zamówieniu odpowiedniego statusu w Baselinkerze zostanie ono zaimportowane do optimesa, oraz jak już zaimportowane zamówienie w Optimesie zostanie zaakceptowane to zmieni status w Baselinkerze.

Adres
ul. Polna 92-96
62-800 Kalisz
Kontakt
+48 62 590 33 62
kontakt@rccloud.pl
Informacje o firmie
NIP: 61 82 112 273
REGON: 301 371 858