Creating an account
Request
When the CRM creates an account in OpenTV Platform, it should use the preHashedPassword endpoint, which requires a pre-hashed and salted password and the salt that was used.
To do this, the CRM should send a POST request to:
https://<host>:<port>/adm/v1/accounts/preHashedPassword
In deployments that use NAGRA's Security Services Platform (SSP), this request must be made twice – once to OPF, and once to SSP.
The URLs of the two endpoints will be provided to you by NAGRA.
Headers
x-correlation-id– identifier for logging, to correlate messages across a call flowAuthorization– bearer token obtained in Getting an access tokennv-tenant-id– the tenant IDContent-Type: application/json
Mandatory arguments
All the following arguments are in the request body:
accountProfileId– the ID of the account profile to be applied to the account. Account profiles are created by NAGRA.
You can see the configured account profiles in OpCon.npvrProfileName– the User Recordings (NPVR) profile to be applied to the account. See Updating recording settings.billingAddress– the billing address of the account. This field is mandatory, but may be left blank.pvrStatus– enables or disables NPVR (ENABLEDorDISABLED).signonId– sign-on ID. This must be the user's email address.password– the hashed and salted password
Note: The CRM must use the following password hashing configuration:Algorithm: pkcs5_pbkdf2
Hashed password byte length: 320
Iterations: 20000
SHA strength: hmac_sha1
salt– the Base64-encoded byte-array salt used during the password salting processgeoBlockExempt– must be set tofalse(otherwise filtering will not work).
Other arguments
See /accounts/preHashedPassword in the ADM API documentation.
Response
A successful request returns an HTTP 201 status.
A bad request returns an HTTP 400 status.
A request with an invalid token returns an HTTP 403 status.
If the tenant or account does not exist, the request returns an HTTP 404 status.
Example
A successful request returns the account ID (which is created by OpenTV Platform if not specified in the request):
{
"_id": "string"
}
See also
For full details of this API, see the ADM API documentation.