{% extends 'layouts/app.html.twig' %} {% block title %}PrestaShop | Integracje{% endblock %} {% block app_content %} {% include 'partials/_flash_messages.html.twig' %}
shopping_cart Integracja / Konfiguracja

PrestaShop Connector

Konfiguracja połączenia z modułem miceyproductconnector. Requesty są podpisywane HMAC, a każda próba synchronizacji zamówień jest zapisywana w historii poniżej.

lan Status {{ integration.status }}
power_settings_new Aktywna {{ integration.enabled ? 'tak' : 'nie' }}
encrypted Secret {{ has_secret ? 'ustawiony' : 'brak' }}
network_ping Ostatni ping {{ integration.lastPingAt ? integration.lastPingAt|date('d-m H:i') : '—' }}
sync Ostatnia synchronizacja {{ integration.lastSyncAt ? integration.lastSyncAt|date('d-m H:i') : '—' }}
{% if integration.lastError %}
error

Ostatni błąd: {{ integration.lastError }}

{% endif %}
Ustawienia połączenia i zamówień

Konfiguracja PrestaShop

Ustaw połączenie, punkt startowy pierwszego importu oraz interwał kolejnych synchronizacji.

{{ form_start(form, { attr: { class: 'ops-form presta-config-form' } }) }}
{{ form_row(form.name) }}
{{ form_row(form.shop_url) }}
{{ form_row(form.app_id) }}
{{ form_row(form.shared_secret) }}
Opcje publikacji i debugowania Te ustawienia wpływają na publikowanie produktów oraz logowanie requestów.
{{ form_row(form.enabled) }} {{ form_row(form.debug) }} {{ form_row(form.default_active_after_publish) }}
{{ form_row(form.prestashop_auto_upload_images_after_publish) }}
{{ form_row(form.default_platform_intent) }}
Automatyczne pobieranie zamówień Pierwszy przebieg używa wskazanej daty albo ID. Po zapisaniu kursora wszystkie kolejne przebiegi kontynuują od ostatniego miejsca.
{{ form_row(form.orders_sync_auto_enabled) }}
{{ form_row(form.orders_sync_interval_minutes) }}
{{ form_row(form.orders_sync_batch_limit) }}
{{ form_row(form.orders_sync_initial_mode) }}
{{ form_row(form.orders_sync_start_date) }}
{{ form_row(form.orders_sync_start_order_id) }}
schedule

Interwał jest egzekwowany przez komendę php bin/console app:orders:sync-scheduled. Dodaj ją do crona albo Harmonogramu zadań Windows.

{{ form_end(form) }}
Endpointy connectora

Test połączenia i słowniki

Ping{{ ping_endpoint }}
Orders{{ orders_endpoint }}
Single order{{ single_order_endpoint }}
Dictionaries{{ dictionaries_endpoint }}
Product form dictionaries{{ product_form_dictionaries_endpoint }}
Centralny model zamówień

Synchronizacja zamówień

Kliknięcie wykonuje synchronizację od razu. Zlecenie pozostaje w tabeli jako historia i kolejka awaryjna, ale nie czeka na niewidoczny proces w tle.

{{ integration.enabled ? 'aktywna' : 'wyłączona' }}
Ostatnia próba{{ orders_sync_cursor and orders_sync_cursor.lastAttemptAt ? orders_sync_cursor.lastAttemptAt|date('d.m.Y H:i') : '—' }}
Ostatni sukces{{ orders_sync_cursor and orders_sync_cursor.lastSuccessfulSyncAt ? orders_sync_cursor.lastSuccessfulSyncAt|date('d.m.Y H:i') : '—' }}
Cursor{{ orders_sync_cursor and orders_sync_cursor.cursorValue ? orders_sync_cursor.cursorValue|slice(0, 20) ~ '…' : 'brak' }}
Utworzone / zmienione{{ orders_sync_last_run ? orders_sync_last_run.created ~ ' / ' ~ orders_sync_last_run.updated : '0 / 0' }}
Kolejka{{ orders_sync_pending ? 'oczekuje' : 'pusta' }}
{% if orders_sync_cursor and orders_sync_cursor.lastError %}
error

Ostatni błąd synchronizacji: {{ orders_sync_cursor.lastError }}

{% endif %} {% if orders_sync_last_run %}
receipt_long

Ostatni przebieg: {{ orders_sync_last_run.status }}, pobrano {{ orders_sync_last_run.fetched }}, utworzono {{ orders_sync_last_run.created }}, zaktualizowano {{ orders_sync_last_run.updated }}, bez zmian {{ orders_sync_last_run.unchanged }}, ostrzeżenia {{ orders_sync_last_run.warningsJson|length }}, błędy {{ orders_sync_last_run.errorsJson|length }}.

{% endif %} {% if orders_sync_pending %}
schedule

Istnieje oczekujące lub wykonywane zlecenie. Możesz uruchomić oczekujące zlecenia przyciskiem poniżej.

{% endif %}
sync

Synchronizuj teraz

{{ orders_sync_plan_description ?: 'Najpierw uzupełnij punkt startowy w konfiguracji.' }}

download

Pobierz konkretne zamówienie

Natychmiastowe pobranie jednego zamówienia z endpointu /order.

first_page

Ręczne pobranie od wskazanego miejsca

Wymusza pobranie od wskazanego miejsca i zapisuje nowy cursor zwrócony przez connector. Ponowne pobranie jest bezpieczne — istniejące zamówienia są aktualizowane.

Kolejka i historia

Zlecenia synchronizacji zamówień

Każde kliknięcie i każdy przebieg automatyczny tworzy osobny wpis z wynikiem oraz błędem.

{% for job in orders_sync_jobs %} {% set options = job.optionsJson %} {% set result = job.resultJson %} {% else %} {% endfor %}
JobŹródłoTrybStatusUtworzonoCzasWynikSzczegóły
#{{ job.id }} {{ options.trigger|default('unknown') }} {{ job.mode }}{% if options.dry_run|default(false) %}
dry run{% endif %}
{{ job.status }} {{ job.createdAt ? job.createdAt|date('d.m.Y H:i:s') : '—' }} {% if job.startedAt and job.finishedAt %} {{ job.finishedAt.timestamp - job.startedAt.timestamp }} s {% elseif job.startedAt %} trwa {% else %}—{% endif %} {% if result %} pobrano {{ result.fetched|default(0) }}
+{{ result.created|default(0) }} / ~{{ result.updated|default(0) }} / ={{ result.unchanged|default(0) }} {% else %}—{% endif %}
{% if job.lastError %}
{{ job.lastError }}
{% endif %} {% if result %}
Pokaż wynik
{{ result|json_encode(constant('JSON_PRETTY_PRINT')) }}
{% endif %}
Brak zleceń synchronizacji.
Diagnostyka połączenia

Logi synchronizacji i connectora

Widać tu utworzenie joba, start procesora, request do PrestaShop, kod HTTP, czas odpowiedzi i zakończenie importu.

{% for log in orders_sync_logs %} {% else %} {% endfor %}
DataPoziomZdarzenieKomunikatDane techniczne
{{ log.createdAt ? log.createdAt|date('d.m.Y H:i:s') : '—' }} {{ log.level }} {{ log.context }} {{ log.message }} {% if log.technicalDetails %}
Pokaż
{{ log.technicalDetails }}
{% else %}—{% endif %}
Brak logów synchronizacji. Po pierwszym kliknięciu powinny pojawić się co najmniej wpisy job_queued i connector_request_started.
{% endblock %}