Provision TV Netflix

The Netflix bundle program allows your customers to purchase an offer which includes Netflix through your standard sales channels. Once purchased, customers can link a new or existing Netflix account to your bundle offer through the Web or Set-Top Box activation channels.


Parameters

Name In Type Required Description
org_id path string true Tenant
body body NetflixCreateSubscription true ‘none’

Request body - JsonObject

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "billing_event_id": "e307f177-091a-4840-9830-dda1c29eea44",
  "bundle_id": "c2a45099-1cda-4178-83a8-02c02356ea01",
  "channel": "WEB",
  "netflix_email": "test@email.com",
  "netflix_offer_id": "2106f808-36e9-402d-bf37-f1f7fa04776b",
  "netflix_phone": "+525512345678",
  "partner_account_id": 4567890123456789,
  "partner_charge_country": "ES",
  "preferred_language": "es-ES"
}
Name Type Required Description
billing_event_id NetflixBillingEventID true A reference for this transaction that can be used to track or reconcile this transaction, if needed in the future. Do not use a PAI value. Maximum size is 1024 bytes.
bundle_id NetflixBundleID true Describes your bundle offers. Each of your commercial bundle offers/plans should correspond to a unique BundleID. The BundleID is generated by Netflix. You are expected to pass it in the Update API when your customer changes from one bundle to another.
channel NetflixChannel true This attribute identifies the channel that the customer uses to sign up for the Bundle.
netflix_email NetflixEmail false The primary email address preferred by the customer. Value has to be in standard email format.
- Netflix will only update the email address for the bundle enrollment if the customer has not yet activated their bundle.
- Do not pass dummy email addresses for any customer. If you do not have the customer’s primary or preferred email address, do not pass any email address.
netflix_offer_id NetflixOfferID true A pre-agreed upon UUID for each of the Netflix plans (Basic, Standard, Premium, and other Netflix plans) available in your bundle offers. This is the actual offer for which the customer will be enrolled. It must not have a value less than the Base Plan value for the associated BundleId. Note: A NetflixOfferID corresponds to one (1) Netflix streaming plan (e.g., 1S - Basic, 2S - Standard, 4S - Premium). For each NetflixOfferID, Netflix generates a Sandbox (for testing) and Production version.
netflix_phone NetflixPhone false The mobile phone number preferred by the customer. Value must be in the E.164 format. +[CountryCode][PhoneNumber]
partner_account_id NetflixPartnerAccountId true Partner Account Identifier (PAI) to associate an account in your system with a Netflix account.
partner_charge_country NetflixPartnerChargeCountry true Two letter codes that conform to ISO 3166-1
preferred_language NetflixPreferredLanguage false The language in which the customer prefers to be contacted by email or SMS.
- Netflix will continue adding newer languages as and when they start supporting them.
- If the PreferredLanguages is not present or does not match the Netflix defined standard, then the language associated with the PartnerChargeCountry will be used by default.

Request example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16

curl -X POST https://provision-master.private.dev.k8s.masmovil.com/v1/tv/netflix/orgs/masmovil/subscriptions \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'billing_event_id': 'e307f177-091a-4840-9830-dda1c29eea44',
  'bundle_id': 'c2a45099-1cda-4178-83a8-02c02356ea01',
  'channel': 'WEB',
  'netflix_email': 'test@email.com',
  'netflix_offer_id': '2106f808-36e9-402d-bf37-f1f7fa04776b',
  'netflix_phone': '+525512345678',
  'partner_account_id': 4567890123456789,
  'partner_charge_country': 'ES',
  'preferred_language': 'es-ES'
}" 

Responses

Code Meaning Description Schema
201 Created Enrolled in the entitlement offer successfully. NetflixCreateSubscriptionResponse
400 Bad Request Bad Request [Error]
401 Unauthorized Unauthorized request [Error]
409 Conflict Conflict [Error]
500 Internal Server Error Internal Server Error [Error]

Parameters

Name In Type Required Description
org_id path string true Tenant
subscription_id path string true Subscription identifier. Corresponds to the Partner Account Identifier (PAI).
body body NetflixUpdateSubscription true ‘none’

