Producers

Producer in kafka


Parameters

Name In Type Required Description
body body portabilityRequest true ‘none’

Request body - instance of portabilityRequest

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  "phoneRanges": [
    {
      "nrnRange": "312800",
      "initialRange": "900000000",
      "endRange": "900000000"
    }
  ],
  "externalReference": "MYSIM_112233",
  "brand": "MASMOVIL",
  "recipientOperator": "00031",
  "donorOperator": "00001",
  "windowDate": "2017-09-15T08:00:00",
  "administrative": "445022444216",
  "lluProcessId": "550739346020000001",
  "fullNumberFlag": 0,
  "wholesalerFlag": 0,
  "coordinatedActionFlag": 0,
  "accessType": "01",
  "donorResellerOperator": "REVENDEDOR",
  "recipientResellerOperator": "MASMOVIL",
  "processType": 15,
  "subscriber": {
    "nif": "11111111H",
    "name": "nombre apellidos",
    "address": "Calle COLON",
    "postalCode": "28100",
    "province": "28",
    "town": "Madrid",
    "date": "2017-09-13T13:00:00"
  },
  "infoTariff": "",
  "observations": ""
}
Name Type Required Description
phoneRanges phoneRanges true none
externalReference externalReference true externalReference associated
brand brand true brand associated
recipientOperator recipientOperatorMandatory true current recipient operator code
donorOperator donorOperatorMandatory true initial donor operator code
windowDate windowDate false portability window
administrative administrative false administrative access number
lluProcessId lluProcessId false local loop unbundling identifier
fullNumberFlag fullNumberFlag false full number flag
wholesalerFlag wholesalerFlag false wholesaler flag
coordinatedActionFlag coordinatedActionFlag false coordinated action flag
accessType accessType false portability access type
donorResellerOperator donorResellerOperator false donor reseller operator
recipientResellerOperator recipientResellerOperator false recipient reseller operator
processType processType true process type
subscriber subscriber true none
infoTariff infoTariff false info tariff of a portability
observations observations false observations of a portability

Request example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

curl -X POST https://mas-portability.sta.masstack.com/v2/requestPortability \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'phoneRanges': [
    {
      'nrnRange': '312800',
      'initialRange': '900000000',
      'endRange': '900000000'
    }
  ],
  'externalReference': 'MYSIM_112233',
  'brand': 'MASMOVIL',
  'recipientOperator': '00031',
  'donorOperator': '00001',
  'windowDate': '2017-09-15T08:00:00',
  'administrative': '445022444216',
  'lluProcessId': '550739346020000001',
  'fullNumberFlag': 0,
  'wholesalerFlag': 0,
  'coordinatedActionFlag': 0,
  'accessType': '01',
  'donorResellerOperator': 'REVENDEDOR',
  'recipientResellerOperator': 'MASMOVIL',
  'processType': 15,
  'subscriber': {
    'nif': '11111111H',
    'name': 'nombre apellidos',
    'address': 'Calle COLON',
    'postalCode': '28100',
    'province': '28',
    'town': 'Madrid',
    'date': '2017-09-13T13:00:00'
  },
  'infoTariff': '',
  'observations': ''
}" 

Responses

Code Meaning Description Schema
200 OK Request portability in progress createRequestKafka
400 Bad Request Invalid body None

200 - instance of createRequestKafka

Custom schema example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "offset": 0,
  "timestamp": "1732095916580",
  "serializedKeySize": 0,
  "serializedValueSize": 0,
  "topicPartition": {
    "hash": 0,
    "partition": 0,
    "topic": "topic"
  }
}
Name Type Required Description
offset integer false offset
timestamp number false timestamp
serializedKeySize integer false serialized key size
serializedValueSize number false serialized value size
topicPartition object false none
» hash integer false hash
» partition integer false partition
» topic string false topic

Parameters

Name In Type Required Description
body body cancelPortability true ‘none’

Request body - instance of cancelPortability

