Интеграция

Установка и настройка виджета анализатора логов

Версия 1 от 15.09.2020 — История изменений

Чтобы протестировать работу виджета, перейдите по ссылке.

Установка виджета

Для установки виджета необходимо подключить файл по ссылке https://widget.shiptor.ru/embed/logging.js

Не копируйте и не сохраняйте файл! Это может привести к нарушению работоспособности виджета в дальнейшем.

Сделать это можно в теге body желаемой страницы.

<script type="text/javascript" src="https://widget.shiptor.ru/embed/logging.js"></script>

Внешний вид виджета

При необходимости можно развернуть информацию и посмотреть полный лог запроса.

Для вызова виджета необходимо задание его контейнера явным образом. 

Задание контейнера виджета явным образом

Вызов виджета происходит при нажатии на ссылку с нужным файлом: 

<a href="#" data-role="shiptor_widget_logging_show" data-url="data/2018-07-09.json" data-limit="10">shiptor-common-log-b35542f4785ed83c3174a10071663aae-2018-07-09.json</a>

Все изначальные параметры можно передать через этот контейнер.

Параметр Описание Пример

data-role

Вызов виджета

data-role="shiptor_widget_logging_show" 

data-url

Ссылка на файл с логами

data-url="data/2018-07-09.json"

data-limit

Лимит отображения логов

data-limit="10"

По умолчанию: 5

Особенности записи log-файла 

Для корректной работы анализатора логов необходимо предусмотреть: 

  1. Запись лога в отдельный файл для каждой новой даты. 
  2. Запись даты и времени запроса/ответа в параметр "ts".
  3. Задание в параметре "type" типа записи: request - запрос, response - ответ.

Пример корректной записи json:

"2018-07-09 13:40:36": {
		"request": {
			"ts": "2018-07-09 13:40:36",
			"type": "request",
			"id": 71253,
			"jsonrpc": "2.0",
			"method": "calculatePickUp",
			"params": {
				"length": 10,
				"width": 10,
				"height": 10,
				"weight": 10,
				"kladr_id": "77000000000",
				"beltway_distance": 3,
				"package_count": 14
			}
		},
		"response": {
			"ts": "2018-07-09 13:40:36",
			"type": "response",
			"id": 71253,
			"jsonrpc": "2.0",
			"result": {
				"methods": [
					{
						"status": "ok",
						"method": {
							"id": 1,
							"name": "DPD Курьер",
							"courier": "dpd",
							"description": null
						},
						"cost": {
							"services": [
								{
									"service": "pick_up",
									"sum": 354.4,
									"currency": "RUB",
									"readable": "354,40 ₽"
								}
							],
							"total": {
								"sum": 354.4,
								"currency": "RUB",
								"readable": "354,40 ₽"
							}
						}
					},
					{
						"status": "ok",
						"method": {
							"id": 5,
							"name": "Курьер Shiptor",
							"courier": "shiptor",
							"description": "За МКАД до 5км"
						},
						"cost": {
							"services": [
								{
									"service": "pick_up",
									"sum": 350,
									"currency": "RUB",
									"readable": "350,00 ₽"
								}
							],
							"total": {
								"sum": 350,
								"currency": "RUB",
								"readable": "350,00 ₽"
							}
						}
					}
				]
			}
		}
	},
	"2018-07-09 13:40:35": {
		"request": {
			"ts": "2018-07-09 13:40:35",
			"type": "request",
			"id": 71253,
			"jsonrpc": "2.0",
			"method": "calculatePickUp",
			"params": {
				"length": 10,
				"width": 10,
				"height": 10,
				"weight": 10,
				"kladr_id": "77000000000",
				"beltway_distance": 3,
				"package_count": 14
			}
		},
		"response": {
			"ts": "2018-07-09 13:40:37",
			"type": "response",
			"id": "JsonRpcClient.js",
			"jsonrpc": "2.0",
			"error": "Package: #0 is invalid: Invalid configuration for path \"departure.address.phone\": Invalid phone number."
		}
	}
}
История изменений