Request body - JsonObject

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "billing_event_id": "e307f177-091a-4840-9830-dda1c29eea44",
  "bundle_id": "c2a45099-1cda-4178-83a8-02c02356ea01",
  "channel": "WEB",
  "netflix_email": "test@email.com",
  "netflix_offer_id": "2106f808-36e9-402d-bf37-f1f7fa04776b",
  "netflix_phone": "+525512345678",
  "partner_charge_country": "ES",
  "preferred_language": "es-ES"
}
Name Type Required Description
billing_event_id NetflixBillingEventID true A reference for this transaction that can be used to track or reconcile this transaction, if needed in the future. Do not use a PAI value. Maximum size is 1024 bytes.
bundle_id NetflixBundleID false Describes your bundle offers. Each of your commercial bundle offers/plans should correspond to a unique BundleID. The BundleID is generated by Netflix. You are expected to pass it in the Update API when your customer changes from one bundle to another.
channel NetflixChannel false This attribute identifies the channel that the customer uses to sign up for the Bundle.
netflix_email NetflixEmail false The primary email address preferred by the customer. Value has to be in standard email format.
- Netflix will only update the email address for the bundle enrollment if the customer has not yet activated their bundle.
- Do not pass dummy email addresses for any customer. If you do not have the customer’s primary or preferred email address, do not pass any email address.
netflix_offer_id NetflixOfferID false A pre-agreed upon UUID for each of the Netflix plans (Basic, Standard, Premium, and other Netflix plans) available in your bundle offers. This is the actual offer for which the customer will be enrolled. It must not have a value less than the Base Plan value for the associated BundleId. Note: A NetflixOfferID corresponds to one (1) Netflix streaming plan (e.g., 1S - Basic, 2S - Standard, 4S - Premium). For each NetflixOfferID, Netflix generates a Sandbox (for testing) and Production version.
netflix_phone NetflixPhone false The mobile phone number preferred by the customer. Value must be in the E.164 format. +[CountryCode][PhoneNumber]
partner_charge_country NetflixPartnerChargeCountry false Two letter codes that conform to ISO 3166-1
preferred_language NetflixPreferredLanguage false The language in which the customer prefers to be contacted by email or SMS.
- Netflix will continue adding newer languages as and when they start supporting them.
- If the PreferredLanguages is not present or does not match the Netflix defined standard, then the language associated with the PartnerChargeCountry will be used by default.

Request example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15

curl -X PATCH https://provision-master.private.dev.k8s.masmovil.com/v1/tv/netflix/orgs/masmovil/subscriptions/4567890123456789 \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'billing_event_id': 'e307f177-091a-4840-9830-dda1c29eea44',
  'bundle_id': 'c2a45099-1cda-4178-83a8-02c02356ea01',
  'channel': 'WEB',
  'netflix_email': 'test@email.com',
  'netflix_offer_id': '2106f808-36e9-402d-bf37-f1f7fa04776b',
  'netflix_phone': '+525512345678',
  'partner_charge_country': 'ES',
  'preferred_language': 'es-ES'
}" 

Responses

Code Meaning Description Schema
204 No Content Bundle updated successfully. None
400 Bad Request Bad Request [Error]
401 Unauthorized Unauthorized request [Error]
404 Not Found Bundle not found [Error]
500 Internal Server Error Internal Server Error [Error]

Parameters

Name In Type Required Description
org_id path string true Tenant
subscription_id path string true Subscription identifier. Corresponds to the Partner Account Identifier (PAI).
body body NetflixCancelSubscription true ‘none’

Request body - JsonObject

1
2
3
4
{
  "cancel_event_id": "c02a6e17-7bdd-4c1d-a56b-764bcd1bcf01",
  "reason": "CUSTOMER_REQUESTED_CANCEL"
}
Name Type Required Description
cancel_event_id NetflixCancelEventID true A reference for this change/transaction that can be used to track/reconcile with the trigger for this event, if any is needed in future. Max 1024 is bytes.
reason NetflixCancelReason true Indicates the reason for cancellation.

Request example

1
2
3
4
5
6
7
8
9

curl -X PUT https://provision-master.private.dev.k8s.masmovil.com/v1/tv/netflix/orgs/masmovil/subscriptions/4567890123456789/cancel \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'cancel_event_id': 'c02a6e17-7bdd-4c1d-a56b-764bcd1bcf01',
  'reason': 'CUSTOMER_REQUESTED_CANCEL'
}" 

Responses

Code Meaning Description Schema
204 No Content Canceled entitlement offer successfully. None
400 Bad Request Bad Request [Error]
401 Unauthorized Unauthorized request [Error]
404 Not Found Bundle not found [Error]
500 Internal Server Error Internal Server Error [Error]

Parameters

Name In Type Required Description
org_id path string true Tenant
subscription_id path string true Subscription identifier. Corresponds to the Partner Account Identifier (PAI).
body body NetflixSuspend true ‘none’

