curl --request POST \
--url https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription \
--header 'Content-Type: application/json' \
--data '
{
"identifierType": "msisdn",
"identifier": "4351234567",
"plmCode": "NFLX-PREM",
"partnerCode": "NFLX"
}
'import requests
url = "https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription"
payload = {
"identifierType": "msisdn",
"identifier": "4351234567",
"plmCode": "NFLX-PREM",
"partnerCode": "NFLX"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
identifierType: 'msisdn',
identifier: '4351234567',
plmCode: 'NFLX-PREM',
partnerCode: 'NFLX'
})
};
fetch('https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'identifierType' => 'msisdn',
'identifier' => '4351234567',
'plmCode' => 'NFLX-PREM',
'partnerCode' => 'NFLX'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription"
payload := strings.NewReader("{\n \"identifierType\": \"msisdn\",\n \"identifier\": \"4351234567\",\n \"plmCode\": \"NFLX-PREM\",\n \"partnerCode\": \"NFLX\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription")
.header("Content-Type", "application/json")
.body("{\n \"identifierType\": \"msisdn\",\n \"identifier\": \"4351234567\",\n \"plmCode\": \"NFLX-PREM\",\n \"partnerCode\": \"NFLX\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifierType\": \"msisdn\",\n \"identifier\": \"4351234567\",\n \"plmCode\": \"NFLX-PREM\",\n \"partnerCode\": \"NFLX\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"organizationId": "<string>",
"partnerCode": "<string>",
"createdDate": "<string>",
"type": "BILLING",
"partnerCustomerId": "<string>",
"updatedDate": "<string>",
"billingStatus": "PENDING-VALIDATION",
"billingPaymentMethod": "<string>",
"account": {
"type": "<string>",
"status": "<string>"
}
}{
"code": "invalid-request",
"message": "Invalid request."
}{
"code": "authentication-required",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "account-not-found",
"message": "account not found"
}{
"code": "server-error",
"message": "<string>"
}Create a Billing Partner Relationship
Initiates the creation of a Billing Partner Subscription relationship.
curl --request POST \
--url https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription \
--header 'Content-Type: application/json' \
--data '
{
"identifierType": "msisdn",
"identifier": "4351234567",
"plmCode": "NFLX-PREM",
"partnerCode": "NFLX"
}
'import requests
url = "https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription"
payload = {
"identifierType": "msisdn",
"identifier": "4351234567",
"plmCode": "NFLX-PREM",
"partnerCode": "NFLX"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
identifierType: 'msisdn',
identifier: '4351234567',
plmCode: 'NFLX-PREM',
partnerCode: 'NFLX'
})
};
fetch('https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'identifierType' => 'msisdn',
'identifier' => '4351234567',
'plmCode' => 'NFLX-PREM',
'partnerCode' => 'NFLX'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription"
payload := strings.NewReader("{\n \"identifierType\": \"msisdn\",\n \"identifier\": \"4351234567\",\n \"plmCode\": \"NFLX-PREM\",\n \"partnerCode\": \"NFLX\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription")
.header("Content-Type", "application/json")
.body("{\n \"identifierType\": \"msisdn\",\n \"identifier\": \"4351234567\",\n \"plmCode\": \"NFLX-PREM\",\n \"partnerCode\": \"NFLX\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-prodtest.m1amdocs.io/partnersub/v2/partnerSubscription")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifierType\": \"msisdn\",\n \"identifier\": \"4351234567\",\n \"plmCode\": \"NFLX-PREM\",\n \"partnerCode\": \"NFLX\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"organizationId": "<string>",
"partnerCode": "<string>",
"createdDate": "<string>",
"type": "BILLING",
"partnerCustomerId": "<string>",
"updatedDate": "<string>",
"billingStatus": "PENDING-VALIDATION",
"billingPaymentMethod": "<string>",
"account": {
"type": "<string>",
"status": "<string>"
}
}{
"code": "invalid-request",
"message": "Invalid request."
}{
"code": "authentication-required",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "account-not-found",
"message": "account not found"
}{
"code": "server-error",
"message": "<string>"
}Headers
The aggregator organization code. Organization code must be provided either via HTTP header or query parameter. If both are provided, HTTP header will be used.
16The TraceId indicates the overall ID of the trace. Every span in a trace shares this ID. The X-B3-TraceId header is encoded as 32 or 16 lower-hex characters. For example, a 128-bit TraceId header might look like 463ac35c9f6413ad48485a3953bb6124.
The SpanId is 64-bit in length and indicates the position of the current operation in the trace tree. The value should not be interpreted; it may or may not be derived from the value of the TraceId. The X-B3-SpanId header is encoded as 16 lower-hex characters. For example, a SpanId header might look like a2fb4a1d1a96d312. Unless propagating only the Sampling State, the X-B3-SpanId header is required.
The ParentSpanId is 64-bit in length and indicates the position of the parent operation in the trace tree. When the span is the root of the trace tree, there is no ParentSpanId. The X-B3-ParentSpanId header may be present on a child span and must be absent on the root span. It is encoded as 16 lower-hex characters. For example, a ParentSpanId header might look like 0020000000000001.
Query Parameters
The aggregator organization code. Organization code must be provided either via HTTP header or query parameter. If both are provided, HTTP header will be used.
16Body
An account is the end customer account which is referenced in the aggregator BSS system. The Account holds the terms of the relationship to services that have been entitled to a Customer.
The type of a customer account identifier.
ban, msisdn, email, stbtoken, esn 20An identifier that can be used to locate an aggregator customer account.
256^[0-9]{10}$The code used by a Partner to define a product
36The partner code defined by M1
36A set of key/value pairs that you can attach to an object. Useful for storing additional information.
Show child attributes
Show child attributes
Response
OK
The information managed in MarketONE about OTT relationship.
MarketONE partner service provisioning record identifier.
50The ID of the aggregator organization in MarketONE for which this record was created.
50The partner code as set by the partner admin in MarketONE.
15The timestamp (ISO 8601 format) when the partner service provisioning information record was created.
the type of the partner subscription record; ENTITLEMENT - is when the partner subscription is represeting a entitlement relationship (subscription is managed by MarketONE); BILLING - when the partner subscription is representing a billing relationship (subscription is managed by the partner).
BILLING, ENTITLEMENT MarketONE unique customer identifier per partner.
The timestamp (ISO 8601 format) when the partner service provisioning information record was updated.
The status of the OTT billing partner subscription. PENDING-VALIDATION - the BILLING partner subscription creation was requested by the OTT partner and it requires validation. PENDING-CONFIRMATION - MarketONE successfully validated the BILLING partner subscription. ACTIVE - the BILLING partner subscription is available for billing.
PENDING-VALIDATION, PENDING-CONFIRMATION, ACTIVE 50A unique identifier.
128Show child attributes
Show child attributes
Was this page helpful?

