Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

We need a design confluence page for this KN BSS Integration.

1. Data flow diagrams for each of use cases.
2. Get it reviewed by leads
3. Get these flows accepted by customer and third-parties involved

Once these are done, development team can start working on the Epic

Ticket:

Jira Legacy
server24i
serverIdde9265ec-7df1-3171-8c6c-74fc0056a720
keyBPLAT-7116

Overview of BSS integration

Phase 1: No integration, users are provisioned through CMS

Phase 2: NetAdmin will provision users through an API as part of the vending process

Resources

KN ITV Channel configurations v1.5.xlsx

Table of Contents



Big picture



Use case diagrams

Create new user (phase 2 only)

Non-technical flow diagram

Code Block
themeMidnight
collapsetrue
title Create new user

note left of Amino factory
  At manufacture time
end note
Amino factory->Move API: List of STB serial numbers and keys
note right of NetAdmin:
  At sale time
end note
NetAdmin->Move API: User identity and their STB serial number


Which endpoint NetAdmin should use

NetAdmin will POST to https://boox.fi/api/management/stb/link_user

ParameterLocationMandatory

Parameters

Please note that M is for Mandatory and O is for Optional.

(tick)(error)
ParametersM/ODescriptionValues
service_tokenQuery(tick)Token generated for a service. This param will be skipped if Service-Token HTTP Header existsMService to which the user belongs.String of service username. Shared separately.
serial_no
QueryMSerial Number of STB. If device does not exists with provided serial no then it will be added.

Alpha numeric string.
e.g.  615507895162

email
Query(tick)MEmail address  address of user who is provisioned for using the STBValid email address.
e.g. john.doe@example.com 
public_keys
M

8 Public keys which will be used to authenticate the STB.


Note

Public keys

Query(tick)

are stored based on the POST body order.

So first public key is considered having key index 0.

Last public key is considered having key index 7.

key0_base64;key1_base64;...........;key7_base64 (no limit on max length).

where each public key is base-64 encoded,semicolon(;) is used between keys as separator.


chipset_idQuery(error)macQueryOSTB device chipset number/ID.chipset_id is a random list of characters (max 32 characters).
macOEthernet interface MAC address.mac is a random list of characters (max 18 characters).

Response

HTTP CodeResponse
200

{

	"id": "123",
	"serial_no": "DNA-STB0001",
	"user": {
		"id": "10001",
		"email": "stb_user@dnastb.com"
	}
}
400
{
  "error" {
    "code": 9,
    "text": "Access to this resource is locked to IP addresses"
  }
}
401none

Error Codes

Error CodeDescription
1414Email does not exist
1426Parameter is required
1427Invalid length of chipset_id
1428Invalid length of mac
1433STB exists and linked
1434Record already exists for value
1435STB is already assigned
1436Invalid email address format

How the user will sign in

See /wiki/spaces/BPLAT/pages/38550375 to see the process of letting the user sign in.

Entitle user to "A" OTT package

(warning) TBC:  What Move API must be called by KN?  Do we need to provision a new endpoint like the one at Channel License

Code Block
themeMidnight
collapsetrue
title Entitle user to "A" OTT package

KN BSS->Move API: GET /api/user/<email>/product/<product_id>/buy/option/<option_id>
Move API->Irdeto: SOAP entitlement call
Irdeto->Move API: 200 OK
Move API->KN BSS: 200 OK


Entitle user to "Start" DVB package