Request body - JsonObject

1
2
3
4
{
  "suspend_event_id": "c2a45099-1cda-4178-83a8-02c02356ea01",
  "reason": "PAYMENT_INSTRUMENT_FAILURE"
}
Name Type Required Description
suspend_event_id string true The partner-provided reference identifier for the suspend event used for tracking.
reason string true none

Request example

1
2
3
4
5
6
7
8
9

curl -X POST https://provision-master.private.dev.k8s.masmovil.com/v1/tv/netflix/orgs/masmovil/subscriptions/4567890123456789/suspend \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'suspend_event_id': 'c2a45099-1cda-4178-83a8-02c02356ea01',
  'reason': 'PAYMENT_INSTRUMENT_FAILURE'
}" 

Responses

Code Meaning Description Schema
204 No Content Suspend done successfully. None
400 Bad Request Bad Request [Error]
401 Unauthorized Unauthorized request [Error]
500 Internal Server Error Internal Server Error [Error]

Parameters

Name In Type Required Description
org_id path string true Tenant
subscription_id path string true Subscription identifier. Corresponds to the Partner Account Identifier (PAI).
body body NetflixUnsuspend true ‘none’

Request body - JsonObject

1
2
3
{
  "unsuspend_event_id": "c2a45099-1cda-4178-83a8-02c02356ea01"
}
Name Type Required Description
unsuspend_event_id string true The partner-provided reference identifier for the unsuspend event used for tracking.

Request example

1
2
3
4
5
6
7
8

curl -X POST https://provision-master.private.dev.k8s.masmovil.com/v1/tv/netflix/orgs/masmovil/subscriptions/4567890123456789/unsuspend \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'unsuspend_event_id': 'c2a45099-1cda-4178-83a8-02c02356ea01'
}" 

Responses

Code Meaning Description Schema
204 No Content Unsuspend done successfully. None
400 Bad Request Bad Request [Error]
401 Unauthorized Unauthorized request [Error]
500 Internal Server Error Internal Server Error [Error]

Parameters

Name In Type Required Description
org_id path string true Tenant
startTimestamp query integer(int64) true A timestamp (specified in UNIX epoch seconds) to filter the events that have occurred on or after a specific time. Value must be within 14 days of the current time.
endTimestamp query integer(int64) true A timestamp (specified in UNIX epoch seconds) to filter the events that have occurred before a specific time. Value must be greater than startTimestamp and at least 15 minutes before the current time.
offset query integer(int64) false Used when retrieving subsequent pages of events that have occurred during the time period defined by startTimestamp and endTimestamp. Must be set to the value provided for the next_page_offset field of the previous response for the same time period. Do not build any logic or validation around this value.
events query array[string] false A case-sensitive comma-separated list of event types. The values must match the SubscriptionEventType values. Used to retrieve events of specific type(s) that have occurred during the time period defined by startTimestamp and endTimestamp. If this parameter is not provided, it defaults to returning all types of events.

Request example

1
2
3
4

curl -X GET https://provision-master.private.dev.k8s.masmovil.com/v1/tv/netflix/orgs/masmovil/subscriptions/events?startTimestamp='1683710542'&endTimestamp='1683796942'&offset='10'&events='BUNDLE_ACTIVATION,BUNDLE_PLAN_CHANGE'?startTimestamp=1683710542&endTimestamp=1683796942 \
  -H "Accept: application/json"

Responses

Code Meaning Description Schema
200 OK Success NetflixFetchSubscriptionEventsResponse
400 Bad Request Bad Request [Error]
401 Unauthorized Unauthorized request [Error]
500 Internal Server Error Internal Server Error [Error]

Parameters

Name In Type Required Description
org_id path string true Tenant
subscription_id path string true Subscription identifier. Corresponds to the Partner Account Identifier (PAI).

Request example

1
2
3
4

curl -X GET https://provision-master.private.dev.k8s.masmovil.com/v1/tv/netflix/orgs/masmovil/subscriptions/4567890123456789/status \
  -H "Accept: application/json"

Responses

Code Meaning Description Schema
200 OK Success NetflixGetSubscriptionStatusResponse
400 Bad Request Bad Request [Error]
401 Unauthorized Unauthorized request [Error]
500 Internal Server Error Internal Server Error [Error]

Endpoints

Provision TV Amazon

    Provision TV Netflix

      Provision TV HBO

        Provision FTTH

          Provision Orange TV

            Tesamanager

              Device Insurance