Status i tracking są wysyłane jako niezależne, idempotentne akcje.
| Typ | Źródło | Mapping | Status | Próby | HTTP | Odpowiedź / błąd | Daty | Akcje |
|---|---|---|---|---|---|---|---|---|
| {{ action.actionType == 'tracking_update' ? 'Tracking' : 'Status' }} #{{ action.id }} |
{% if action.localEventId %}Event #{{ action.localEventId }}{% else %}—{% endif %}
{% if action.shipment %} Przesyłka #{{ action.shipment.id }}{% endif %} |
{% if action.channelStatusMapping %} {{ action.channelStatusMapping.triggerScope }}/{{ action.channelStatusMapping.triggerSystemStage }} → {{ action.channelStatusMapping.externalStatusCode ?: 'tracking' }} {% else %}—{% endif %} | {{ action.status }} | {{ action.attempts }} | {{ action.lastHttpCode ?: '—' }} |
{% if action.lastError %} {{ action.lastError }} {% endif %}
{% if action.lastResponseJson %}{{ action.lastResponseJson|json_encode(constant('JSON_PRETTY_PRINT')) }}{% endif %}
|
Utw.: {{ action.createdAt ? action.createdAt|date('d.m.Y H:i:s') : '—' }} Nast.: {{ action.nextAttemptAt ? action.nextAttemptAt|date('d.m.Y H:i:s') : '—' }} Koniec: {{ action.processedAt ? action.processedAt|date('d.m.Y H:i:s') : '—' }} |
{% if permissions.channel_action_retry %} {% if action.status in ['failed', 'pending'] %} {% endif %} {% if action.status in ['pending', 'processing', 'failed'] %} {% endif %} {% else %}—{% endif %} |
Brak aktualizacji kanału.Akcje pojawią się po kluczowym zdarzeniu statusu lub utworzeniu trackingu. | ||||||||