සංවර්ධකයින්
වාහන ක්ෂේත්රය සඳහා API
B.U.S. වේදිකාව වාහන පරීක්ෂාව, තක්සේරුව, ගුණාත්මක සහතිකය සහ AI පාදක වාහන විශ්ලේෂණය සඳහා API ලබා දෙයි. පරීක්ෂණ දත්ත සහිත විවෘත sandbox සහ REST අන්ත ලක්ෂ්ය සඳහා OpenAPI ලේඛන. අප හා සම්බන්ධ වන්න, අපි ඔබට පිවිසුම් තොරතුරු එවන්නෙමු.
ආරම්භ කරන ආකාරය
-
ඇති දේ බලන්න
API නාමාවලිය ලබා ගත හැකි endpoint, ලේඛන සහ උදාහරණ සමඟ පෙන්වයි.
-
sandbox තුළ ගොඩනගන්න
පරීක්ෂණ දත්ත සහිත විවෘත sandbox පරිසරයක්. අප හා සම්බන්ධ වන්න, අපි ඔබට පරීක්ෂණය සඳහා පරිශීලක නාමය, මුරපදය සහ API යතුර එවන්නෙමු. මෙය නොමිලේ.
-
නිෂ්පාදනයට යන්න
ඔබ සූදානම් වූ විට, ඔබේ සමාගම් විස්තර, API භාවිත කිරීමේ අරමුණ සහ අපේක්ෂිත පරිමාව සමඟ support@bus.no වෙත ඊමේල් කරන්න. අනුමැතියට වැඩ කරන දින දෙකක් ගත වේ. අපි ඔබේ සැකසුම තහවුරු කර නිෂ්පාදන යතුරු ලබා දෙන්නෙමු.
API නාමාවලිය
GraphQL. Predikerte feil for et kjøretøy
Oscar Inspector. AI බලයෙන් වාහන තීක්ෂ්ණ බුද්ධිය
සන්නාමය, මාදිලිය සහ කිලෝමීටර මානය මත පදනම්ව පුරෝකථනය කළ දෝෂ සහ නඩත්තු අවශ්යතා. සැබෑ පරීක්ෂා මිලියන 20කට වඩා මත ගොඩනගා ඇත. API-first, සියලුම වෙළඳපොළවල ලබා ගත හැකි, සහ ආරම්භ කිරීමට වේගවත්ම API එක. රක්ෂණ සමාගම්, වෙළඳපොළ, ලීසිං සමාගම් සහ වාහන සේවා මධ්යස්ථාන පද්ධති විසින් භාවිත කෙරේ.
PKK. වාහන කාලීන පරීක්ෂාව
පරීක්ෂණ ප්රතිඵල, දෝෂ කේත, ඉතිහාසය සහ නැවත පරීක්ෂා කිරීමේ තත්ත්වය. දත්ත පදනම නෝර්වේ වෙළඳපොළෙන් 75 %ක් ආවරණය කරයි.
Test. තක්සේරුව සහ තත්ත්ව දත්ත
හානි ඇගයීම, අලුත්වැඩියා වියදම්, අමතර කොටස් මිල සහ තත්ත්ව වාර්තා. විකුණුම් සහාය, ඇපකර ඇගයීම සහ මිල ආකෘති සඳහා භාවිත කෙරේ.
Test API හි සියලුම ක්රම බලන්නගුණාත්මක සහතිකය
අභ්යන්තර පාලනය, අපගමන කළමනාකරණය, උපකරණ පරීක්ෂාව සහ ක්රමාංකන. compliance සහ විගණනය සඳහා අදාළ ය.
තවත් API
නාමාවලිය අඛණ්ඩව පුළුල් කෙරේ.
Oscar Inspector API
වාහනයක් සඳහා AI ආධාරක දෝෂ අනාවැකි. Test API හා සමාන සත්යාපනයක් භාවිතා වේ — token_ApplyToken2 සමඟ ටෝකනයක් ලබා ගැනීමේදී applicationId 5 භාවිතා කරන්න. Oscar Inspector සතුව Test API වෙන් වූ තමන්ගේම endpoint සහ schema ඇත. උදාහරණ විමසුම පෙන්වයි; පිළිතුර වාහනය අනුව වෙනස් වේ.
සත්යාපනය
සෑම ඇමතුමක්ම header දෙකක් යවයි: Authorization: Bearer <accessToken> සහ x-api-key: <apiKey>. API යතුර යනු අපගෙන් ලැබෙන වෙනම, දිගුකාලීන යතුරකි. Sandbox යතුරු අප හා සම්බන්ධ වීමෙන් ලැබේ. ටෝකන ලබා ගැනීම සහ අලුත් කිරීම මෙහි සිදු වේ.
| Sandbox | https://test.bus.no/BUSPlatform3/SecurityPortal/BUS.APIs.GraphQLServer.P3.SecurityPortal.Tool |
|---|
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/SecurityPortal/BUS.APIs.GraphQLServer.P3.SecurityPortal.Endpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/SecurityPortal/BUS.APIs.GraphQLServer.P3.SecurityPortal.Endpoint1 |
Query token_ApplyToken2 පරිශීලකයෙකු සහ යෙදුමක් සඳහා id, access සහ refresh token ලබා ගනී.
පරාමිති
username: String!
password: String!
apiKey: String!
applicationId: Int! පිළිතුර
idToken: String
accessToken: String
refreshToken: String සටහන්
- Oscar Inspector සඳහá applicationId 5 අවශ්ය වේ. Test API එක වෙනත් applicationId එකක් භාවිතා කරයි.
- accessToken මිනිත්තු 60ක් වලංගුය. refreshToken දින 90ක් වලංගුය.
- අලුත් කිරීමට: refreshToken සමඟ token_RefreshToken භාවිතා කරන්න. සෑම කල් ඉකුත්වීමකදීම token_ApplyToken2 නැවත අමතන්න එපා.
- refreshToken කල් ඉකුත් වී ඇත්නම්, token_ApplyToken2 සමඟ සම්පූර්ණ නව කට්ටලයක් ලබා ගත යුතුය.
උදාහරණය
query {
token_ApplyToken2(
username: ""
password: ""
apiKey: ""
applicationId: 5
) {
idToken
accessToken
refreshToken
}
} උදාහරණ පිළිතුර
{
"data": {
"token_ApplyToken2": {
"idToken": "",
"accessToken": "",
"refreshToken": ""
}
}
} Query token_RefreshToken නැවත ඇතුල් නොවී, refresh token මගින් token අලුත් කරයි.
පරාමිති
apiKey: String!
applicationId: Int!
refreshToken: String! පිළිතුර
idToken: String
accessToken: String
refreshToken: String සටහන්
- accessToken මිනිත්තු 60ක් වලංගුය. refreshToken දින 90ක් වලංගුය.
- refreshToken කල් ඉකුත් වී ඇත්නම්, token_ApplyToken2 සමඟ සම්පූර්ණ නව කට්ටලයක් ලබා ගත යුතුය.
උදාහරණය
query {
token_RefreshToken(
apiKey: "",
applicationId: 5,
refreshToken: ""
){
idToken
accessToken
refreshToken
}
} උදාහරණ පිළිතුර
{
"data": {
"token_RefreshToken": {
"idToken": "",
"accessToken": "",
"refreshToken": ""
}
}
} දෝෂ අනාවැකිය
ලියාපදිංචි අංකය සහ කිලෝමීටර ප්රමාණය මත පදනම්ව අනාවැකි දෝෂ සහ නඩත්තු අවශ්යතා.
| Sandbox | https://test.bus.no/BUSPlatform3/BUSDataPortal/BUS.APIs.GraphQLServer.P3.BUSDataPortal.Tool/ |
|---|
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/BUSDataPortal/BUS.APIs.GraphQLServer.P3.BUSDataPortal.ExternalEndpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/BUSDataPortal/BUS.APIs.GraphQLServer.P3.BUSDataPortal.ExternalEndpoint1 |
Query busData_GetDefectPredictions වාහනයක් සඳහා අනාවැකි දෝෂ ලබා දෙයි, එක් එක් දෝෂය සඳහා සම්භාවිතාව සහ පැහැදිලි කිරීම සමඟ.
පරාමිති
requestId: String?
regNo: String
mileage: Int!
valuationId: Int?
inspectionId: Int?
language: String?
isMileageSuggestion: Boolean!
windowSize: Int!
refNo: String? පිළිතුර
result: DefectPredictionOutput සටහන්
- පිළිතුරේ requestId, busData_RecordUserFeedback හි originalRequestId ලෙස භාවිතා වේ.
උදාහරණය
query {
busData_GetDefectPredictions(
requestId: "8ef2a2d7-4373-4f93-b57e-d151a192edad"
regNo: "CF66983"
mileage: 50000
) {
requestId
noOfPredictions
defectPredictions {
checkpointTypeGroupId
checkpointTypeGroup
probability
}
errorCodes
}
} උදාහරණ පිළිතුර
{
"data": {
"busData_GetDefectPredictions": {
"requestId": "8ef2a2d7-4373-4f93-b57e-d151a192edad",
"noOfPredictions": 10,
"defectPredictions": [
{
"checkpointTypeGroupId": 1061,
"checkpointTypeGroup": "Bremsetromler, bremseskiver: Trommel eller skive har for stor slitasje, med synlige-/for store riper eller sprekker, ikke tilstrekkelig festet eller brukket",
"probability": 11.320754716981131
}
],
"errorCodes": null
}
}
} ප්රතිපෝෂණය
අනාවැකිය නිවැරදි වූයේදැයි සටහන් කර, ලබා දිය හැකි හේතු ලබා ගන්න.
| Sandbox | https://test.bus.no/BUSPlatform3/BUSDataPortal/BUS.APIs.GraphQLServer.P3.BUSDataPortal.Tool/ |
|---|
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/BUSDataPortal/BUS.APIs.GraphQLServer.P3.BUSDataPortal.ExternalEndpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/BUSDataPortal/BUS.APIs.GraphQLServer.P3.BUSDataPortal.ExternalEndpoint1 |
Query busData_GetUserFeedbackReasons අනාවැකිය වැරදි වූ විට පරිශීලකයෙකුට දැක්විය හැකි හේතු ලැයිස්තුගත කරයි.
පරාමිති
requestId: String? පිළිතුර
result: UserFeedbackReasonOutput සටහන්
- userFeedbackReasonId, busData_RecordUserFeedback හි userFeedbackReasons සඳහා අගය ලෙස භාවිතා වේ.
උදාහරණය
query {
busData_GetUserFeedbackReasons(requestId: "4c84c8db-3f1f-427c-b2ad-f00725f430b9") {
requestId
userFeedbackReasons {
userFeedbackReasonId
displayString
userFeedbackReasonType
}
errorCodes
}
} උදාහරණ පිළිතුර
{
"data": {
"busData_GetUserFeedbackReasons": {
"requestId": "4c84c8db-3f1f-427c-b2ad-f00725f430b9",
"userFeedbackReasons": [
{
"userFeedbackReasonId": 2000,
"displayString": "Tidsbesparende",
"userFeedbackReasonType": 1
},
{
"userFeedbackReasonId": 2001,
"displayString": "Høy treffsikkerhet",
"userFeedbackReasonType": 1
}
],
"errorCodes": null
}
}
} Mutation busData_RecordUserFeedback පෙර අනාවැකියක් සඳහා ප්රතිපෝෂණයක් සටහන් කරයි.
පරාමිති
requestId: String?
originalRequestId: String?
isSatisfied: Boolean!
timeTakenForFeedback: Int!
userId: Int!
username: String?
organizationId: Int!
organizationName: String?
userFeedbackReasons: [Int]
time: DateTime? පිළිතුර
result: RecordUserFeedbackOutput උදාහරණය
mutation {
busData_RecordUserFeedback(
requestId: "1e692aa0-5a9b-400f-beef-7a53e27d26a2"
originalRequestId: "8ef2a2d7-4373-4f93-b57e-d151a192edad"
isSatisfied: true
organizationId: 1
organizationName: "unit 1"
timeTakenForFeedback: 3000
userId: 2
username: "Nuwan"
userFeedbackReasons: [2, 3]
) {
requestId
errorCodes
}
} උදාහරණ පිළිතුර
{
"data": {
"busData_RecordUserFeedback": {
"requestId": "1e692aa0-5a9b-400f-beef-7a53e27d26a2",
"errorCodes": null
}
}
} දත්ත ආකෘති
පරාමිති සහ ප්රතිචාරවල භාවිත වන වර්ග.
DefectPredictionOutput
RequestId: String
NoOfPredictions: Int
DefectPredictions: [DefectPrediction]
MileageSuggestions: [Int]
ErrorCodes: [Int]
TimeElapsed: Decimal DefectPrediction
CheckpointTypeGroupId: Int
CheckpointTypeGroup: String?
CheckPointTypeGroupDescription: String?
Probability: Decimal
Explanation: String?
ConfidenceThreshold: Decimal
Function: String?
WindowSize: Int UserFeedbackReasonOutput
RequestId: String
UserFeedbackReasons: [UserFeedbackReason]
ErrorCodes: [Int] UserFeedbackReason
UserFeedbackReasonId: Int
DisplayString: String?
UserFeedbackReasonType: Int RecordUserFeedbackOutput
RequestId: String
ErrorCodes: [Int] API යොමුව. Test, තක්සේරුව සහ තත්ත්ව වාර්තාව
Test API හි සියලුම ක්රම, භාවිතය අනුව කාණ්ඩගත කර ඇත. පරාමිති, ප්රතිචාර සහ ඔබට ධාවනය කළ හැකි උදාහරණයක් බැලීමට ක්රමයක් විවෘත කරන්න.
සත්යාපනය
සෑම ඇමතුමක්ම header දෙකක් යවයි: Authorization: Bearer <accessToken> සහ x-api-key: <apiKey>. API යතුර යනු අපගෙන් ලැබෙන වෙනම, දිගුකාලීන යතුරකි. Sandbox යතුරු අප හා සම්බන්ධ වීමෙන් ලැබේ. ටෝකන ලබා ගැනීම සහ අලුත් කිරීම මෙහි සිදු වේ.
| Sandbox | https://test.bus.no/BUSPlatform3/SecurityPortal/BUS.APIs.GraphQLServer.P3.SecurityPortal.Tool |
|---|
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/SecurityPortal/BUS.APIs.GraphQLServer.P3.SecurityPortal.Endpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/SecurityPortal/BUS.APIs.GraphQLServer.P3.SecurityPortal.Endpoint1 |
Query token_ApplyToken2 පරිශීලකයෙකු සහ යෙදුමක් සඳහා id, access සහ refresh token ලබා ගනී.
පරාමිති
username: String!
password: String!
apiKey: String!
applicationId: Int! පිළිතුර
idToken: String
accessToken: String
refreshToken: String සටහන්
- accessToken මිනිත්තු 60ක් වලංගුය. refreshToken දින 90ක් වලංගුය.
- අලුත් කිරීමට: refreshToken සමඟ token_RefreshToken භාවිතා කරන්න. සෑම කල් ඉකුත්වීමකදීම token_ApplyToken2 නැවත අමතන්න එපා.
- refreshToken කල් ඉකුත් වී ඇත්නම්, token_ApplyToken2 සමඟ සම්පූර්ණ නව කට්ටලයක් ලබා ගත යුතුය.
උදාහරණය
query {
token_ApplyToken2(
username: ""
password: ""
apiKey: ""
applicationId: 13
) {
idToken
accessToken
refreshToken
}
} උදාහරණ පිළිතුර
{
"data": {
"token_ApplyToken2": {
"idToken": "",
"accessToken": "",
"refreshToken": ""
}
}
} Query token_RefreshToken නැවත ඇතුල් නොවී, refresh token මගින් token අලුත් කරයි.
පරාමිති
apiKey: String!
applicationId: Int!
refreshToken: String! පිළිතුර
idToken: String
accessToken: String
refreshToken: String සටහන්
- accessToken මිනිත්තු 60ක් වලංගුය. refreshToken දින 90ක් වලංගුය.
- refreshToken කල් ඉකුත් වී ඇත්නම්, token_ApplyToken2 සමඟ සම්පූර්ණ නව කට්ටලයක් ලබා ගත යුතුය.
උදාහරණය
query {
token_RefreshToken(
apiKey: "",
applicationId: 13,
refreshToken: ""
){
idToken
accessToken
refreshToken
}
} උදාහරණ පිළිතුර
{
"data": {
"token_RefreshToken": {
"idToken": "",
"accessToken": "",
"refreshToken": ""
}
}
} තක්සේරු
වාහන දත්ත, ලීසිං දත්ත සහ වාර්තා සමඟ තක්සේරු සාදන්න, කියවන්න, යාවත්කාලීන කරන්න සහ ලැයිස්තුගත කරන්න. පහත උදාහරණ පරීක්ෂණ පරිසරයේ ඇති ලියාපදිංචි අංක සහ ID භාවිතා කරයි. පරීක්ෂණ පිවිසුම ඉල්ලා අප හා සම්බන්ධ වූ විට ඔබේ ගිණුමට ගැළපෙන පරීක්ෂණ දත්ත ලැබේ.
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
Mutation Test_CreateTest වාහනයක් සඳහා නව තක්සේරුවක් සාදයි. තක්සේරු ID ආපසු දෙයි.
පරාමිති
vehicleDataModel: VehicleDataModel!
testDataModel: TestDataModel! අවශ්ය
-
testTypeIds -
unitId -
regNo / vin
පිළිතුර
result: Int උදාහරණය
mutation{
test_CreateTest(testDataModel: {
testTypeIds: [ 3 ],
unitId: 1,
externalReferenceId: "454532",
mileage: 45000,
testAnnotations: ["Fleet"]
serviceData: [ {
mileage: 2000,
date: "2022-04-05"
},
{
mileage: 10000,
date: "2023-06-23"
}],
testComments: ["This is comment 1", "This is comment 2"],
testOrderedBy: "FirstName LastName"
},
vehicleDataModel: {
regNo: "",
vin: "YV1DZARCDH2231635",
trimLevel: "M Sport",
vehiclePackages: [ {
packageName: "Comfort package",
vehicleOptions: [ {
optionName: "Dragkrok, elektrisk",
includedItems: "Stabilitetsprogram släp\nVikter: totalvikt (kg): 3 500"
}]
}],
vehicleOptions: [ {
optionName: "Adaptiva LED strålkastare",
includedItems: "Kurvljus\nLED-detaljljus"
}]
}
)
} උදාහරණ පිළිතුර
{
"data": {
"test_CreateTest": 54
}
} Mutation testData_CreateLeaseData තක්සේරුවකට ලීසිං දත්ත එක් කරයි: නිෂ්පාදන වර්ගය, මිලදී ගැනීමේ මිල, ගිවිසුම් යොමුව සහ තවත්.
පරාමිති
testId: Int!
leaseDataModel: LeaseDataModel! පිළිතුර
result: Boolean උදාහරණය
mutation{
testData_CreateLeaseData(testId: 21, leaseDataModel: {
productType: "Full Service Leasing (FSL-SE)",
purchasePrice: 23.50,
quotationTemplate: "Release plus commercial",
repairMaintenance: "Included",
transportDate: "2025-01-21",
winterTyres: "Not Included",
contractReference: "777777"
}
)
} උදාහරණ පිළිතුර
{
"data": {
"testData_CreateLeaseData": true
}
} Mutation testData_CreateLeaseUserData තක්සේරුවකට ලීසිං පාරිභෝගිකයා සහ සම්බන්ධතා පුද්ගලයින් එක් කරයි: වාහන සමූහ භාර පුද්ගලයා, රියදුරු සහ තවත්.
පරාමිති
testId: Int!
leaseUserDataModel: LeaseUserDataModel! පිළිතුර
result: Boolean උදාහරණය
mutation{
testData_CreateLeaseUserData(testId: 21, leaseUserDataModel: {
customerId: "500000",
customerName: "customer",
fleetManagerName: "fleet manager",
fleetManagerEmail: "fleetManager@test.com",
installationRecipientEmail: "installationRecipient@test.com",
kamName: "KAM Name",
kamEmail: "kam@test.com",
driverName: "driver",
driverPhone: "944998989",
driverEmail: "driver@test.com"
}
)
} උදාහරණ පිළිතුර
{
"data": {
"testData_CreateLeaseUserData": true
}
} Query Test_GetTest තත්ත්වය, කිලෝමීටර මානය සහ සේවා ඉතිහාසය සමඟ තක්සේරුවක් ලබා ගනී.
පරාමිති
testId: Int! පිළිතුර
result: TestDataModel සටහන්
- testStatus සහ පරීක්ෂණ ස්ථාන නම් වැනි දේශීයකරණ ලද පෙළ ක්ෂේත්ර ඇමතුම්කරුගේ culture අනුව ලබා දේ. culture ලබා ගන්නේ ටෝකනයේ culture claim එකෙනි, Accept-Language වෙත ආපසු යාම සමඟ. උදාහරණය ස්වීඩන් culture සමඟ ගන්නා ලදි.
උදාහරණය
query{
test_GetTest(testId: 32685)
{
testId,
externalReferenceId,
mileage,
serviceData {
date,
mileage,
comment
},
unitId,
testTypeIds,
testStatus,
testComments
}
} උදාහරණ පිළිතුර
{
"data": {
"test_GetTest": {
"testId": 59,
"externalReferenceId": "45678",
"mileage": 45000,
"serviceData": [
{
"date": "2022-04-04T18:30:00.000Z",
"mileage": 2000,
"comment": null
},
{
"date": "2023-06-22T18:30:00.000Z",
"mileage": 10000,
"comment": null
}
],
"unitId": 1,
"testTypeIds": [
2
],
"testStatus": "Test påbörjad",
"testComments": []
}
}
} Query Test_GetTestFiles තක්සේරුවකට අයත් රූප සහ ගොනු ලබා ගනී.
පරාමිති
testId: Int! පිළිතුර
result: [TestFileModel] උදාහරණය
query{
test_GetTestFiles(testId: 32685)
{
fileUrl,
fileName,
testSectionId,
mediaId
}
} උදාහරණ පිළිතුර
{
"data": {
"test_GetTestFiles": [
{
"fileUrl": "https://…/fil.jpg?sv=…&sig=…",
"fileName": "image (9).jpg",
"testSectionId": 6,
"mediaId": "CD......"
},
{
"fileUrl": "https://…/fil.jpg?sv=…&sig=…",
"fileName": "image (10).jpg",
"testSectionId": 6,
"mediaId": "CD......"
},
{
"fileUrl": "https://…/fil.jpg?sv=…&sig=…",
"fileName": "image (17).jpg",
"testSectionId": 1,
"mediaId": "CD......"
}
]
}
} Query TestData_GetVehicleData වාහන දත්ත ලබා ගනී: ලියාපදිංචි අංකය, චැසි අංකය, උපකරණ සහ පැකේජ.
පරාමිති
testId: Int! පිළිතුර
result: VehicleDataModel උදාහරණය
query{
testData_GetVehicleData(testId: 59)
{
regNo,
vin,
trimLevel,
vehicleOptions {
optionName,
includedItems,
isSelected
},
vehiclePackages {
packageName,
isSelected,
vehicleOptions {
optionName,
includedItems,
isSelected
}
}
color,
model,
make,
gearBox,
engine,
inspectionDueDate,
lastInspectedDate
}
} උදාහරණ පිළිතුර
{
"data": {
"testData_GetVehicleData": {
"regNo": "YSA053",
"vin": "YV1DZARCDH2231635",
"trimLevel": "M Sport",
"vehicleOptions": [
{
"optionName": "Adaptiva LED strålkastare",
"includedItems": "Kurvljus\nLED-detaljljus",
"isSelected": false
}
],
"vehiclePackages": [
{
"packageName": "Comfort package",
"isSelected": false,
"vehicleOptions": [
{
"optionName": "Dragkrok, elektrisk",
"includedItems": "Stabilitetsprogram släp\nVikter: totalvikt (kg): 3 500",
"isSelected": false
}
]
}
],
"color": "Svart",
"model": "XC60",
"make": "Volvo",
"gearBox": "Automat",
"engine": "2.0 D3 D4204T9 (110 kW)",
"inspectionDueDate": "2027-07-30T22:00:00.000Z",
"lastInspectedDate": "2025-07-21T22:00:00.000Z"
}
}
} Query testData_GetLeaseData තක්සේරුවක ලීසිං දත්ත ලබා ගනී.
පරාමිති
testId: Int! පිළිතුර
result: LeaseDataModel උදාහරණය
query{
testData_GetLeaseData(testId: 21) {
productType
purchasePrice
quotationTemplate
repairMaintenance
transportDate
winterTyres
}
} උදාහරණ පිළිතුර
{
"data": {
"testData_GetLeaseData": {
"productType": null,
"purchasePrice": null,
"quotationTemplate": null,
"repairMaintenance": null,
"transportDate": null,
"winterTires": null
}
}
} Query testData_GetLeaseUserData තක්සේරුවක ලීසිං පාරිභෝගිකයා සහ සම්බන්ධතා පුද්ගලයින් ලබා ගනී.
පරාමිති
testId: Int! පිළිතුර
result: LeaseUserDataModel උදාහරණය
query{
testData_GetLeaseUserData(testId: 21) {
customerId
customerName
fleetManagerName
fleetManagerEmail
installationRecipientEmail
kamName
kamEmail
driverName
driverPhone
driverEmail
}
} උදාහරණ පිළිතුර
{
"data": {
"testData_GetLeaseUserData": {
"customerId": null,
"customerName": null,
"fleetManagerName": null,
"fleetManagerEmail": null,
"installationRecipientEmail": null,
"kamName": null,
"kamEmail": null,
"driverName": null,
"driverPhone": null,
"driverEmail": null
}
}
} Query Unit_GetAccessibleUnits ඔබට ප්රවේශය ඇති ඒකක ලැයිස්තුගත කරයි.
පිළිතුර
result: [UnitModel] උදාහරණය
query{
unit_GetAccessibleUnits
{
unitId
unitName
}
} උදාහරණ පිළිතුර
{
"data": {
"unit_GetAccessibleUnits": [
{
"unitId": 1,
"unitName": "Test unit"
}
]
}
} Query TestType_GetTestTypes ඒකකයක් සඳහා ලබා ගත හැකි තක්සේරු වර්ග ලැයිස්තුගත කරයි.
පරාමිති
unitId: Int!
vin: String පිළිතුර
result: [TestTypeModel] උදාහරණය
query{
testType_GetTestTypes(unitId: 1)
{
testTypeId,
testTypeName,
isActive
}
} උදාහරණ පිළිතුර
{
"data": {
"testType_GetTestTypes": [
{
"testTypeId": 1,
"testTypeName": "Test med kostnader",
"isActive": true
},
{
"testTypeId": 2,
"testTypeName": "Test utan kostnader",
"isActive": true
},
{
"testTypeId": 3,
"testTypeName": "Värdering av onormal slitage",
"isActive": true
},
{
"testTypeId": 770,
"testTypeName": "Custom 1",
"isActive": false
}
]
}
} Mutation test_UpdateTest පවතින තක්සේරුවක් යාවත්කාලීන කරයි.
පිළිතුර
result: TestDataModel උදාහරණය
mutation {
test_UpdateTest(testDataModel: {
testId: 625,
mileage: 60000
}) {
testId,
mileage
}
} උදාහරණ පිළිතුර
SalesReport_CreateSalesReportFromSource Query Test_GetAllTests පෙරහන් සහ පිටු බෙදීම සමඟ සියලුම තක්සේරුවල සෙවිය හැකි සහ වර්ග කළ හැකි ලැයිස්තුවක්.
පරාමිති
searchTerm: String
sortBy: GridSort
filters: TestFilterModel
skip: Int?
take: Int?
timeZoneOffset: Int? පිළිතුර
result: TestListModel සටහන්
- පිටුව skip සහ take මගින් පිටුගත කෙරේ. පෙරනිමි take 50 වන අතර පෙරනිමි skip 0 වේ. ඉහළ සීමාවක් නොමැත.
- වර්ග කළ හැකි ක්ෂේත්ර: regno, vehicleMake, vehicleModel, vin, completedDate, createdDate, performedDate, performedBy, testTypes, isObdPerformed, testStatus, testAnnotations.
- searchTerm ගැළපෙන්නේ පෙළ RegNo හෝ TestAnnotations වලින් ආරම්භ වන විට පමණි.
- timeZoneOffset මිනිත්තු වලින් යවනු ලබන අතර එය UTC වේලාව සහ සේවාලාභියාගේ වේලාව අතර වෙනසයි (UTC − සේවාලාභී වේලාව). ස්වීඩන් වේලාව +1 GMT නම්, නිවැරදි දිනයට ළඟා වීමට -1 යවන්න.
උදාහරණය
query {
test_GetAllTests(searchTerm: "YSA053") {
tests {
testId
regno
vehicleMake
vehicleModel
vin
createdDate
performedDate
completedDate
performedBy
testTypes
isObdPerformed
testStatus
testAnnotations
unitId
unitName
}
totalTests
}
} Query Test_GetActiveTests ඉහත මෙන්ම, නමුත් ක්රියාත්මක වන තක්සේරු පමණි.
පරාමිති
searchTerm: String
sortBy: GridSort
filters: TestFilterModel
skip: Int?
take: Int?
timeZoneOffset: Int? පිළිතුර
result: TestListModel සටහන්
- පිටුව skip සහ take මගින් පිටුගත කෙරේ. පෙරනිමි take 50 වන අතර පෙරනිමි skip 0 වේ. ඉහළ සීමාවක් නොමැත.
- වර්ග කළ හැකි ක්ෂේත්ර: regno, vehicleMake, vehicleModel, vin, completedDate, createdDate, performedDate, performedBy, testTypes, isObdPerformed, testStatus, testAnnotations.
- searchTerm ගැළපෙන්නේ පෙළ RegNo හෝ TestAnnotations වලින් ආරම්භ වන විට පමණි.
- timeZoneOffset මිනිත්තු වලින් යවනු ලබන අතර එය UTC වේලාව සහ සේවාලාභියාගේ වේලාව අතර වෙනසයි (UTC − සේවාලාභී වේලාව). ස්වීඩන් වේලාව +1 GMT නම්, නිවැරදි දිනයට ළඟා වීමට -1 යවන්න.
උදාහරණය
query {
test_GetActiveTests(searchTerm: "YSA053") {
tests {
testId
regno
vehicleMake
vehicleModel
vin
createdDate
performedDate
completedDate
performedBy
testTypes
isObdPerformed
testStatus
testAnnotations
unitId
unitName
}
totalTests
}
} Query Test_GetTestReports තක්සේරුවක තත්ත්ව වාර්තාවලට සබැඳි, PDF ලෙසද, ලබා ගනී.
පරාමිති
testId: Int! අවශ්ය
-
int testId
පිළිතුර
result: [ReportModel] උදාහරණය
query {
test_GetTestReports(testId: 33081) {
testTypeId
testType
shortenedReportURL
shortenedPdfReportURL
}
} උදාහරණ පිළිතුර
{
"data": {
"test_GetTestReports": [
{
"testTypeId": 2,
"testType": "Test utan kostnader",
"shortenedReportURL": "https://lnkt.bus.no/8049d5ll2"
"shortenedPdfReportURL": "https://lnkt.bus.no/41181Ruhpp"
}
]
}
} Query test_GetGeneralInfo වාහනය පිළිබඳ සාමාන්ය තොරතුරු ලබා ගනී: යතුරු, චාජින් කේබලය, පෙර භාවිතය සහ තවත්.
පරාමිති
testId: Int! පිළිතුර
result: GeneralInfoModel සටහන්
- යාවත්කාලීන කිරීමට පෙර වර්තමාන අගයන් කියවන්න. test_GetGeneralInfoMetaData පෙර නිර්වචනය කළ යතුරු අගයන් ලබා දෙයි.
උදාහරණය
query {
test_GetGeneralInfo(testId: 46324) {
masterKeyCount
chargingCableCount
previousUseId
hasPreviousDamage
vehicleKeyTypes { key value }
chargingCableTypes { key value }
}
} උදාහරණ පිළිතුර
{ "data": { "test_GetGeneralInfo": { "masterKeyCount": 2, "chargingCableCount": 1, "previousUseId": 3, "hasPreviousDamage": false, "vehicleKeyTypes": [ { "key": 1, "value": "Remote key" } ], "chargingCableTypes": [] } } } Mutation test_UpdateGeneralInfo වාහනය පිළිබඳ සාමාන්ය තොරතුරු යාවත්කාලීන කරයි.
පරාමිති
testId: Int!
generalInfoModel: GeneralInfoModel! පිළිතුර
result: Boolean සටහන්
- කියවන්න, වෙනස් කරන්න, ලියන්න: සම්පූර්ණ model එක යවන්න. vehicleKeyTypes හෝ chargingCableTypes සඳහා හිස් ලැයිස්තු ප්රතික්ෂේප වේ; හිස් ලැයිස්තුවක් පවතින වර්ග මකා දමයි.
උදාහරණය
mutation {
test_UpdateGeneralInfo(testId: 46324, generalInfoModel: {
masterKeyCount: 2,
chargingCableCount: 1,
previousUseId: 3,
hasPreviousDamage: false,
vehicleKeyTypes: [{ key: 1, value: "Remote key" }],
chargingCableTypes: [{ key: 1, value: "Type 2" }]
})
} උදාහරණ පිළිතුර
{
"data":
{
"test_UpdateGeneralInfo": true
}
} විකුණුම් වාර්තා
තක්සේරු මත ගොඩනගන ලද, බෙදාගැනීමේ සබැඳි සහ අවසන් කිරීම සහිත විකුණුම් වාර්තා.
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
Mutation SalesReport_CreateSalesReportFromSource පවතින තක්සේරුවකින් හෝ වාහනයකින් විකුණුම් වාර්තාවක් සාදයි.
පරාමිති
regNo: String!
testRunId: Int?
unitId: Int? අවශ්ය
-
string regNo -
int testRunId or int unitId
පිළිතුර
result: Int උදාහරණය
mutation {
salesReport_CreateSalesReportFromSource(regNo: "ØSXXR01", unitId: 5147)
} උදාහරණ පිළිතුර
{
"data": {
"salesReport_CreateSalesReportFromSource": 764
}
} Query SalesReport_GetSalesReportShareMetaData විකුණුම් වාර්තාව සහ VDN වාර්තාව සඳහා බෙදාගැනීමේ සබැඳි සහ PDF බාගැනීම ලබා ගනී.
පරාමිති
salesReportId: Int! අවශ්ය
-
int salesReportId
පිළිතුර
result: SalesReportShareMetaDataModel සටහන්
- salesReportPdfDownloadSasUrl ලබා ගත හැක්කේ බාහිර හවුල්කරුවන්ට පමණි.
උදාහරණය
query {
salesReport_GetSalesReportShareMetaData(salesReportId: 764) {
shortenedSalesReportLinkURL
shortenedVDNReportLinkURL
shortenedSalesReportPdfURL
salesReportPdfDownloadSasUrl
}
} උදාහරණ පිළිතුර
{
"data": {
"salesReport_GetSalesReportShareMetaData": {
"shortenedSalesReportLinkURL": "https://lnkt.bus.no/47430y13WA",
"shortenedVDNReportLinkURL": "https://lnkt.bus.no/47431z3f1_",
"shortenedSalesReportPdfURL": "https://lnkt.bus.no/47432iCS5k",
"salesReportPdfDownloadSasUrl": "https://…/fil.jpg?sv=…&sig=…"
}
}
} Query SalesReport_GetAllSalesReports සියලුම විකුණුම් වාර්තාවල සෙවිය හැකි සහ වර්ග කළ හැකි ලැයිස්තුවක්.
පරාමිති
searchTerm: String
sortBy: GridSort
filters: SalesReportFilterModel
skip: Int?
take: Int?
timeZoneOffset: Int? පිළිතුර
result: SalesReportListModel සටහන්
- පිටුව skip සහ take මගින් පිටුගත කෙරේ. පෙරනිමි take 50 වන අතර පෙරනිමි skip 0 වේ. ඉහළ සීමාවක් නොමැත.
- වර්ග කළ හැකි ක්ෂේත්ර: regno, vehicleMake, vehicleModel, vin, completedDate, salesReportStatus, createdDate, performedBy
- searchTerm ගැළපෙන්නේ පෙළ RegNo වලින් ආරම්භ වන විට පමණි.
- timeZoneOffset මිනිත්තු වලින් යවනු ලබන අතර එය UTC වේලාව සහ සේවාලාභියාගේ වේලාව අතර වෙනසයි (UTC − සේවාලාභී වේලාව). ස්වීඩන් වේලාව +1 GMT නම්, නිවැරදි දිනයට ළඟා වීමට -1 යවන්න.
උදාහරණය
query {
salesReport_GetAllSalesReports(searchTerm: "WBS99A") {
salesReports {
salesReportId
salesReportStatus
salesReportStatusId
regno
vehicleMake
vehicleModel
vin
createdDate
completedDate
}
totalSalesReports
}
} Query SalesReport_GetActiveSalesReports ඉහත මෙන්ම, නමුත් ක්රියාකාරී විකුණුම් වාර්තා පමණි.
පරාමිති
searchTerm: String
sortBy: GridSort
filters: SalesReportFilterModel
skip: Int?
take: Int?
timeZoneOffset: Int? පිළිතුර
result: SalesReportListModel සටහන්
- පිටුව skip සහ take මගින් පිටුගත කෙරේ. පෙරනිමි take 50 වන අතර පෙරනිමි skip 0 වේ. ඉහළ සීමාවක් නොමැත.
- වර්ග කළ හැකි ක්ෂේත්ර: regno, vehicleMake, vehicleModel, vin, completedDate, salesReportStatus, createdDate, performedBy
- searchTerm ගැළපෙන්නේ පෙළ RegNo වලින් ආරම්භ වන විට පමණි.
- timeZoneOffset මිනිත්තු වලින් යවනු ලබන අතර එය UTC වේලාව සහ සේවාලාභියාගේ වේලාව අතර වෙනසයි (UTC − සේවාලාභී වේලාව). ස්වීඩන් වේලාව +1 GMT නම්, නිවැරදි දිනයට ළඟා වීමට -1 යවන්න.
උදාහරණය
query {
salesReport_GetActiveSalesReports(searchTerm: "WBS99A") {
salesReports {
salesReportId
salesReportStatus
salesReportStatusId
regno
vehicleMake
vehicleModel
vin
createdDate
completedDate
}
totalSalesReports
}
} Mutation SalesReport_UpdateSalesReport විකුණුම් වාර්තාවක් යාවත්කාලීන කරයි.
පරාමිති
salesReportData: SalesReportDataModel! අවශ්ය
-
salesReportData.SalesReportId -
salesReportData.TestId -
salesReportData.UnitId
පිළිතුර
result: SalesReportDataModel උදාහරණය
mutation UpdateSalesReport($salesReportData: SalesReportDataModelInput!) {
updatedSalesReport: salesReport_UpdateSalesReport(
salesReportData: $salesReportData
) {
testId
mileage
createdDate
completedDate
salesReportTypeIds
deviationNotes
hasBatteryReading
testStatusId
unitId
__typename
}
} උදාහරණ පිළිතුර
{
"data": {
"updatedSalesReport": {
"testId": 45068,
"mileage": 12345,
"createdDate": "2026-07-08T07:55:42.303Z",
"completedDate": null,
"salesReportTypeIds": [
1,
2,
3
],
"deviationNotes": null,
"hasBatteryReading": false,
"testStatusId": 8,
"unitId": 5161,
"__typename": "SalesReportDataModel"
}
}
} Mutation salesReport_ConcludeSalesReport විකුණුම් වාර්තාවක් අවසන් කර එය ඊමේල් හෝ SMS මගින් යවයි.
පරාමිති
salesReportConcludeModel: SalesReportConcludeModel! අවශ්ය
-
salesReportConcludeModel.salesReportId -
salesReportConcludeModel.sendSalesReportEmailSMSModel
පිළිතුර
result: Boolean සටහන්
- sendSalesReportEmailSMSModel අනිවාර්ය වන අතර ජනනය කළ බෙදාගැනීමේ සබැඳි එහි ගබඩා වේ. ඊමේල්, අංක සහ වාර්තා වර්ග සඳහා හිස් ලැයිස්තු කිසිවක් නොයවයි. ඒකකය මට්ටමින් වින්යාස කළ ලබන්නන් අවසානයේදී එකතු වේ. විවෘත දෝෂ අවසාන කිරීම අවහිර නොකරයි.
උදාහරණය
mutation {
salesReport_ConcludeSalesReport(salesReportConcludeModel: {
salesReportId: 3180,
sendSalesReportEmailSMSModel: {
salesReportId: 3180,
emails: [],
numbers: [],
salesReportTypes: []
}
})
} උදාහරණ පිළිතුර
{
"data":
{
"salesReport_ConcludeSalesReport": true
}
} Mutation salesReport_AddSalesReportImages විකුණුම් වාර්තාවකට රූප එක් කරයි, විකල්ප පිටකවර රූපයක් සමඟ.
පරාමිති
salesReportId: Int!
images: [SalesReportImageInputModel]! පිළිතුර
result: [SalesReportImageResultModel] උදාහරණය
mutation {
salesReport_AddSalesReportImages (salesReportId: 3416,
images: [ {
isCover: false
fileName: "354.jpg"
url: "https://fastly.picsum.photos/id/471/536/354.jpg?hmac=ep1BMOqUf1L7RJA-pgAlrJFeXxAbxj7srUVwGoTiJGE"
}])
{
fileName
isSuccess
reason
}
} අපගමන සහ හානි
තක්සේරුවක ලියාපදිංචි කළ අපගමන සහ හානි, රූප සමඟ.
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
Query Defect_GetTestDefects තක්සේරුවක ලියාපදිංචි කළ අපගමන සහ හානි ලබා ගනී.
පරාමිති
testId: Int! පිළිතුර
result: [TestDefectModel] සටහන්
- TotalCost VAT හැර ඇත. අතුරුමුහුණත VAT ඇතුළත් මුදල පෙන්විය හැක.
උදාහරණය
query{
defect_GetTestDefects(testId: 54)
{
testDefectId,
checkpoint {
key
value
}
checkpointComment {
key
value
}
commonCost,
workCost,
partsCost,
totalCost
}
} උදාහරණ පිළිතුර
{
"data": {
"defect_GetTestDefects": [
{
"testDefectId": 3444,
"checkpoint": {
"key": 2,
"value": "Dokumentation utrustning - SW"
},
"checkpointComment": {
"key": 9,
"value": "testpunkten"
},
"commonCost": 100,
"workCost": 60,
"partsCost": 40,
"totalCost": 200
},
{
"checkpoint": {
"key": 5,
"value": "Registreringsskylt - SW"
},
"checkpointComment": {
"key": 6,
"value": "oläsbar"
},
"commonCost": 300,
"workCost": 40,
"partsCost": 30,
"totalCost": 370
}
]
}
} Query Defect_GetTestDefectFiles තක්සේරුවක අපගමන හා සම්බන්ධ රූප සහ ගොනු ලබා ගනී.
පරාමිති
testId: Int! පිළිතුර
result: [TestDefectFileModel] උදාහරණය
query{
defect_GetTestDefectFiles(testId: 54)
{
testDefectId,
testDefectFiles
{
fileUrl,
fileName,
mediaId
}
}
} උදාහරණ පිළිතුර
{
"data": {
"defect_GetTestDefectFiles": [
{
"testDefectId": 320,
"testDefectFiles": [
{
"fileUrl": https://dev.bus.no/busplatform3/RestAPIServers.FileServerCustom2/api/v1/File/GetFile?fileReference=CfDJ8EsheyHuiV5NuNJhGGxi8IXoncPhEgkimEBPt93Wv0WX_3ToA1zBeCaMvNsEJzD2-3CvE_hVeiyHpI4xg6ptP1jhDuKXHfBLQLcshyiaCEAJurCO5Grs5aCGN9RoQR38vX4jMsALbkHdcBWNhAaMKP1h7-I0l3pdRBmxOdrqYqdoQUyqExcUkS3z-vUsGTYqRH0 ,
"fileName": "pexels_mike_bird_100653.jpg",
"mediaId": "CD......"
},
{
"fileUrl": https://dev.bus.no/busplatform3/RestAPIServers.FileServerCustom2/api/v1/File/GetFile?fileReference=CfDJ8EsheyHuiV5NuNJhGGxi8IVhMC9lQU7CYN_0177q1-fn1HgYQJnGAMqkLl9hBQurMaT4Ej6W45btBdwW0z-QEMIupfHvwSbixIiNJInMS4g4PmtVpvGw0MYIoH-hS_PRgcwUV6dEE1HmSFcNkydDbAKzgueyxbwBMMFnV6y0TG4tW2JGvK-fV1mvWQu7xdHaXx8 ,
"fileName": "pexels_joshua_koller_757185.jpg",
"mediaId": "CD......"
}
]
},
{
"testDefectId": 321,
"testDefectFiles": []
}
]
}
} Mutation Defect_UpdateTestDefect තක්සේරුවක අපගමනයක් සහ එහි විකුණුම් වාර්තාව යාවත්කාලීන කරයි.
පරාමිති
testId: Int!
defectFormData: TestDefectModel! පිළිතුර
result: TestDefectModel උදාහරණය
mutation updateTestDefect($testId: Int!, $defectFormData: TestDefectModelInput!) {
updatedDefect: defect_UpdateTestDefect(
testId: $testId
defectFormData: $defectFormData
) {
testDefectId
checkpointInstanceId
checkpointGroup {
key
value
__typename
}
checkpoint {
key
value
__typename
}
checkpointComment {
key
value
__typename
}
actionsList {
actionId
name
__typename
}
positionsList {
positionId
name
__typename
}
totalCost
isTaxIncluded
testDefectComment
salesReportDefectId
swedishStateReportLetterReferenceId
stateGradeId
__typename
}
} උදාහරණ පිළිතුර
{
"data": {
"updatedDefect": {
"testDefectId": 14276,
"checkpointInstanceId": 285,
"checkpointGroup": {
"key": 1,
"value": "Identifikation",
"__typename": "KeyValueWithAdditionalItemOfNullableOfInt32"
},
"checkpoint": {
"key": 59,
"value": "Registreringsskylt",
"__typename": "KeyValueModel"
},
"checkpointComment": {
"key": 1,
"value": "Skyltfäste",
"__typename": "KeyValueModel"
},
"actionsList": [
{
"actionId": 6,
"name": "Kontrollera",
"__typename": "ActionModel"
}
],
"positionsList": [
{
"positionId": 2,
"name": "Bak",
"__typename": "PositionModel"
}
],
"totalCost": 66,
"isTaxIncluded": true,
"testDefectComment": "TEessserer",
"salesReportDefectId": null,
"swedishStateReportLetterReferenceId": null,
"stateGradeId": 3,
"__typename": "TestDefectModel"
}
}
} වැඩ ඇණවුම්
වාහන සේවා මධ්යස්ථාන ක්රියාවලිය සඳහා වැඩ ඇණවුම් සහ කාර්යයන්.
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/BUSTest.Server/BUS.APIs.GraphQLServer.P3.BUSTest.ExternalEndpoint1 |
Mutation workOrder_CreateWorkOrder සම්බන්ධිත තක්සේරුවක් සහිතව හෝ රහිතව, වාහනයක් සඳහා වැඩ ඇණවුමක් සාදයි.
පරාමිති
regNo: String!
testRunId: Int?!
unitId: Int! අවශ්ය
-
testRunId (optional for standalone work order)
පිළිතුර
result: Int සටහන්
- testRunId සමඟ පරීක්ෂණය අවසන් වී තිබිය යුතු අතර එක් එක් දෝෂය සඳහා එක් කාර්යයක් සෑදේ. testRunId නොමැතිව ස්වාධීන වැඩ ඇණවුමක් සෑදේ.
උදාහරණය
mutation {
workOrder_CreateWorkOrder(regNo: "PHP526", testRunId: 45988, unitId: 5147)
} උදාහරණ පිළිතුර
{
"data":
{
"workOrder_CreateWorkOrder": 1773
}
} Mutation workOrder_CreateWorkOrderJob වැඩ ඇණවුමකට කාර්යයක් එක් කරයි.
පරාමිති
workOrderJobModel: WorkOrderJobModel! අවශ්ය
-
workOrderJobModel (workOrderId and job details)
පිළිතුර
result: WorkOrderJobModel උදාහරණය
mutation {
workOrder_CreateWorkOrderJob(workOrderJobModel: {
workOrderId: 1773,
jobName: "Replace wiper blades",
comment: "Added by partner"
}) {
workOrderJobId
jobName
}
} උදාහරණ පිළිතුර
{
"data":
{ "workOrder_CreateWorkOrderJob": {
"workOrderJobId": 28584, "jobName": "Replace wiper blades"
}
}
} Mutation workOrder_AddStandardJobsToWorkOrderCycle වැඩ ඇණවුමකට සම්මත කාර්යයන් එක් කරයි.
පරාමිති
workOrderId: Int!
standardJobIds: [Int]! පිළිතුර
result: [WorkOrderJobModel] උදාහරණය
mutation {
workOrder_AddStandardJobsToWorkOrderCycle(workOrderId: 1773, standardJobIds: [101, 205]) {
workOrderJobId
jobName
}
} උදාහරණ පිළිතුර
{
"data":
{ "workOrder_AddStandardJobsToWorkOrderCycle":
[ { "workOrderJobId": 28585, "jobName": "Standard service" } ]
}
} Query workOrder_GetWorkOrderJobList වැඩ ඇණවුමක ඇති සියලුම කාර්යයන් ලබා ගනී.
පරාමිති
workOrderId: Int! පිළිතුර
result: WorkOrderJobListModel සටහන්
- workOrderJobStatus යනු කැදැලි වස්තුවකි. තත්ත්වය සකසන විට මෙහි ලබා ගන්නා කාර්ය හැඳුනුම්පත් භාවිතා කරන්න.
උදාහරණය
query {
workOrder_GetWorkOrderJobList(workOrderId: 1773) {
count
workOrderJobs {
workOrderJobId
jobName
workOrderJobStatus {
workOrderJobStatusId
workOrderJobStatusName
}
testDefect {
testDefectId
}
}
}
} උදාහරණ පිළිතුර
{
"data":
{ "workOrder_GetWorkOrderJobList":
{ "count": 2, "workOrderJobs": [
{ "workOrderJobId": 28581, "jobName": "Defect job", "workOrderJobStatus": { "workOrderJobStatusId": 3, "workOrderJobStatusName": "Done" }, "testDefect": { "testDefectId": 3444 } }
]
}
}
} Mutation workOrder_UpdateWorkOrderJobStatus එක් හෝ කිහිපයක් කාර්යයන්ට නව තත්ත්වයක් සකසයි.
පරාමිති
workOrderId: Int!
workOrderJobIds: [Int]!
workOrderJobStatusId: Int! පිළිතුර
result: WorkOrderStatusUpdateResult සටහන්
- Done විකුණුම් වාර්තාවේ නිවැරදි කළ ලෙසත්, Open තවමත් විවෘත දෝෂයක් ලෙසත් පෙන්වයි. වැඩ ඇණවුමේ තත්ත්වය සමමුහුර්තව තබා ගනී.
උදාහරණය
mutation {
workOrder_UpdateWorkOrderJobStatus(
workOrderId: 1773,
workOrderJobIds: [28581, 28582],
workOrderJobStatusId: 3
) {
workOrderStatusId
workOrderStatusName
updatedJobs {
workOrderJobId
workOrderJobStatusId
workOrderJobStatusName
}
}
} උදාහරණ පිළිතුර
{ "data": { "workOrder_UpdateWorkOrderJobStatus": { "workOrderStatusId": 2, "workOrderStatusName": "InProgress", "updatedJobs": [ { "workOrderJobId": 28581, "workOrderJobStatusId": 3, "workOrderJobStatusName": "Done" } ] } } } Query workOrder_GetStandardJobsForWorkOrder වැඩ ඇණවුමකට සම්බන්ධ කළ හැකි සම්මත කාර්යයන් ලැයිස්තුගත කරයි.
පරාමිති
workOrderId: Int! පිළිතුර
result: [StandardJobModel] උදාහරණය
query{
workOrder_GetStandardJobsForWorkOrder(
workOrderId: 1832)
{
standardJobId
jobName
cost
isTaxInclude
}
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_GetStandardJobsForWorkOrder": [
{
"standardJobId": 723,
"jobName": "Shenal standard - job",
"cost": 800,
"isTaxInclude": false
}
]
}
} Query workOrderSettings_GetStandardJobsListForUnit ඒකකයේම සම්මත කාර්යයන් පිරිවැය සමඟ ලැයිස්තුගත කරයි.
පරාමිති
unitId: Int! පිළිතුර
result: StandardJobsGridModel උදාහරණය
query{
workOrderSettings_GetStandardJobsListForUnit(unitId: 5208)
{
totalStandardJobs
standardJobs {
standardJobId
jobName
cost
}
}
} උදාහරණ පිළිතුර
{
"data": {
"workOrderSettings_GetStandardJobsListForUnit": {
"totalStandardJobs": 6,
"standardJobs": [
{
"standardJobId": 775,
"jobName": "DT",
"cost": 434
},
{
"standardJobId": 737,
"jobName": "Group 2 only LT",
"cost": 0
},
{
"standardJobId": 736,
"jobName": "Group 1,2 only LT",
"cost": 0
},
{
"standardJobId": 734,
"jobName": "Group 2 only CT",
"cost": 0
},
{
"standardJobId": 732,
"jobName": "Group 1,2 CT",
"cost": 0
},
{
"standardJobId": 456,
"jobName": "Group 1,2,3",
"cost": 0
}
]
}
}
} Query workOrder_GetTestRunsForWorkOrderCreation ලියාපදිංචි අංකයක් සඳහා වැඩ ඇණවුමක් බවට පත්වීමට සුදුසුකම් ලබන පරීක්ෂණ ධාවන ලැයිස්තුගත කරයි.
පරාමිති
regNo: String!
unitId: Int! පිළිතුර
result: WorkOrderCreationTestRunListModel උදාහරණය
query{
workOrder_GetTestRunsForWorkOrderCreation(
regNo: "AOL449"
, unitId: 5147
)
{
isRegNoValid
items {
testId
testRunId
mileage
}
}
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_GetTestRunsForWorkOrderCreation": {
"isRegNoValid": true,
"items": [
{
"testId": 3456,
"testRunId": 46664,
"mileage": 45000
},
{
"testId": 3457,
"testRunId": 46663,
"mileage": 45000
},
{
"testId": 3458,
"testRunId": 39591,
"mileage": 45000
},
{
"testId": 3459,
"testRunId": 41191,
"mileage": 45000
},
{
"testId": 3460,
"testRunId": 41223,
"mileage": 66666
},
{
"testId": 3461,
"testRunId": 2358,
"mileage": 100001
},
{
"testId": 3462,
"testRunId": 39356,
"mileage": 1500
},
{
"testId": 3463,
"testRunId": 39363,
"mileage": 33000
},
{
"testId": 3464,
"testRunId": 39264,
"mileage": 45009
},
{
"testId": 3465,
"testRunId": 2887,
"mileage": 222222
}
]
}
}
} Query workOrder_GetAllWorkOrders සියලුම වැඩ ඇණවුම් ලැයිස්තුගත කරයි. සෙවිය හැකි, වර්ග කළ හැකි සහ පිටු බෙදූ.
පරාමිති
searchTerm: String
sortBy: GridSort
filters: WorkOrderFilterModel
skip: Int?
take: Int?
timeZoneOffset: Int පිළිතුර
result: WorkOrderListModel සටහන්
- පිටුව skip සහ take මගින් පිටුගත කෙරේ. පෙරනිමි take 50 වන අතර පෙරනිමි skip 0 වේ. ඉහළ සීමාවක් නොමැත.
- timeZoneOffset මිනිත්තු වලින් යවනු ලබන අතර එය UTC වේලාව සහ සේවාලාභියාගේ වේලාව අතර වෙනසයි (UTC − සේවාලාභී වේලාව). ස්වීඩන් වේලාව +1 GMT නම්, නිවැරදි දිනයට ළඟා වීමට -1 යවන්න.
උදාහරණය
query{
workOrder_GetAllWorkOrders(
searchTerm: "AOL449"
timeZoneOffset: 0
)
{
totalWorkOrders
workOrders
{
testId
workOrderId
vehicleMake
vehicleModel
}
}
}
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_GetAllWorkOrders": {
"totalWorkOrders": 8,
"workOrders": [
{
"testId": 47186,
"workOrderId": 1832,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 45523,
"workOrderId": 1698,
"vehicleMake": "",
"vehicleModel": ""
},
{
"testId": 41141,
"workOrderId": 1419,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 40793,
"workOrderId": 1376,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 40709,
"workOrderId": 1362,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 38984,
"workOrderId": 1016,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 38976,
"workOrderId": 1015,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 38904,
"workOrderId": 994,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
}
]
}
}
} Query workOrder_GetActiveWorkOrders අවසන් කර නොමැති වැඩ ඇණවුම් ලැයිස්තුගත කරයි.
පරාමිති
searchTerm: String
sortBy: GridSort
filters: WorkOrderFilterModel
skip: Int?
take: Int?
timeZoneOffset: Int පිළිතුර
result: WorkOrderListModel සටහන්
- පිටුව skip සහ take මගින් පිටුගත කෙරේ. පෙරනිමි take 50 වන අතර පෙරනිමි skip 0 වේ. ඉහළ සීමාවක් නොමැත.
- timeZoneOffset මිනිත්තු වලින් යවනු ලබන අතර එය UTC වේලාව සහ සේවාලාභියාගේ වේලාව අතර වෙනසයි (UTC − සේවාලාභී වේලාව). ස්වීඩන් වේලාව +1 GMT නම්, නිවැරදි දිනයට ළඟා වීමට -1 යවන්න.
උදාහරණය
query{
workOrder_GetActiveWorkOrders(
searchTerm: "AOL449"
timeZoneOffset: 0
)
{
totalWorkOrders
workOrders
{
testId
workOrderId
vehicleMake
vehicleModel
}
}
}
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_GetActiveWorkOrders": {
"totalWorkOrders": 7,
"workOrders": [
{
"testId": 47186,
"workOrderId": 1832,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 45523,
"workOrderId": 1698,
"vehicleMake": "",
"vehicleModel": ""
},
{
"testId": 41141,
"workOrderId": 1419,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 40793,
"workOrderId": 1376,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 40709,
"workOrderId": 1362,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 38984,
"workOrderId": 1016,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
},
{
"testId": 38904,
"workOrderId": 994,
"vehicleMake": "Ford",
"vehicleModel": "Transit Connect 230 LWB"
}
]
}
}
} Mutation workOrder_ConcludeWorkOrder වැඩ ඇණවුමක් අවසන් කරයි.
පරාමිති
workOrderId: Int! පිළිතුර
result: Boolean උදාහරණය
mutation{
workOrder_ConcludeWorkOrder(workOrderId: 1832)
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_ConcludeWorkOrder": true
}
} Mutation workOrder_ReopenWorkOrder අවසන් කළ වැඩ ඇණවුමක් නැවත විවෘත කරයි.
පරාමිති
workOrderId: Int! පිළිතුර
result: Boolean උදාහරණය
mutation{
workOrder_ReopenWorkOrder(workOrderId: 1832)
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_ReopenWorkOrder": true
}
} Mutation workOrder_DeleteWorkOrder වැඩ ඇණවුමක් මකා දමයි.
පරාමිති
workOrderId: Int! පිළිතුර
result: Boolean උදාහරණය
mutation{
workOrder_DeleteWorkOrder(workOrderId: 1824)
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_DeleteWorkOrder": true
}
} Query workOrder_GetWorkOrder එක් වැඩ ඇණවුමක් ලබා ගනී.
පරාමිති
workOrderId: Int! පිළිතුර
result: WorkOrderDataModel උදාහරණය
query{
workOrder_GetWorkOrder(workOrderId: 1832)
{
workOrderId
regNo
mileage
workOrderStatusId
}
} උදාහරණ පිළිතුර
{
"data": {
"workOrder_GetWorkOrder": {
"workOrderId": 1832,
"regNo": "AOL449",
"mileage": 45000,
"workOrderStatusId": 5
}
}
} ගොනු
රූප සහ ලේඛන ලබා ගැනීම සඳහා REST endpoint.
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | REST |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/RestAPIServers.FileServer/api |
| නිෂ්පාදනය | https://bus2.bus.no/busplatform3/RestAPIServers.FileServer/api |
REST Media/GetMedia Henter selve filen fra en media-ID. Med useRedirect hentes filen direkte fra lagring, som er raskest.
පරාමිති
mediaId: String!
useRedirect: Boolean පිළිතුර
Actual file උදාහරණය
curl -X 'GET' \
'https://test.bus.no/BUSPlatform3/RestAPIServers.FileServer/api/Media/GetMedia?api-version=1&mediaId=xxxx' \
-H 'accept: */*' \
-H 'x-api-version: 1' \
-H 'x-access-token: eyJhb...' REST Media/GetMediaSas Henter en midlertidig nedlastingslenke (SAS) for en media-ID, med utløpstidspunkt.
පරාමිති
mediaId: String! පිළිතුර
sasUrl expiresOn උදාහරණය
curl -X 'GET' \
'https://test.bus.no/BUSPlatform3/RestAPIServers.FileServer/api/Media/GetMediaSas?api-version=1&mediaId=xxxx' \
-H 'accept: application/json' \
-H 'x-api-version: 1' \
-H 'x-access-token: eyJhb...' තත්ය කාලීන
තක්සේරුවක් අවසන් වූ විට තත්ය කාලීන සිදුවීම් සඳහා දායක වන්න.
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | wss://test.bus.no/BUSPlatform3/MessagingPortal/BUS.APIs.GraphQLServer.P3.MessagingPortal.ExternalEndpoint1 |
| නිෂ්පාදනය | wss://bus2.bus.no/BUSPlatform3/MessagingPortal/BUS.APIs.GraphQLServer.P3.MessagingPortal.ExternalEndpoint1 |
Subscription Test_OnTestConclude තක්සේරුවක් අවසන් වූ විට තත්කාලීනව දැනුම් දෙයි.
පරාමිති
testId: Int! පිළිතුර
result: TestDataModel සටහන්
- testStatus සහ පරීක්ෂණ ස්ථාන නම් වැනි දේශීයකරණ ලද පෙළ ක්ෂේත්ර ඇමතුම්කරුගේ culture අනුව ලබා දේ. culture ලබා ගන්නේ ටෝකනයේ culture claim එකෙනි, Accept-Language වෙත ආපසු යාම සමඟ. උදාහරණය ස්වීඩන් culture සමඟ ගන්නා ලදි.
උදාහරණය
subscription{
test_OnTestConclude(testId: 54)
{
testId,
mileage,
serviceData {
date,
mileage,
comment
},
unitId,
testTypeIds,
testStatus
}
} උදාහරණ පිළිතුර
{
"data": {
"test_GetTest": {
"testId": 54,
"mileage": 45000,
"serviceData": [
{
"date": "2022-04-04T18:30:00.000Z",
"mileage": 2000,
"comment": null
},
{
"date": "2023-06-22T18:30:00.000Z",
"mileage": 10000,
"comment": null
}
],
"unitId": 1,
"testTypeIds": [
2
],
"testStatus": "Test färdigställd"
}
}
} Webhooks
webhook එකක් ලියාපදිංචි කර ඔබේම URL එකට සිදුවීම් ලබා ගන්න. B.U.S. සෑම සිදුවීමකටම එක් JSON POST එකක් යවන අතර ඕනෑම 2xx එකක් තහවුරු කිරීම ලෙස පිළිගනී.
Sandbox සඳහා පිවිසීම අවශ්ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.
| API වර්ගය | GraphQL |
|---|---|
| Staging | https://test.bus.no/BUSPlatform3/MessagingPortal/BUS.APIs.GraphQLServer.P3.MessagingPortal.InternalApp |
| නිෂ්පාදනය | https://bus2.bus.no/BUSPlatform3/MessagingPortal/BUS.APIs.GraphQLServer.P3.MessagingPortal.InternalApp |
Mutation notification_SubscribeWebhook webhook එකක් ලියාපදිංචි කරයි, සාමාන්ය හෝ එක් ඒකකයක් සඳහා. B.U.S. සෑම දැනුම්දීම් payload එකකම තබන secret එකක් ලබා දෙයි, එවිට දැනුම්දීම අපගෙන් පැමිණි බව තහවුරු කළ හැක.
පරාමිති
webhookRegisterModel: WebhookRegisterModel (url, eventTypeId, unitId?) අවශ්ය
-
url -
eventTypeId
පිළිතුර
secret: String සටහන්
- සෑම බෙදාහැරීමක්ම එක් JSON POST එකකි. 2xx මත දැනුම්දීම බෙදාහරින ලද ලෙස සැලකේ; වෙනත් පිළිතුරු දෝෂ ලෙස සටහන් වන අතර නැවත නොයවයි.
උදාහරණය
mutation{
notification_SubscribeWebhook(webhookRegisterModel: {
url: "https://example.com/webhook",
eventTypeId: 1,
unitId: null
}
){
secret
}
} උදාහරණ පිළිතුර
{
"data": {
"notification_SubscribeWebhook": {
"secret": "…"
}
}
} Mutation notification_UnsubscribeWebhook ලියාපදිංචි කළ webhook එකක් ඉවත් කරයි.
පරාමිති
eventTypeId: Int!
unitId: Int? පිළිතුර
result: Boolean උදාහරණය
mutation{
notification_UnsubscribeWebhook(eventTypeId: 1, unitId: 5147)
} Webhook TestConcluded තක්සේරුවක් අවසන් වූ විට B.U.S. ඔබේ webhook වෙත යවන දැනුම්දීම.
පිළිතුර
EventName, Data (TestDataModel), Secret සටහන්
- සෑම බෙදාහැරීමක්ම එක් JSON POST එකකි. 2xx මත දැනුම්දීම බෙදාහරින ලද ලෙස සැලකේ; වෙනත් පිළිතුරු දෝෂ ලෙස සටහන් වන අතර නැවත නොයවයි.
උදාහරණය
{
"EventName": "TestConcluded",
"Data": { "TestId": 34626, "UnitId": 5147, "Mileage": 3234, "…": "…" },
"Secret": "…"
} Webhook TestDeleted තක්සේරුවක් මකා දැමූ විට B.U.S. ඔබේ webhook වෙත යවන දැනුම්දීම.
පිළිතුර
EventName, Data (TestDataModel), Secret සටහන්
- සෑම බෙදාහැරීමක්ම එක් JSON POST එකකි. 2xx මත දැනුම්දීම බෙදාහරින ලද ලෙස සැලකේ; වෙනත් පිළිතුරු දෝෂ ලෙස සටහන් වන අතර නැවත නොයවයි.
උදාහරණය
{
"EventName": "TestDeleted",
"Data": {
"TestId": 34626,
"TestRunId": 34927,
"UnitId": 5147,
"UnitName": null,
"Mileage": 3234,
"ExpectedArrivalDate": null,
"ExpectedArrivalKM": null,
"RequestedCompletionDate": null,
"ParkingLocation": null,
"KeyLocation": null,
"IsMVASelected": false,
"TestStatus": "Test: Klar",
"PerformedUserId": null,
"PerformedBy": "",
"PerformedDate": "2025-10-24T09:36:46.217Z",
"TestTypeIds": [
2133
],
"IsPublic": false,
"TestTypeEmails": null,
"TestTypeDescription": null,
"ServiceData": [],
"TestPersonId": 163,
"TestComments": [],
"TestOrderedBy": null,
"TestCoverImage": null,
"ExternalReferenceId": null,
"TestAnnotations": [],
"TestStatusId": 3,
"IsDeleted": false,
"CreatedDate": "2025-10-24T09:36:46.217Z",
"HasValidBatteryReading": null,
"IsValidTestDrive": null,
"IsTestTypeVersionUpdated": null,
"LastUpdatedeDate": "2025-10-24T09:36:46.217Z",
"CompletedDate": "2025-10-24T09:39:37.877Z",
"TestDefects": null
},
"Secret": null
} Webhook WorkOrderConcluded වැඩ ඇණවුමක් අවසන් වූ විට B.U.S. ඔබේ webhook වෙත යවන දැනුම්දීම.
පිළිතුර
EventName, Data (WorkOrderDataModel), Secret සටහන්
- සෑම බෙදාහැරීමක්ම එක් JSON POST එකකි. 2xx මත දැනුම්දීම බෙදාහරින ලද ලෙස සැලකේ; වෙනත් පිළිතුරු දෝෂ ලෙස සටහන් වන අතර නැවත නොයවයි.
උදාහරණය
{
"EventName": "WorkOrderConcluded",
"Data": {
"WorkOrderId": 1832,
"TestId": 47186,
"TestRunId": 46664,
"UnitId": 5147,
"IsShared": false,
"Mileage": 45000,
"JobsStartDate": null,
"JobsCompletionDate": null,
"WorkOrderStatusId": 6,
"IsDeleted": false,
"RegNo": "AOL449",
"IsSalesReportCreated": true,
"CreatedSalesReportId": 3416,
"IsCreatedFromTest": true,
"HasAllAccess": false
},
"Secret": null
} දත්ත ආකෘති
පරාමිති සහ ප්රතිචාරවල භාවිත වන වර්ග.
TestDataModel
UnitId: Int?
Mileage: Int?
ParkingLocation: String?
KeyLocation: String
TestStatus: String
TestTypeIds: [Int]
ServiceData: [ServiceMileageModel]
TestComments: [String]
ExternalReferenceId: String
TestAnnotations: [String]
testOrderedBy: String VehicleDataModel
RegNo: String
Vin: String
VehicleType: String
TrimLevel: String
VehicleOptions: [VehicleOptionModel]
VehiclePackages: [VehiclePackageModel]
Color: String
Model: String
Make: String
GearBox: String
Engine: String
ManufacturedYear: Int?
ManufacturedMonth: Int?
Co2Emissions: Decimal? ServiceMileageModel
Date: DateTime?
Mileage: Int?
Comment: String? TestDefectModel
TestDefectId: Int
Checkpoint: KeyValueModel
CheckpointComment: KeyValueModel
CommonCost: Decimal
WorkCost: Decimal
PartsCost: Decimal
TotalCost: Decimal TestTypeModel
TestTypeId: Int
TestTypeName: String TestFileModel
FileUrl: String
FileName: String
FileReference: String
mediaId: String
testSectionId: Int TestDefectFileModel
TestDefectFiles: [TestFileModel]
TestDefectId: Int KeyValueModel
Key: Int
Value: String VehicleOptionModel
OptionName: String
IncludedItems: String
IsSelected: Boolean? VehiclePackageModel
PackageName: String
VehicleOptions: [VehicleOptionModel]
IsSelected: Boolean? LeaseDataModel
PurchasePrice: Decimal?
ProductType: String
RepairMaintenance: String
WinterTires: String
TransportDate: DateTime?
QuotationTemplate: String LeaseUserDataModel
CustomerId: String
CustomerName: String
FleetManagerName: String
FleetManagerEmail: String
InstallationRecipientEmail: String
KamName: String
KamEmail: String
DriverName: String
DriverPhone: String
DriverEmail: String UnitModel
unitId: Int
unitName: String TestListModel
tests: [TestGridInformationModel]
totalTests: Int TestGridInformationModel
TestId: Int?
TestStatus: String
Regno: String
VehicleMake: String
VehicleModel: String
Vin: String
TestTypes: String
TestPersonId: Int?
IsActiveTest: Boolean
IsTestConcluded: Boolean
IsObdPerformed: Boolean
PerformedBy: String
PerformedDate: DateTime?
CreatedDate: DateTime
CompletedDate: DateTime?
TestAnnotations: String GridSort
Field: String
Dir: SortDirection SortDirection
enum SortDirection{
Asc
Desc
} TestFilterModel
OrderedBy: [KeyValueModel]
TestDate: KeyValueModel
TestType: [KeyValueModel]
Status: [KeyValueModel]
CompletedDate: KeyValueModel ReportModel
TestTypeId: Int
TestType: String
ReportURL: String
ShortenedReportURL: String
ShortenedPdfReportURL: String
DownloadUrl: String SalesReportFilterModel
CompletedDate: KeyValueModel
Status: [KeyValueModel]
PerformedBy: [KeyValueModel]
CreatedDate: KeyValueModel WorkOrderFilterModel
CreatedDate: KeyValueModel
CompletedDate: KeyValueModel
SharedStatus: KeyValueModel
Status: [KeyValueModel]
WorkOrderUnit: [KeyValueModel]
Unit: [Int] SalesReportListModel
SalesReports: [SalesReportGridInformationModel]
TotalSalesReports: Int SalesReportGridInformationModel
SalesReportId: Int
SalesReportStatus: String
SalesReportStatusId: Int?
Regno: String
VehicleMake: String
VehicleModel: String
Vin: String
CreatedDate: DateTime
CompletedDate: DateTime? WorkOrderJobModel
WorkOrderJobId
WorkOrderId
WorkOrderJobTypeId
JobName
WorkOrderJobStatus: WorkOrderJobStatusModel
IsShared
IsSentToSupplier
ExternalCost
RepairCost
Supplier
TestDefect
Comment
StandardJob
StartDate
CompletionDate WorkOrderJobListModel
Count
WorkOrderJobs: [WorkOrderJobModel] WorkOrderStatusUpdateResult
WorkOrderStatusId
WorkOrderStatusName
UpdatedJobs: [WorkOrderJobStatusModel] WorkOrderJobStatusModel
WorkOrderJobId
WorkOrderJobStatusId
IsSentToSupplier
WorkOrderJobStatusName GeneralInfoModel
MasterKeyCount
ChargingCableCount
PreviousUseId
HasPreviousDamage
IsLuggageCoverAvailable
IsTemperatureMeasured
TemperatureInside
TemperatureOutside
ACTestSkipReasonId
LocknutsAvailabilityStatusId
NextServiceDate
VehicleKeyTypes
ChargingCableTypes SalesReportConcludeModel
SalesReportId
SendSalesReportEmailSMSModel SendSalesReportEmailSMSModel
SalesReportId
SalesReportTypes
Emails
Numbers
Description
ShortenedSalesReportLinkURL
ShortenedVDNReportLinkURL
ShortenedSalesReportPdfURL
SalesReportPdfDownloadSasUrl StandardJobModel
StandardJobId: Int
StandardJobStatusId: Int
ParentStandardJobId: Int?
JobName: String
Cost: Decimal?
IsTaxInclude: Boolean
IsIncludedInCycle: Boolean
SupplierName: String WorkOrderCreationTestRunListModel
Items: [WorkOrderCreationTestRunModel] WorkOrderCreationTestRunModel
TestId: Int?
TestRunId: Int
WorkOrderId: Int?
TestTypeNames: [String]
TestRunStatuses: TestRunStatusesModel
Mileage: Int
Date: DateTime
UnitName: String TestRunStatusesModel
TestStatus: KeyValuePair<Int, String>?
WorkOrderStatus: KeyValuePair<Int, String>?
SalesReportStatus: KeyValuePair<Int, String>?
PreTestStatus: KeyValuePair<Int, String>? WorkOrderListModel
WorkOrders: [WorkOrderGridInformationModel]
TotalWorkOrders: Int WorkOrderGridInformationModel
TestId: Int
WorkOrderId: Int
WorkOrderStatus: String
Regno: String
VehicleMake: String
VehicleModel: String
Vin: String
CreatedDate: DateTime
CompletedDate: DateTime?
UnitId: Int
UnitName: String SalesReportImageResultModel
FileName: String
IsSuccess: Boolean
Reason: String
AttachmentOrder: Int? SalesReportImageInputModel
Url: String
FileName: String
IsCover: Boolean WorkOrderDataModel
WorkOrderId: Int
TestId: Int
TestRunId: Int?
UnitId: Int
Mileage: Int?
JobsStartDate: DateTime?
JobsCompletionDate: DateTime?
WorkOrderStatusId: Int?
RegNo: String? StandardJobsGridModel
StandardJobs: [StandardJobModel]
TotalStandardJobs: Int B.U.S.-shop
වාහන සේවා මධ්යස්ථාන හෝ අලෙවිකරුවන්ට ප්රයෝජනවත් ඒකාබද්ධ කිරීමක් ගොඩනගා තිබේද? එය B.U.S.-shop හි ලබා ගත හැකි කරන්න. B.U.S. පාරිභෝගිකයින් ඒකාබද්ධ කිරීම් සොයා සක්රිය කරන වෙළඳපොළ. ඔබේ ඒකාබද්ධ කිරීම, ඔබේම විකුණුම් සංවිධානයක් නොමැතිව, නෝර්වේහි වාහන සේවා මධ්යස්ථාන හතරෙන් තුනකට ළඟා වේ.
තාක්ෂණික
| සත්යාපනය | Bearer ටෝකනය. Sandbox අක්තපත්ර ඉල්ලීම මත, නිෂ්පාදනය අනුමැතියෙන් පසුව. |
|---|---|
| ආකෘතිය | GraphQL. |
| ඉල්ලීම් සීමා | Sandbox තුළ අසීමිතය. අද නිෂ්පාදනයේ ස්ථිර සීමාවක් නොමැත. අනිසි භාවිතයේදී ගිණුම අවහිර කළ හැකි අතර සේවාව 429 (Too Many Requests) ලෙස පිළිතුරු දිය හැක. |
| Webhooks | තත්ය කාලීන සිදුවීම්. නව පරීක්ෂණය, යාවත්කාලීන තක්සේරුව, තත්ත්ව වෙනස්වීම. ඔබ දායක වන සිදුවීම් තෝරන්න. |
| වෙනස්කම් | අපි බිඳෙන සුළු වෙනස්කම් හඳුන්වා නොදෙමු. නව අවශ්යතා නව ක්රම මගින් ආවරණය වන අතර, පවතින ක්රම සහ ක්ෂේත්ර භාවිතයේ ඇති තාක් වෙනස් නොකෙරේ. නව ක්රම සහ විකල්ප ක්ෂේත්ර ක්රමයෙන් එකතු විය හැක. වෙනස්කම් තාක්ෂණික සම්බන්ධතාවට ඊමේල් මගින් දැනුම් දෙනු ලැබේ. |
| Schema | Introspection සක්රීයයි. endpoint එකට introspection විමසුම යැවීමෙන් සම්පූර්ණ schema ලබා ගත හැක, නැතහොත් GraphQL sandbox තුළ කියවිය හැක. සෑම API එකකටම තමන්ගේම schema ඇත — Test API සහ Oscar Inspector වෙන් වූ endpoints වේ. schema build අතරතුර ජනනය වන බැවින් එය සැමවිටම සේවාවට ගැළපේ. |
FAQ
කුමන භාෂා/SDK සඳහා සහාය ලැබේද?
GraphQL පාදක ය. HTTP requests යැවිය හැකි ඕනෑම භාෂාවක් සමඟ ක්රියා කරයි. ආපසු ලැබිය යුතු ක්ෂේත්ර ඔබම තෝරන්න.
එයට කොපමණ වැය වේද?
Sandbox නොමිලේ ය. නිෂ්පාදන ප්රවේශය සඳහා මිල භාවිතය මත රඳා පවතී.
ගොඩනැගීමට සූදානම්ද?
API නාමාවලිය ගවේෂණය කරන්න, නැතහොත් අපගේ සංවර්ධකයෙකු සමඟ කතා කරන්න.