api:porting:join-portings
Table of Contents
API : Porting Join
Introduction
This request is used to join multiple portings into a single porting.
The numbers of the other portings move to this porting, and the other portings are cancelled. All portings are loaded and checked, and the joined porting is validated, before anything is changed. If an error is returned, all portings are left as they were.
Request
| URL | https://api.telecomx.dk/porting/PORTING_ID/join | |
|---|---|---|
| Method | POST | |
| Access level | OWNER, RESELLER, RESELLER_ADMIN or ADMIN. | |
| Param | PORTING_ID | Id of the porting (24 hex-char string) |
| Body | join | List of ids of other portings that shall be joined with this porting. An id listed more than once is joined once. All portings must belong to the same customer, have the same number type, and be at a stage before IN_ORDERED. |
Body example
{ join: [ '12345678901234567890ABCD', '12345678901234567890AAAA', '12345678901234567890BBBB'
Response
| Property | Type | Description |
|---|---|---|
| _id | Id | Id of the porting. |
| ichId | String | ICH id. |
| ochFlowId | String | OCH flow id. |
| number | String | The phone number in E.164 format |
| additionalNumbers | Array | If porting a series (at least 10 numbers) this is an array of the additional numbers in E.164 format. |
| numberType | String | Type of numbers: SIP or MVNO. |
| portingType | String | Type of porting: IN or OUT. |
| network | String | The network the number is bound to: FIXED, FIXEDTDC, MVNOTELENOR, MVNOTDC, INTERNATIONAL. |
| donorSimNumber | String | ICC/Sim card number from current SIM at donor operator. Only valid for MVNO portings. |
| donorCustomerId | String | Id number of customer at donor operator, if known. |
| customer | Id | Id of customer the porting belongs to. |
| reseller | Id | Id of the reseller the customer belongs to. |
| voiceAccount | Id | Id of voice account (SIP or MVNO account) the porting belongs to. |
| status.date | Date | The date and time the porting entered the current stage. |
| status.stage | String | The current stage of the porting, see list of porting stages here. |
| status.message | String | If stage is OUT_REJECTED then: AUTH_MISSING (No POA or valid ICC received in time ), WRONG_NUMBER (POA customer or signer is not the owner of the number), SIM_MISMATCH (SIM/ICC is not correct for the number) or NOT_IN_USE (Number is not in use). If stage is IN_CONFIRMED or OUT_CONFIRMED then: the porting date chosen. If stage is IN_DONOR_CONTACTED, OUT_RECEIVER_CONTACTED or IN_CANCELLED then: this is an optional message. |
| status.employee | Id | Id of the employee who caused the porting to move to the current stage, null if done by system. |
| statusHistory | Array | Array of Status object (4 rows above), for the previous stages the porting has been at. |
| operator | String | CPS code of the donor or receiving operator. |
| operatorName | String | Name of the donor or receiving operator. |
| createdDate | Date | The date the porting was created. |
| requestedDate | Date | The requested date for the porting to be carried out. |
| orderedDate | Date | The date the porting was ordered. Null if not yet ordered. |
| portingDate | Date | The actual date the porting will be carried out. Null if not yet determined. |
| documents | Array | List of Ids of the Power Of Attorney documents received/uploaded from the customer. |
| documents[]._id | Id | Id of the document, used for downloading it. |
| documents[].filename | String | Name of the file. |
| documents[].size | Integer | Size of the file in bytes. |
| notify | Array | Array of e-mail address of the people who wish to be notified when a porting progresses. |
| auth | String | If porting is inbound, this is the type of authentication the donor service operator requires: FAX, EMAIL, ICC, ICC_FAX, ICC_EMAIL. |
| validation | String | If porting is inbound, number type is MVNO, and auth is ICC/ICC_FAX/ICC_EMAIL then this may contains a regular expression showing how to validate the donorSimNumber. |
| customSeries | Boolean | True if number series has custom formatting. |
| customSeriesData | Array | List of custom series data, one series pr. line, <e.164-number>-<e.164 number> |
| customSeriesPrimary | String | Custom series primary number. |
| mitIdEnabled | Boolean | True if poa can be created to be signed with mitId (does reseller have criipto integration) |
| mitIdData | Array | Array of objects containing data relevant to POA's to be signed with mitId |
| mitIdData[].href | String | URL to signing poa. |
| mitIdData[].updatedAt | Date | Date of when POA was updated / created as dd-MM-yyyy. |
| mitIdData[].signatureOrderId | String | Id of signatory in Criipto. |
| mitIdData[].state | String | The current state of the signature order - if not “NEW” it will not be included in get request. |
Note that properties holding no value may be omitted from the object.
Example
{ _id: '1234567890ABCDEF12345678', ichId: '565254645', ochFlowId: '567356575663673', number: '+4570305050', additionalNumbers: ['+4570305051','+4570305052','+4570305053','+4570305054','+4570305055','+4570305056','+4570305057','+4570305058','+4570305059'], numberType: 'SIP', portingType: 'IN', status: { date: '2014-01-01T12:34:56.789Z', stage: 'IN_CONFIRMED', message: '2014-02-01T12:34:56.789Z', employee: '1234567890ABCDEF12345678' }, statusHistory: [ { ... }, { ... }, { ... } ], operator: '01015', operatorName: 'Telenor', createdDate: '2014-01-01T12:34:56.789Z', requestedDate: '2014-01-01T12:34:56.789Z', orderedDate: '2014-01-01T12:34:56.789Z', portingDate: '2014-01-01T12:34:56.789Z', documents: ['1234567890ABCDEF12345678','1234567890ABCDEF12345678','1234567890ABCDEF12345678'], notify: ['donald@disney.com','goofy@disney.com'], customSeries: false }
Errors
| Error code | Message | Description |
|---|---|---|
| 400 | bad_request | Porting id not found in requested URI |
| 404 | not_found | Porting not found |
| 404 | join | No other porting ids to merge into this one |
| 409 | status.stage | Porting is not at the right stage to join |
| 409 | join | Porting is not at the right stage to join - one of the portings in join |
| 409 | join | A porting cannot be joined with itself |
| 409 | join | Only portings of the same customer and number type can be joined |
| 422 | <property> | The joined porting is not valid, e.g. notify: The e-mail address 'X' is invalid. See Porting Update |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/porting/join-portings.txt · Last modified: by Thomas Andersen