App and Solution
Common

Troubleshooting

12min
overview the guide helps developers troubleshoot app and solutions errors using the following apisl getlogs retrieves a list of changes made to an app or solution with a given listingid getversionsdiff retrieves the fileid containing the diff between two versions of an app or a solution getpermissiondiff retrieves the permissions difference by versionid and tenantid getdiffstatus retrieves version or permission diff by statusid getonboardingactivity retrieves detailed onboarding logs for a given date range retrieve list of changes endpoint get /developer/logs/{listingid} path parameters parameter description listingid path the app or solution listingid type query specifies the type of log available values app , solution the following returns the event logs for the vehicle trackers app example response { "data" { "events" \[ { "aggregateid" "app\ fb9369b9 5966 57b1 8a40 a409e8531aad", "timestamp" "2023 10 13t04 29 05 035+00 00", "type" "appregistered", "eventdata" "{\\"appid\\" \\"app\ fb9369b9 5966 57b1 8a40 a409e8531aad\\",\\"listingid\\" \\"vehicle trackers\\",\\"appversionid\\" \\"appversion 4cd20375 cf4d 52c1 b088 1903c46e76c4\\",\\"coreosappurn\\" \\"platform\ app\ fb9369b9 5966 57b1 8a40 a409e8531aad\\",\\"name\\" \\"vehicle tracker\\",\\"urlpath\\" \\"vehicle trackers\\",\\"organizationid\\" \\"af86b55e 45c9 41ee 95f7 d335d366022f\\",\\"organizationteamid\\" \\"87dd5441 e8c4 4171 ba24 79f47992ba9b\\",\\"organizationdomain\\" \\"dpdevsb1\\",\\"organizationdns\\" \\"dpdevsb1 sandbox getos1 com\\",\\"displayname\\" \\"vehicle tracker\\",\\"appversion\\" \\"1 0 9\\",\\"clientid\\" \\"platform\ app\ service\ fb9369b9 5966 57b1 8a40 a409e8531aad\\",\\"clientsecret\\" {\\"iv\\" \\"71c8ddb9f0b6715c9a3e15f2c9107b0d\\",\\"encryptedtext\\" \\"37487f91ec18bb8b6138fac0a94bcb45fec0279bce9f91195adc44ca7433f84705035772\\"},\\"phase\\" \\"development\\",\\"apptype\\" \\"web\\",\\"appdescription\\" \\"a vehicle tracker that allows you to track your vehicles \\",\\"ismarketplacecompatible\\"\ false,\\"isprivate\\"\ true,\\"isconsolecompatible\\"\ true,\\"isactive\\"\ true,\\"isdeleted\\"\ false,\\"icon\\" \[{\\"id\\" {\\"fileid\\" \\"7adcf59e c5df 418f 8645 e82f2a5231b6\\"},\\"attributes\\" {\\"filename\\" \\"default icon png\\",\\"filepath\\" \\"/\\",\\"filedescription\\" \\"default icon for applications\\",\\"fileurl\\" \\"https //cdn getos1 com/7adcf59e c5df 418f 8645 e82f2a5231b6 default icon png\\"}}],\\"privacy\\" {\\"type\\" \\"private\\",\\"allow\\" \[\\" \\"]},\\"appstate\\" {\\"createapp\\" \\"scheduled\\",\\"subscribeapp\\" \\"scheduled\\",\\"grantperimssions\\" \\"scheduled\\"},\\"urllinks\\" \[{\\"name\\" \\"relativepath\\",\\"url\\" \\"vehicle trackers\\"},{\\"name\\" \\"admin\\",\\"url\\" \\"admin\\"},{\\"name\\" \\"gitinfo\\",\\"url\\" \\"https //github com/your org/your repo\\"},{\\"name\\" \\"interface\\",\\"url\\" \\"/\\"},{\\"name\\" \\"server\\",\\"url\\" \\"your kubernetes cluster svc cluster local\\"},{\\"name\\" \\"setting\\",\\"url\\" \\"settings\\"},{\\"name\\" \\"stackid\\",\\"url\\" \\" \\"},{\\"name\\" \\"userguide\\",\\"url\\" \\"docs\\"}],\\"categories\\" \[\\"vehicle\\",\\"tracking\\"],\\"createdat\\" \\"2023 10 13t04 29 04 195z\\",\\"shortdescription\\" \\"a vehicle tracker that allows you to track your vehicles \\",\\"longdescription\\" \\"dig deep into the details of your vehicle maintenance schedules as well as locations receive notifications when a vehicle hits a maintenance milestone \\",\\"appclassification\\" \\"standard\\",\\"appnavigation\\" {\\"menuitems\\" \[{\\"id\\" \\"30483c6c ab64 4e30 8e47 3184d3aa5fbc\\",\\"parentid\\" \\"\\",\\"displayname\\" \\"inventory\\",\\"displayorder\\" 4,\\"relativepath\\" \\"inventory\\"}]},\\"hosting\\" \\"platform\\",\\" event meta\\" {\\"schemaversion\\" \\"0 0 1\\",\\"eventtype\\" \\"appregistered\\",\\"producer\\" \\"application service\\",\\"keyfield\\" \\"appid\\"},\\"requestid\\" \\"d9e7ebe6 0530 4de8 a21a 015ef304a23c\\",\\"eventtype\\" \\"appregistered\\",\\"createdtime\\" \\"2023 10 13t04 29 04 191z\\",\\"version\\" 0}", "eventtype" "appregistered" } ] }, "request" { "url" "/developer/logs/vehicle trackers?type=app", "method" "get", "params" { "listingid" "vehicle trackers" }, "query" { "type" "app" }, "body" {} } } async response async response the get versions diff apis support asynchronous responses under specific conditions this enhancement ensures efficient processing when comparing different versions between two solutions for comparisons between two applications, the response remains synchronous retrieve version diffs developers can use the following endpoint to get the html diff endpoint get /developer/versionsdiff/{versionid1}/{versionid2} path parameters parameter description versionid1 the first version of the app or solution versionid2 the second version of the app or solution type query specifies the type of version ids available values app , solution response details if versionid1 and versionid2 are both app types, then the api returns an html diff if versionid1 & versionid2 are different types, then the api returns a statusid { "statusid" "d41aa81e c669 461f a45c 06dadfc22c12" } if versionid1 & versionid2 are both solution types, then the api returns a statusid { "statusid" "d41aa81e c669 461f a45c 06dadfc22c12" } retrieve permission diff developers can use the following endpoint to get the html diff endpoint get /developer/permissionsdiff/{tenantid}/{versionid} path parameters parameter description tenantid the tenant of the app or solution versionid the version of the app or solution response details if the versionid is an app type, then the api returns an html diff if the tenantid and versionid are different types, then the api returns the following json { "response" { "statuscode" 400, "message" "version id does not belong to app or solution", "error" "bad request" }, "status" 400, "options" {}, "message" "version id does not belong to app or solution", "name" "badrequestexception" } if tenantid & versionid are both solution types, then the api returns a statusid { "statusid" "d41aa81e c669 461f a45c 06dadfc22c12" } retrieve version or permission diff status endpoint get /developer/diff/{statusid} developers can use this endpoint and pass the statusid to get the html diff for solutions path parameters parameter description statusid the unique id of the diff or permission status response details upon success, the api will return a 200 status with an html diff however, if there is no diff, then the the api returns a not found or failure status a failure can occur if the solutionid provided does not belong to any solution or an error occurred while creating the file retrieve app and solution onboarding activity logs endpoint get /developer/onboarding/logs developers can use the getonboardingactivity retrieve detailed onboarding logs for a given date range based on the following parameters tenantid the id for the tenant itemid the appid or solutionid versionid the appversion or solutionversion example request the following example requests logs using a tenantid and date range curl location 'https //api os1 delhivery com/developer/onboarding/logs?tenantid=os1dev\&from=2024 05 10\&to=2024 05 30' \\ \ header 'x developerplatform access your access token' example response the response contains an array of logs with two onboarding activity objects for the os1dev tenant within the specified date range the first activity log shows a failed status due to the solution manifest file missing, while the second object represents a successful solution onboarding { "logs" \[ { "tenantid" "os1dev", "itemid" "solution 628cae37 d549 40c1 a066 ab530fa2ae51", "versionid" "solutionversion 23c74dbd b197 4525 ac82 e75e07c125bf", "timestamp" "2024 04 27t14 15 30 000z", "statusid" "3f0183bc 22e1 4552 bfae c9n5j7a6p2q9", "status" "failed", "onboardingtype" "solution", "requestedby" { "userid" "v296km174", "email" "jane smith\@acme com" }, "error" "solution manifest file is invalid" }, { "tenantid" "os1dev", "itemid" "solution 628cae37 d549 40c1 a066 ab530fa2ae51", "versionid" "solutionversion 7f93c1e5 9a2d 4b8c 9d3e 6h8j4k2l7m5", "timestamp" "2024 04 28t09 45 00 000z", "statusid" "8a1p6f9q 4r3s 4t5u 6v7w 8x9y0z1a2b3", "status" "completed", "onboardingtype" "solution", "requestedby" { "userid" "v296km174", "email" "jane smith\@acme com" }, "error" null } ] }