{% extends 'layouts/app.html.twig' %} {% block title %}Monitoring panelu Snapwear: {{ provider.name }}{% endblock %} {% block app_content %} {% include 'partials/_flash_messages.html.twig' %}
monitor_heartDostawcy / Snapwear

Monitoring panelu

{{ provider.name }} · logowanie formularzowe, matching po danych kontaktowych i polling statusów.

Stan sesji {{ session_state }} Wygasa: {{ session and session.expiresAt ? session.expiresAt|date('d.m.Y H:i') : 'brak danych' }}
Ostatnie logowanie {{ session and session.lastLoginAt ? session.lastLoginAt|date('d.m.Y H:i') : 'nigdy' }} Ostatni sukces: {{ session and session.lastSuccessAt ? session.lastSuccessAt|date('d.m.Y H:i') : 'brak' }}
Powiązania {{ counts.matched|default(0) + counts.manual|default(0) }} unmatched {{ counts.unmatched|default(0) }} · conflict {{ counts.conflict|default(0) }} · ambiguous {{ counts.ambiguous|default(0) }}
{% if session and session.lastError %}
error

{{ session.lastErrorCode|default('panel_error') }} — {{ session.lastError }}

{% endif %} {% if unrecognized_statuses %}

Nierozpoznane statusy

{% for raw in unrecognized_statuses %}{{ raw }}{% endfor %}
{% endif %} {% if can_manage %}

Przypisz zamówienie Snapwear ręcznie

Numer, e-mail i telefon kandydatów są maskowane. Nazwisko, kwota i produkty nie tworzą automatycznego powiązania.

{% for candidate in links %} {% if not candidate.fulfillment %} {% endif %} {% endfor %}
{% endif %}

Kolejka automatycznego matchingu

Lista jest budowana lokalnie. Panel Snapwear zostanie odpytany dopiero, gdy termin „Następna próba” zostanie osiągnięty.

{% for fulfillment in match_queue %} {% else %} {% endfor %}
Realizacja Zamówienie Dispatch Stan matchingu Próby Ostatnia / następna próba Wygaśnięcie / komunikat
#{{ fulfillment.id }} {% if fulfillment.salesOrder %} {{ fulfillment.salesOrder.reference|default('#' ~ fulfillment.salesOrder.id) }} {% else %}—{% endif %} {{ fulfillment.dispatchedAt ? fulfillment.dispatchedAt|date('d.m.Y H:i') : '—' }} {{ fulfillment.providerMatchStatus }} {{ fulfillment.providerMatchAttempts }} Ostatnia: {{ fulfillment.providerLastMatchAt ? fulfillment.providerLastMatchAt|date('d.m.Y H:i') : '—' }}
Następna: {{ fulfillment.providerNextMatchAt ? fulfillment.providerNextMatchAt|date('d.m.Y H:i') : 'zatrzymana' }}
{{ fulfillment.providerMatchExpiresAt ? fulfillment.providerMatchExpiresAt|date('d.m.Y H:i') : '—' }}
{{ fulfillment.providerMatchLastError ?: '—' }}
Brak realizacji oczekujących na automatyczny matching.

Powiązania i kandydaci panelu

{% for link in links %} {% else %} {% endfor %}
Numer Snapwear / realizacja Status lokalny Status Snapwear Dopasowanie Tracking Sprawdzenia Ostatni błąd Akcje
{{ link.externalOrderId }}
{% if link.fulfillment %} Realizacja #{{ link.fulfillment.id }} {% else %} Kandydat bez realizacji {% endif %}
{{ link.fulfillment ? link.fulfillment.statusCode : '—' }} {{ link.rawStatus ?: '—' }} {{ link.matchStatus }}
{{ link.matchMethod ?: '—' }} · {{ link.matchConfidence ?: '—' }}
{{ link.trackingNumber ?: '—' }}
{{ link.carrierName ?: link.carrierCode ?: '—' }}
Ostatnie: {{ link.lastCheckedAt ? link.lastCheckedAt|date('d.m.Y H:i') : '—' }}
Sukces: {{ link.lastSuccessfulCheckAt ? link.lastSuccessfulCheckAt|date('d.m.Y H:i') : '—' }}
Następne: {{ link.nextCheckAt ? link.nextCheckAt|date('d.m.Y H:i') : '—' }}
{% if link.lastErrorCode %}{{ link.lastErrorCode }}
{% endif %} {{ link.lastErrorMessage ?: '—' }}
{% if can_manage and link.fulfillment %}
Pokaż historię statusów
{% else %} — {% endif %}
Brak danych monitoringu Snapwear.
{% endblock %}