Files
sf-sim/packages/sim-consumidor-alai/domain/AlaiAPI.ts

295 lines
5.8 KiB
TypeScript
Raw Normal View History

2026-05-07 13:53:02 +02:00
import { StringMappingType } from "typescript"
export namespace AlaiAPI {
2026-04-23 13:18:50 +02:00
export type LoginResponseDTO = {
accessToken: string,
tokenType: string,
refreshToken: string,
expiresIn: string // isodate
}
/**
Hardcodeado en:
sf-sim-connections/context/infrastructure/api/alaiService.js
const data = {
type: "RETAIL",
salesChannel: "OWN_CALLCENTER",
status: "CONFIRMED",
packages: [{ id: "Tarifa_250MB_100MIN_5SMS" }],
subscriber: { id: "16216" }
};
*/
export type CreateOrderDTO = {
type: "RETAIL" | string,
salesChannel: "OWN_CALLCENTER" | string,
status: "CONFIRMED" | string,
packages: { id: "Tarifa_250MB_100MIN_5SMS" | string }[],
subscriber: {
id: string
}
}
type OrderPackage = {
id: string,
name: string,
packagePrices: unknown,
packageInstance: {
id: string,
name: string,
links: Link[]
}
}
type Link = {
rel: string,
href: string,
hreflang: string,
media: string,
title: string,
type: string,
deprecation: string,
profile: string,
name: string
}
2026-05-05 13:12:31 +02:00
export type UpdateSubscriptionDTO = {
location: string
}
2026-05-05 17:31:08 +02:00
export type ApplyOrderDTO = UpdateSubscriptionDTO
2026-05-05 14:24:24 +02:00
2026-05-05 13:12:31 +02:00
export type Subscription = {
id: string,
name: string,
domain: string,
2026-05-07 13:53:02 +02:00
status: Status,
networkStatus: NetworkStatus,
type: "RETAIL" | string,
portabilityStatus: "NO_PORTABILITY" | string,
2026-05-05 13:12:31 +02:00
billingType: string,
creationDate: string, // ISODATE
firstActivationDate: string, // ISODATE
terminationDate: string, // ISODATE
balance: number,
balanceExpirationDate: string, // ISODATE
lastTrafficDate: string, // ISODATE
externalName: string,
language: string,
ntwID: string,
publicIdentity: string,
externalID: string,
2026-05-07 13:53:02 +02:00
lastMsisdnID: string,
msisdn: {
id: string,
name: string,
links: Link[]
},
lastIccID: string,
2026-05-05 13:12:31 +02:00
priceplan: {
id: string,
name: string,
pricePlanName: string
},
salesData: {
salesChannel: string,
salesPerson: string,
},
address: {
country: string,
state: string,
county: string,
city: string,
street: string,
postalCode: string,
number: string,
description: string,
neighborhood: string,
typeSettlement: string,
normalized: boolean,
externalID: string,
externalType: string,
spainSpecial: {
externalRefList:
{
refId: string,
refType: string
}[],
streetType: number,
ineCityCode: string,
ineSingularEntityCode: string,
floor: string,
door: string,
apartmentNumber: string,
staircaseNumber: string,
streetNrLast: string,
streetNrLastSuffix: string,
subUnitNumber: string,
buildingName: string,
homeID: string
},
iranSpecial: unknown,
mexicoSpecial: unknown,
brazilSpecial: unknown,
},
2026-05-07 13:53:02 +02:00
msisdnList: {
id: string,
name: string,
links: Link[]
}[],
terminalList: {
id: string,
name: string,
links: Link[]
}[]
2026-05-05 13:12:31 +02:00
}
export type CreateOrderResponseDTO = {
id: string,
name: string,
domain: string,
orderCode: string,
externalID: string,
type: string,
status: string,
saleStatus: string,
distributionStatus: string,
description: string,
salesChannel: string,
salesPerson: string,
deliveryType: string,
distributionInfo: {
providerID: string,
providerReference: string,
providerTracking: string,
cashOnDelivery: boolean,
prepaidShipping: boolean,
description: string,
events: {
status: string,
observations: string,
date: string | Date,
expectedDeliveryDate: string | Date,
completedDeliveryDate: string | Date,
}[]
},
packages: OrderPackage[],
subscription: {
id: string,
name: string,
links: Link[]
}
subscriber: {
id: string,
name: string,
links: Link[]
}
brand: {
id: string,
name: string,
links: Link[]
}
pos: {
id: string,
name: string,
links: Link[]
}
links: Link[]
}
2026-05-04 09:37:06 +02:00
2026-05-07 13:53:02 +02:00
export type NetworkStatus =
"ACTIVE" |
"BLOCKED" |
"DEACTIVATE" |
"FRAUD" |
"PRE_ACTIVE"
export type Status =
"ABORTED" |
"ACTIVE" |
"BLOCKEDCORE" |
"BLOCKEDFRAUD" |
"CANCELLED" |
"CONFIGURING" |
"DELETED" |
"PRE_ACTIVE" |
"TERMINATED"
2026-05-04 09:37:06 +02:00
export type Sim = {
id: string,
name: string,
simCode: string,
puk: string,
puk2: string,
pin: string,
pin2: string,
status: string,
storeStatus: string,
statusEsim: string,
pool: {
id: string,
name: string,
links: Link[]
},
sourcePool: {
id: string,
name: string,
links: Link[]
},
subscription?: {
2026-05-04 09:37:06 +02:00
id: string,
name: string,
links: Link[]
},
imsi: {
id: string,
name: string,
links: Link[]
},
msisdn: {
id: string,
name: string,
links: Link[]
},
distributedPos: {
id: string,
name: string,
links: Link[]
},
pkgi: {
id: string,
name: string,
links: Link[]
},
links: Link[]
}
2026-05-07 13:53:02 +02:00
export type GetImeiSubscriptionDTO = {
links: Link[],
content: {
id: string,
sim: {
id: string,
links: Link[]
},
imsi: string,
lastChange: string, //ISODATE
lastUpdate: string, //ISODATE
model: string,
subscription: {
id: string,
links: Link[]
},
links: Link[]
}[],
page: {
size: number,
totalElements: number,
totalPages: number,
number: number
}
}
}
2026-05-04 09:37:06 +02:00