1
2
3
4
5
{
  "processId": "00031202005111500003",
  "causeCode": "0001",
  "observations": ""
}
Name Type Required Description
processId processIdMandatory true process id in Portanet
causeCode causeCodeMandatory true cause code of a denied operation
observations observations false observations of a portability

Request example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

curl -X POST https://mas-portability.sta.masstack.com/v2/cancelPortability \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'processId': '00031202005111500003',
  'causeCode': '0001',
  'observations': ''
}" 

Responses

Code Meaning Description Schema
200 OK Cancel change NRN in progress createRequestKafka
400 Bad Request Invalid body None

200 - instance of createRequestKafka

Custom schema example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "offset": 0,
  "timestamp": "1732095916580",
  "serializedKeySize": 0,
  "serializedValueSize": 0,
  "topicPartition": {
    "hash": 0,
    "partition": 0,
    "topic": "topic"
  }
}
Name Type Required Description
offset integer false offset
timestamp number false timestamp
serializedKeySize integer false serialized key size
serializedValueSize number false serialized value size
topicPartition object false none
» hash integer false hash
» partition integer false partition
» topic string false topic

Parameters

Name In Type Required Description
body body unsubscribeRequest true ‘none’

Request body - instance of unsubscribeRequest

1
2
3
4
5
6
7
{
  "recipientOperator": "00031",
  "donorOperator": "00001",
  "initialRange": "900000000",
  "endRange": "900000000",
  "observations": ""
}
Name Type Required Description
recipientOperator recipientOperatorMandatory true current recipient operator code
donorOperator donorOperatorMandatory true initial donor operator code
initialRange initialRange true intial phone number range
endRange endRange true end phone number range
observations observations false observations of a portability

Request example

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

curl -X POST https://mas-portability.sta.masstack.com/v2/requestUnsubscribe \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'recipientOperator': '00031',
  'donorOperator': '00001',
  'initialRange': '900000000',
  'endRange': '900000000',
  'observations': ''
}" 

Responses

Code Meaning Description Schema
200 OK Request unsubscribe in progress createRequestKafka
400 Bad Request Invalid body None

200 - instance of createRequestKafka

Custom schema example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "offset": 0,
  "timestamp": "1732095916580",
  "serializedKeySize": 0,
  "serializedValueSize": 0,
  "topicPartition": {
    "hash": 0,
    "partition": 0,
    "topic": "topic"
  }
}
Name Type Required Description
offset integer false offset
timestamp number false timestamp
serializedKeySize integer false serialized key size
serializedValueSize number false serialized value size
topicPartition object false none
» hash integer false hash
» partition integer false partition
» topic string false topic

Parameters

Name In Type Required Description
body body cancelUnsubscribe true ‘none’

Request body - instance of cancelUnsubscribe

1
2
3
4
5
{
  "processId": "00031202005111500003",
  "causeCode": "0001",
  "observations": ""
}
Name Type Required Description
processId processIdMandatory true process id in Portanet
causeCode causeCodeMandatory true cause code of a denied operation
observations observations false observations of a portability

Request example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

curl -X POST https://mas-portability.sta.masstack.com/v2/cancelUnsubscribe \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
 --data-raw "{
  'processId': '00031202005111500003',
  'causeCode': '0001',
  'observations': ''
}" 

Responses

Code Meaning Description Schema
200 OK Cancel unsubscribe in progress createRequestKafka
400 Bad Request Invalid body None

200 - instance of createRequestKafka

Custom schema example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "offset": 0,
  "timestamp": "1732095916580",
  "serializedKeySize": 0,
  "serializedValueSize": 0,
  "topicPartition": {
    "hash": 0,
    "partition": 0,
    "topic": "topic"
  }
}
Name Type Required Description
offset integer false offset
timestamp number false timestamp
serializedKeySize integer false serialized key size
serializedValueSize number false serialized value size
topicPartition object false none
» hash integer false hash
» partition integer false partition
» topic string false topic

Parameters

Name In Type Required Description
dateField path string true The date field to filter: requestDate, messageDate, windowDate or cancellationDate
dateValue path string(date) true The value date
filters query string false Typical filters: externalReference, recipientRol, messageType, processType, …

