{"data":{"exception":"NullReferenceException","message":"Object reference not set to an instance of an object.","helpLink":null,"data":{},"source":"Redsand.Site","stackTrace":" at Redsand.Site.Services.EcommerceService.ActionPairingsProduct(Int32 id, Int32 productId, Int32 currentUserId) in E:\\redsand\\BaseV2-Net6\\Services\\Ecommerce\\EcommerceService.cs:line 182\n at Redsand.Site.Api.EcommercesProductsController.PairingsProduct(Int32 id, Int32 productId) in E:\\redsand\\BaseV2-Net6\\Api\\EcommerceProduct\\EcommerceProductsController.cs:line 646\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)","inner":null},"status":400,"statusText":"","headers":{"access-control-allow-origin":"*","cache-control":"no-store","content-type":"application/json; charset=utf-8","date":"Wed, 21 Jan 2026 13:14:02 GMT","expires":"0","pragma":"no-cache","server":"nginx/1.28.0"},"config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http","fetch"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json","Content-Type":"application/x-www-form-urlencoded","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjMiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMDk4MzYxNjYxOCIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiTUI2TlhZNU82WlRENlhIVlczNUxPVlU1SlpKNE9CTlAiLCJzdWIiOiIwOTgzNjE2NjE4IiwianRpIjoiMzA1OGVmMTYtOWRkYS00NTk5LTgyZDMtNDIzYzNjZWJhY2Y2IiwiaWF0IjoxNzY4OTY2NjQwLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOlsiMS1naWFtLWRvYyIsIkFkbWluaXN0cmF0b3JzIiwiMS10cnVvbmctcGhvbmciLCIyLWdpYW0tZG9jLWNoaS1uaGFuaCIsIjMtbGVhZGVyLXNhbGUiLCIzLXNhbGUtdHJ1Yy1wYWdlIiwiMy10ZWxlc2FsZSIsIjQtbGVhZGVyLW1hcmtldGluZyIsIjQtbmhhbi12aWVuLW1hcmtldGluZyIsIjUtbmhhbi12aWVuLXZhbi1kb24iLCI1LW5oYW4tdmllbi1raG8iLCI2LWtlLXRvYW4iXSwibmJmIjoxNzY4OTY2NjQwLCJleHAiOjE3NzAyNjI2NDAsImlzcyI6IlJTIiwiYXVkIjoiUlMifQ.M5kGulIuTgAiHm9U9fCqMvJpkXRmAIQn2hUveLXz2-8","ContentType":"application/json","x-hour-offset":"7","BranchId":"1","Locale":"vi"},"baseURL":"https://yuzi.nobi.pro","paramsSerializer":{},"method":"put","url":"api/ecom/product/pairing/223?productId=626"},"request":{}}
{"Accept":"application/json","Content-Type":"application/x-www-form-urlencoded","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjMiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMDk4MzYxNjYxOCIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiTUI2TlhZNU82WlRENlhIVlczNUxPVlU1SlpKNE9CTlAiLCJzdWIiOiIwOTgzNjE2NjE4IiwianRpIjoiMzA1OGVmMTYtOWRkYS00NTk5LTgyZDMtNDIzYzNjZWJhY2Y2IiwiaWF0IjoxNzY4OTY2NjQwLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOlsiMS1naWFtLWRvYyIsIkFkbWluaXN0cmF0b3JzIiwiMS10cnVvbmctcGhvbmciLCIyLWdpYW0tZG9jLWNoaS1uaGFuaCIsIjMtbGVhZGVyLXNhbGUiLCIzLXNhbGUtdHJ1Yy1wYWdlIiwiMy10ZWxlc2FsZSIsIjQtbGVhZGVyLW1hcmtldGluZyIsIjQtbmhhbi12aWVuLW1hcmtldGluZyIsIjUtbmhhbi12aWVuLXZhbi1kb24iLCI1LW5oYW4tdmllbi1raG8iLCI2LWtlLXRvYW4iXSwibmJmIjoxNzY4OTY2NjQwLCJleHAiOjE3NzAyNjI2NDAsImlzcyI6IlJTIiwiYXVkIjoiUlMifQ.M5kGulIuTgAiHm9U9fCqMvJpkXRmAIQn2hUveLXz2-8","ContentType":"application/json","x-hour-offset":"7","BranchId":"1","Locale":"vi"}