whalecloud-dxp-api-react-native
Version:
This section explains how to use the SDK and illustrates it with an example: - This chapter is essential to learn - For specific business development, see [Bussiness Scenario](https://www.digchan.info/en-US/dxp/user-sso/sign-up) - The Business Scenario pr
1,062 lines (1,061 loc) • 972 kB
YAML
openapi: 3.0.3
info:
title: "DXP API"
description: ""
version: ""
license: { name: Eolink, url: "https://www.eolink.com" }
tags:
- { name: "Customer Management" }
- { name: "Account Management" }
- { name: "Subscriber Management" }
- { name: "Product Ordering" }
- { name: "Product Catalog Management" }
- { name: "Agreement Management" }
- { name: "Payment Management" }
- { name: "Customer Bill Management" }
- { name: "Customer Balance Management" }
- { name: "Usage Consumption Management" }
- { name: "Resource Inventory Management" }
- { name: "User Management" }
- { name: "User Management/Link" }
- { name: "User Management/Contact" }
- { name: "Common Management" }
- { name: "Trouble Ticket Management" }
- { name: "Promotion Management" }
- { name: "Package Advantage" }
- { name: "Content Management" }
- { name: "Menu Management" }
servers: {}
paths:
/dxp/customer-management/v1/customers:
{
post:
{
summary: "Add Customer",
description: "Create a customer.",
tags: ["Customer Management"],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/CustomerForAdd",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/AddOrModCustomerResp",
},
},
},
},
},
},
}
"/dxp/customer-management/v1/customers/{custNbr}":
{
get:
{
summary: "Query Customer Detail",
description: "Query customer details based on customer number.\r\nNote: Returns basic customer details, only one customer address is retained. For a list of customer addresses, call the query customer addresses API separately. For customer attachments, customer contacts, and customer certifications, call their respective APIs separately.",
tags: ["Customer Management"],
parameters:
[
{
in: path,
name: custNbr,
description: "A unique identifier for the customer. This is used to uniquely identify a customer within the system.",
required: true,
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryCustomerDetailResp",
},
},
},
},
},
},
post:
{
summary: "Modify Customer",
description: "Modify a customer.",
tags: ["Customer Management"],
parameters:
[
{
in: path,
name: custNbr,
description: "A unique identifier for the customer. This is used to uniquely identify a customer within the system.",
required: true,
schema: { type: string },
},
],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/CustomerForMod",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/AddOrModCustomerResp",
},
},
},
},
},
},
}
/dxp/customer-management/v1/customers/identification-types:
{
get:
{
summary: "Query Identification Types",
description: "Query the list of certification types.",
tags: ["Customer Management"],
parameters:
[
{
in: query,
name: custType,
description: "The type of customer, which can indicate whether the customer is an individual, or a corporate customer. A-Individual Customer; B-Corporate Customer",
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryIdentificationTypesResp",
},
},
},
},
},
},
}
/dxp/customer-management/v1/customers/identification/exist:
{
post:
{
summary: "Check Identification Existence",
description: "Check if a identification exists based on the certification type and certification number.",
tags: ["Customer Management"],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/CheckIdentificationExistenceReq",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/CheckIdentificationExistenceResp",
},
},
},
},
},
},
}
"/dxp/customer-management/v1/customers/{custNbr}/attachments":
{
get:
{
summary: "Query Customer Attachments",
description: "Query customer attachment list based on customer number",
tags: ["Customer Management"],
parameters:
[
{
in: path,
name: custNbr,
description: "The customer number parameter specifies the unique identifier of the customer for whom attachments are being queried.",
required: true,
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryCustomerAttachmentsResp",
},
},
},
},
},
},
}
"/dxp/customer-management/v1/customers/{custNbr}/contacts":
{
get:
{
summary: "Query Customer Contacts",
description: "Query customer contact list based on customer number.",
tags: ["Customer Management"],
parameters:
[
{
in: path,
name: custNbr,
description: "The customer number parameter specifies the unique identifier of the customer for whom contacts are being queried",
required: true,
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryCustomerContactsResp",
},
},
},
},
},
},
}
"/dxp/customer-management/v1/customers/{custNbr}/attributes":
{
get:
{
summary: "Query Customer Attributes",
description: "Query customer attribute list based on customer number.",
tags: ["Customer Management"],
parameters:
[
{
in: path,
name: custNbr,
description: "The customer number is a unique identifier assigned to each customer account within the system. ",
required: true,
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryCustomerAttributesResp",
},
},
},
},
},
},
}
"/dxp/customer-management/v1/customers/{custNbr}/identifications":
{
get:
{
summary: "Query Customer Identifications",
description: "Query customer identification list based on customer number.",
tags: ["Customer Management"],
parameters:
[
{
in: path,
name: custNbr,
description: "The customer number is a unique identifier assigned to each customer account within the system. ",
required: true,
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryCustomerIdentificationsResp",
},
},
},
},
},
},
}
"/dxp/customer-management/v1/customers/{custNbr}/addresses":
{
get:
{
summary: "Query Customer Addresses",
description: "Query customer address list based on customer number.",
tags: ["Customer Management"],
parameters:
[
{
in: path,
name: custNbr,
description: "The customer number is a unique identifier assigned to each customer account within the system. ",
required: true,
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryCustomerAddressesResp",
},
},
},
},
},
},
}
/dxp/account-management/v1/accounts:
{
get:
{
summary: "Query Account List",
description: "Query the account list based on customer number and pre/post-paid indicator.",
tags: ["Account Management"],
parameters:
[
{
in: query,
name: custNbr,
description: "A unique identifier for the customer. This is used to uniquely identify a customer within the system.",
required: true,
schema: { type: string },
},
{
in: query,
name: paidFlags,
description: "A flag indicating about account type, 0-prepaid,1-postpaid,2-hybird",
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryAccountListResp",
},
},
},
},
},
},
post:
{
summary: "Add Account",
description: "Create an account.",
tags: ["Account Management"],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/AccountForAdd",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/AddOrModAccountResp",
},
},
},
},
},
},
}
"/dxp/account-management/v1/accounts/{acctNbr}":
{
get:
{
summary: "Query Account Detail",
description: "Query account details based on account number.\r\nNote: If scopes are not provided, only basic account information is returned.",
tags: ["Account Management"],
parameters:
[
{
in: query,
name: scopes,
description: "contactList, acctAttrList, billDeliveryInfo ",
schema: { type: string },
},
{
in: path,
name: acctNbr,
description: "The unique number associated with the account.",
required: true,
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryAccountDetailResp",
},
},
},
},
},
},
post:
{
summary: "Modify Account",
description: "Modify an account.",
tags: ["Account Management"],
parameters:
[
{
in: path,
name: acctNbr,
description: "The unique number associated with the account.",
required: true,
schema: { type: string },
},
],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/AccountForMod",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/AddOrModAccountResp",
},
},
},
},
},
},
}
/dxp/subscriber-management/v1/subscribers/detail:
{
get:
{
summary: "Query Subscriber Detail",
description: "Query the subscriber list.\r\nNote: "serviceNumber", "custNbr", "acctNbr", "iccid" cannot all be empty.",
tags: ["Subscriber Management"],
parameters:
[
{
in: query,
name: subsId,
description: "The unique identifier for the subscriber.",
schema: { type: number },
},
{
in: query,
name: prefix,
description: "The prefix associated with the subscriber's service number.",
schema: { type: string },
},
{
in: query,
name: serviceNumber,
description: "The service number associated with the subscriber.",
schema: { type: string },
},
{
in: query,
name: scopes,
description: "The scopes or permissions related to the subscriber's data. offerInstList,attrValueList,installationAddrInfo, offerInstSpec",
schema: { type: string },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QuerySubscriberDetailResp",
},
},
},
},
},
},
}
/dxp/subscriber-management/v1/packages/available:
{
get:
{
summary: "Query Available Package",
description: "Query available optional packages and functional products based on subscriber ID, service number, and sales catalog.\r\nNote: "subsId", "serviceNumber" cannot both be empty.",
tags: ["Subscriber Management"],
parameters:
[
{
in: query,
name: subsId,
description: "The unique identifier for the subscriber.",
schema: { type: number, example: 123 },
},
{
in: query,
name: prefix,
description: "The prefix associated with the subscriber's service number.",
schema: { type: string, example: "86" },
},
{
in: query,
name: serviceNumber,
description: "The service number associated with the subscriber.",
schema:
{ type: string, example: "13999999999" },
},
{
in: query,
name: catgCode,
description: "The category code of the package.",
schema: { type: string, example: Promotion },
},
{
in: query,
name: offerType,
description: "Offer Type. 3-Function Offer,4-Additional Offer",
schema: { type: string, example: "4" },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryAvailablePackageResp",
},
},
},
},
},
},
}
/dxp/subscriber-management/v1/plans/detail:
{
get:
{
summary: "Query Plan Detail",
description: "Query subscriber plan details based on subscriber ID and service number.\r\nNote: "subsId", "serviceNumber" cannot both be empty.",
tags: ["Subscriber Management"],
parameters:
[
{
in: query,
name: subsId,
description: "The unique identifier for the subscriber.",
schema: { type: number, example: 123123 },
},
{
in: query,
name: prefix,
description: "The prefix associated with the subscriber's service number.",
schema: { type: string, example: "86" },
},
{
in: query,
name: serviceNumber,
description: "The service number associated with the subscriber.",
schema:
{ type: string, example: "13914799999\n" },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryPlanDetailResp",
},
},
},
},
},
},
}
/dxp/subscriber-management/v1/plans/switchable:
{
get:
{
summary: "Query Switchable Plan",
description: "Query switchable plan list based on subscriber ID, service number, and sales catalog.\r\nNote: "subsId", "serviceNumber" cannot both be empty.",
tags: ["Subscriber Management"],
parameters:
[
{
in: query,
name: subsId,
description: "The unique identifier for the subscriber.",
schema: { type: number, example: 1231 },
},
{
in: query,
name: prefix,
description: "The prefix associated with the subscriber's service number.",
schema: { type: string, example: "86" },
},
{
in: query,
name: serviceNumber,
description: "The service number associated with the subscriber.",
schema:
{ type: string, example: "13999999999" },
},
{
in: query,
name: catgCode,
description: "The category code of the plan.",
schema: { type: string, example: "Promtion\n" },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QuerySwitchablePlanResp",
},
},
},
},
},
},
}
/dxp/subscriber-management/v1/packages/ordered:
{
get:
{
summary: "Query Ordered Package",
description: "Query ordered optional packages and functional products based on subscriber ID and service number.\r\nNote: "subsId", "serviceNumber" cannot both be empty. If scopes are not provided, only basic information of the product instance is returned.",
tags: ["Subscriber Management"],
parameters:
[
{
in: query,
name: subsId,
description: "The unique identifier for the subscriber.",
schema: { type: number },
},
{
in: query,
name: prefix,
description: "The prefix associated with the subscriber's service number.",
schema: { type: string },
},
{
in: query,
name: serviceNumber,
description: "The service number associated with the subscriber.",
schema: { type: string },
},
{
in: query,
name: offerType,
description: "Offer Type. 3-Function Offer,4-Additional Offer",
schema: { type: string },
},
{
in: query,
name: scopes,
description: "The scope of the query, specifying which data to include.",
schema:
{
type: string,
example: offerSpecification,
},
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryOrderedPackageResp",
},
},
},
},
},
},
}
/dxp/subscriber-management/v1/subscribers/list:
{
post:
{
summary: "Query Subscriber List",
description: "Query the subscriber list.\r\nNote: "serviceNumber", "custNbr", "acctNbr", "iccid" cannot all be empty.",
tags: ["Subscriber Management"],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QrySubsListReq",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QuerySubscriberListResp",
},
},
},
},
201:
{
description: Created,
content:
{ application/json: { schema: {} } },
},
401:
{
description: Unauthorized,
content:
{ application/json: { schema: {} } },
},
403:
{
description: Forbidden,
content:
{ application/json: { schema: {} } },
},
404:
{
description: "Not Found",
content:
{ application/json: { schema: {} } },
},
},
},
}
/dxp/subscriber-management/v1/catalogs/packages/available:
{
get:
{
summary: "Query Available Package Group By Sales Catalog",
description: "Query available optional packages and functional products based on subscriber ID, service number, and parent sales catalog, group by sub-catalog.\r\nNote: "subsId", "serviceNumber" cannot both be empty.",
tags: ["Subscriber Management"],
parameters:
[
{
in: query,
name: subsId,
description: "The unique identifier for the subscriber.",
schema: { type: number, example: 123 },
},
{
in: query,
name: prefix,
description: "The prefix associated with the subscriber's service number.",
schema: { type: string, example: "86" },
},
{
in: query,
name: serviceNumber,
description: "The service number associated with the subscriber.",
schema:
{ type: string, example: "13999999999" },
},
{
in: query,
name: parentCatgCode,
description: "The category code of the package.",
required: true,
schema: { type: string, example: Promotion },
},
],
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryAvailablePkgGrpByCatgResp",
},
},
},
},
},
},
}
/dxp/product-ordering/v1/business-event/pre-check:
{
post:
{
summary: "Business Event Pre-Check",
description: "Check if a business event can be operated based on subscriber ID and service number.\r\nNote: "subsId", "serviceNumber" cannot both be empty.",
tags: ["Product Ordering"],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/BusinessEventPreCheckReq",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/BusinessEventPreCheckResp",
},
},
},
},
},
},
}
/dxp/product-ordering/v1/orders/list:
{
post:
{
summary: "Query Order List",
description: "Query the order list.\r\nNote: Not all query conditions can be empty.",
tags: ["Product Ordering"],
requestBody:
{
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryOrderListReq",
},
},
},
},
responses:
{
200:
{
description: OK,
content:
{
application/json:
{
schema:
{
$ref: "#/components/schemas/QueryOrderListResp",
},
},
},
},
},
},
}
/dxp/product-ordering/v1/orders/detail:
{
get:
{
summary: "Query Order Detail",
description: "Query order details based on order number.\r\nNote: If scopes are not provided, only basic order information is returned.",
tags: ["Product Ordering"],
parameters:
[
{
in: query,
name: orderNbr,
description: "The unique identifier for the order.",
schema: { type: string, example: ORD123123123 },
},
{
in: query,