Request example

1
2
3
4

curl -X POST https://mas-portability.sta.masstack.com/v2/sendKafkaEvents/{dateField}/{dateValue}?filters='donorOperator='00031'ANDrecipientRol=falseANDmessageTypeIN('DSP1','DSP2')' \
  -H "Accept: application/json"

Responses

Code Meaning Description Schema
200 OK Events sent [portabilityInfo]
400 Bad Request Invalid body None
404 Not Found Events not found None
405 Method Not Allowed Validation exception None

200 - instance of portabilityInfo

Custom schema example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
[
  {
    "phoneRanges": [
      {
        "nrnRange": "312800",
        "initialRange": "900000000",
        "endRange": "900000000"
      }
    ],
    "stateId": 1,
    "messageType": "DSP1",
    "externalReference": "MYSIM_112233",
    "brand": "MASMOVIL",
    "recipientRol": true,
    "processId": "00031202005111500003",
    "recipientOperator": "00031",
    "donorOperator": "00001",
    "requestDate": "2017-09-13T13:00:00",
    "messageDate": "2017-09-13T14:00:00",
    "windowDate": "2017-09-15T08:00:00",
    "cancellationDate": "2017-09-15T08:00:00",
    "processType": 15,
    "administrative": "445022444216",
    "lluProcessId": "550739346020000001",
    "fullNumberFlag": 0,
    "wholesalerFlag": 0,
    "accessType": "01",
    "donorResellerOperator": "REVENDEDOR",
    "recipientResellerOperator": "MASMOVIL",
    "subscriber": {
      "nif": "11111111H",
      "name": "nombre apellidos",
      "address": "Calle COLON",
      "postalCode": "28100",
      "province": "28",
      "town": "Madrid",
      "date": "2017-09-13T13:00:00"
    },
    "causeCode": "0001",
    "causeDescription": "Falta de correspondencia entre numeración y NIF/CIF del abonado del revendedor",
    "observations": "",
    "infoTariff": "",
    "internal": false,
    "isCancellable": false,
    "accessPhoneRanges": [
      {
        "accessType": "01",
        "initialRange": "900000000",
        "endRange": "900000000"
      }
    ],
    "eventList": [
      {
        "eventTimestamp": "2017-09-15T08:42:33.123456",
        "messageType": "DSP1",
        "messageId": "00031202005110000003",
        "subProcessId": "00031202005110200003",
        "eventType": "EVENT",
        "causeCode": "0001",
        "administrative": "445022444216"
      }
    ]
  }
]
Name Type Required Description
phoneRanges phoneRanges false none
stateId stateId false portability state
messageType messageType false Message type Portabaility
externalReference externalReference false externalReference associated
brand brand false brand associated
recipientRol recipientRol true operator rol recipient or donor
processId processId true process id in Portanet
recipientOperator recipientOperator false current recipient operator code
donorOperator donorOperator false initial donor operator code
requestDate requestDate false request date for portability
messageDate messageDate false date to send to Portanet
windowDate windowDate false portability window
cancellationDate cancellationDate false cancellation date
processType processType false process type
administrative administrative false administrative access number
lluProcessId lluProcessId false local loop unbundling identifier
fullNumberFlag fullNumberFlag false full number flag
wholesalerFlag wholesalerFlag false wholesaler flag
accessType accessType false portability access type
donorResellerOperator donorResellerOperator false donor reseller operator
recipientResellerOperator recipientResellerOperator false recipient reseller operator
subscriber subscriber false none
causeCode causeCode false cause code of a denied operation
causeDescription causeDescription false cause description of a denied operation
observations observations false observations of a portability
infoTariff infoTariff false info tariff of a portability
internal internal false is a portability between own operators
isCancellable isCancellable false is a portability cancellable
accessPhoneRanges accessPhoneRanges false none
eventList [event] false none

Endpoints

Portabilities

    Migrations

      Acquisitions

        Operations

          Producers

            Impersonate