ඇතුල් වන්න ඩෙමෝවක් වෙන්කරන්න

සංවර්ධකයින්

වාහන ක්ෂේත්‍රය සඳහා API

B.U.S. වේදිකාව වාහන පරීක්ෂාව, තක්සේරුව, ගුණාත්මක සහතිකය සහ AI පාදක වාහන විශ්ලේෂණය සඳහා API ලබා දෙයි. පරීක්ෂණ දත්ත සහිත විවෘත sandbox සහ REST අන්ත ලක්ෂ්‍ය සඳහා OpenAPI ලේඛන. අප හා සම්බන්ධ වන්න, අපි ඔබට පිවිසුම් තොරතුරු එවන්නෙමු.

B.U.S. හි සංවර්ධනය

ආරම්භ කරන ආකාරය

  1. ඇති දේ බලන්න

    API නාමාවලිය ලබා ගත හැකි endpoint, ලේඛන සහ උදාහරණ සමඟ පෙන්වයි.

  2. sandbox තුළ ගොඩනගන්න

    පරීක්ෂණ දත්ත සහිත විවෘත sandbox පරිසරයක්. අප හා සම්බන්ධ වන්න, අපි ඔබට පරීක්ෂණය සඳහා පරිශීලක නාමය, මුරපදය සහ API යතුර එවන්නෙමු. මෙය නොමිලේ.

  3. නිෂ්පාදනයට යන්න

    ඔබ සූදානම් වූ විට, ඔබේ සමාගම් විස්තර, 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 සඳහා පිවිසීම අවශ්‍ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.

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 සඳහා පිවිසීම අවශ්‍ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.

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 සඳහා පිවිසීම අවශ්‍ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.

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 සඳහා පිවිසීම අවශ්‍ය වේ. පරීක්ෂණ දත්ත ලබා ගැනීමට අප හා සම්බන්ධ වන්න.

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 පවතින තක්සේරුවක් යාවත්කාලීන කරයි.

පරාමිති

testDataModel: TestDataModel!

අවශ්‍ය

  • testDataModel.testId

පිළිතුර

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
SalesReportShareMetaDataModel
ShortenedSalesReportLinkURL: String
ShortenedVDNReportLinkURL: String
ShortenedSalesReportPdfURL: String
SalesReportPdfDownloadSasUrl: 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
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
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තත්‍ය කාලීන සිදුවීම්. නව පරීක්ෂණය, යාවත්කාලීන තක්සේරුව, තත්ත්ව වෙනස්වීම. ඔබ දායක වන සිදුවීම් තෝරන්න.
වෙනස්කම්අපි බිඳෙන සුළු වෙනස්කම් හඳුන්වා නොදෙමු. නව අවශ්‍යතා නව ක්‍රම මගින් ආවරණය වන අතර, පවතින ක්‍රම සහ ක්ෂේත්‍ර භාවිතයේ ඇති තාක් වෙනස් නොකෙරේ. නව ක්‍රම සහ විකල්ප ක්ෂේත්‍ර ක්‍රමයෙන් එකතු විය හැක. වෙනස්කම් තාක්ෂණික සම්බන්ධතාවට ඊමේල් මගින් දැනුම් දෙනු ලැබේ.
SchemaIntrospection සක්‍රීයයි. endpoint එකට introspection විමසුම යැවීමෙන් සම්පූර්ණ schema ලබා ගත හැක, නැතහොත් GraphQL sandbox තුළ කියවිය හැක. සෑම API එකකටම තමන්ගේම schema ඇත — Test API සහ Oscar Inspector වෙන් වූ endpoints වේ. schema build අතරතුර ජනනය වන බැවින් එය සැමවිටම සේවාවට ගැළපේ.

FAQ

කුමන භාෂා/SDK සඳහා සහාය ලැබේද?

GraphQL පාදක ය. HTTP requests යැවිය හැකි ඕනෑම භාෂාවක් සමඟ ක්‍රියා කරයි. ආපසු ලැබිය යුතු ක්ෂේත්‍ර ඔබම තෝරන්න.

එයට කොපමණ වැය වේද?

Sandbox නොමිලේ ය. නිෂ්පාදන ප්‍රවේශය සඳහා මිල භාවිතය මත රඳා පවතී.

ගොඩනැගීමට සූදානම්ද?

API නාමාවලිය ගවේෂණය කරන්න, නැතහොත් අපගේ සංවර්ධකයෙකු සමඟ කතා කරන්න.