Wechselprozess QLTV → QLTV / OTT → QLTV

Anfrage/Ticket 

Die TV Wechselprozesse wurden durch Ergon anhand der Beispielcalls von Mike umgesetzt. Für Wechsel OTT→QLTV und QLTV→ QLTV wird derselbe Request verwendet, was gemäss Schnittstellenbeschrieb im YAML File korrekt wäre.

Beim Wechsel innerhalb des QLTV Services, bsp. TV S → TV M wird der folgende Fehler ausgegeben "Keinen Prozess [Finecom.Quickline.Scheduler.Business.Processes.QlTvProductChanger] für UserId [100468483] gefunden"

Request - Beispielkunde 100468483 auf Stage

Stage
URI: https://public-api.stage.quickline.ch/00/QMApi/v01/Contracts/c87c08e3-dd75-49a6-ba81-005aeee8ef2d

{
	"Locked": false,
	"SubContracts": [
		{
			"PendingMutations": [
				{
					"Type": "Activate",
					"Date": "2020-07-17T00:00+02:00"
				}
			],
			"Properties": [],
			"Product": {
				"Id": 864,
				"Category": "TvPayPackage"
			}
		},
		{
			"PendingMutations": [
				{
					"Type": "Activate",
					"Date": "2020-07-17T00:00+02:00"
				}
			],
			"Properties": [],
			"Product": {
				"Id": 88,
				"Category": "TvPayPackage"
			}
		},
		{
			"PendingMutations": [
				{
					"Type": "Activate",
					"Date": "2020-07-17T00:00+02:00"
				}
			],
			"Properties": [],
			"Product": {
				"Id": 447,
				"Category": "TvPayPackage"
			}
		},
		{
			"PendingMutations": [
				{
					"Type": "Activate",
					"Date": "2020-07-17T00:00+02:00"
				}
			],
			"Properties": [],
			"Product": {
				"Id": 80,
				"Category": "TvPayPackage"
			}
		},
		{
			"PendingMutations": [
				{
					"Type": "Activate",
					"Date": "2020-07-17T00:00+02:00"
				}
			],
			"Properties": [],
			"Product": {
				"Id": 134,
				"Category": "TvPayPackage"
			}
		},
		{
			"PendingMutations": [
				{
					"Type": "Activate",
					"Date": "2020-07-17T00:00+02:00"
				}
			],
			"Properties": [],
			"Product": {
				"Id": 95,
				"Category": "TvPayPackage"
			}
		},
		{
			"PendingMutations": [
				{
					"Type": "Activate",
					"Date": "2020-07-17T00:00+02:00"
				}
			],
			"Properties": [],
			"Product": {
				"Id": 94,
				"Category": "TvPayPackage"
			}
		}
	],
	"PendingMutations": [
		{
			"Type": "Change",
			"InvolvedItem": {
				"ContractId": "c87c08e3-dd75-49a6-ba81-005aeee8ef2d",
				"Assignment": "Predecessor"
			},
			"Date": "2020-07-17T00:00+02:00"
		},
		{
			"Type": "Activate",
			"InvolvedItem": {
				"DeviceId": "8598345a-17fb-40e6-ba6c-3031eeea2fd1"
			},
			"Date": "2020-07-17T00:00+02:00"
		}
	],
	"Devices": [],
	"Properties": [],
	"CustomerId": "5c431094-336e-4338-a63c-e72414fdbb9e",
	"Product": {
		"Id": 957,
		"Category": "TvQLTV"
	}
}

Response: 	Response-Content: {"Message":"Keinen Prozess [Finecom.Quickline.Scheduler.Business.Processes.QlTvProductChanger] für UserId [100468483] gefunden"}. Response-StatusCode: BadRequest)

Analyseergebnisse

Der Kunde hat mittlerweile TV M aufgeschaltet. Somit ist es möglich, dass der Request an sich funktioniert, dass aber die Response nicht korrekt ist.

Gemäss Kommentar in der Pendenz vermutet auch Sacha Danesi einen Einzelfall:
Ich habe irgendwie den Verdacht, dass das ein Einzelfall ist. Reproduzieren kann ich es nicht, mir fällt aber der extrem kurze Abstand zwischen Aufschaltung und Aboänderung auf. Deshalb vermute ich ein Timingproblem. Der Fall ist aus meiner Sicht unglaublich konstruiert!

Testszenarien WWZ 

Stage Kunde 100468532 – Endzustand stimmt → Kunde hat TV M

Zeitpunkt

Response

Gewünschter WechselWechselzeitpunktStatusFehler/Bemerkungen
27.07.2020 14:15:27

27.07.2020 14:15:40


Aufschaltung OTT TV2020-07-27Erfolg
27.07.2020 14:17:39

27.07.2020 14:17:42


UHD Box hinzufügen2020-07-27Erfolg
27.07.2020 14:17:47

27.07.2020 14:17:53


Wechsel auf TV Start mit Box2020-07-27Erfolg
27.07.2020 14:19:48

27.07.2020 14:20:00


Wechsel auf TV M2020-07-27Fehler Keinen Prozess [Finecom.Quickline.Scheduler.Business.Processes.QlTvProductChanger] für UserId [100468532] gefunden
27.07.2020 14:20:21

27.07.2020 14:20:21


Wechsel auf TV M2020-07-27FehlerOperation Change cannot be executed on Entity 'Contract' due to its current state.
Vorheriger Wechsel scheint aufgrund der Meldung funktioniert zu haben. –> ich vermute ein Timing Issue