Skip to content

Why creating an empty cart via REST API requires parameters for quote address for this customer account?

I’m using Magento 2.3.3. Normally, calling this endpoint will return customer’s quote ID. But for this specific user, I got this error as a response:

{
    "message": "One or more input exceptions have occurred.",
    "errors": [{
        "message": ""%fieldName" is required. Enter and try again.",
        "parameters": {
            "fieldName": "firstname"
        }
    }, {
        "message": ""%fieldName" is required. Enter and try again.",
        "parameters": {
            "fieldName": "lastname"
        }
    }, {
        "message": ""%fieldName" is required. Enter and try again.",
        "parameters": {
            "fieldName": "street"
        }
    }, {
        "message": ""%fieldName" is required. Enter and try again.",
        "parameters": {
            "fieldName": "city"
        }
    }, {
        "message": ""%fieldName" is required. Enter and try again.",
        "parameters": {
            "fieldName": "telephone"
        }
    }, {
        "message": ""%fieldName" is required. Enter and try again.",
        "parameters": {
            "fieldName": "postcode"
        }
    }, {
        "message": ""%fieldName" is required. Enter and try again.",
        "parameters": {
            "fieldName": "countryId"
        }
    }],
    "trace": "#0 /vendor/magento/module-quote/Model/QuoteManagement.php(622): Magento\Customer\Model\ResourceModel\AddressRepository->save(Object(Magento\Customer\Model\Data\Address))n#1 /vendor/magento/module-quote/Model/QuoteManagement.php(271): Magento\Quote\Model\QuoteManagement->_prepareCustomerQuote(Object(Magento\Quote\Model\Quote\Interceptor))n#2 [internal function]: Magento\Quote\Model\QuoteManagement->createEmptyCartForCustomer(792)n#3 /vendor/magento/module-webapi/Controller/Rest/SynchronousRequestProcessor.php(95): call_user_func_array(Array, Array)n#4 /vendor/magento/module-webapi/Controller/Rest.php(188): Magento\Webapi\Controller\Rest\SynchronousRequestProcessor->process(Object(Magento\Framework\Webapi\Rest\Request\Proxy))n#5 /vendor/magento/framework/Interception/Interceptor.php(58): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))n#6 /vendor/magento/framework/Interception/Interceptor.php(138): Magento\Webapi\Controller\Rest\Interceptor->___callParent('dispatch', Array)n#7 /vendor/magento/framework/Interception/Interceptor.php(153): Magento\Webapi\Controller\Rest\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))n#8 /generated/code/Magento/Webapi/Controller/Rest/Interceptor.php(26): Magento\Webapi\Controller\Rest\Interceptor->___callPlugins('dispatch', Array, Array)n#9 /vendor/magento/framework/App/Http.php(137): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))n#10 /vendor/magento/framework/App/Bootstrap.php(261): Magento\Framework\App\Http->launch()n#11 /pub/index.php(40): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))n#12 {main}"
}

The formatted trace:

#0 /vendor/magento/module-quote/Model/QuoteManagement.php(622): MagentoCustomerModelResourceModelAddressRepository->save(Object(MagentoCustomerModelDataAddress))
#1 /vendor/magento/module-quote/Model/QuoteManagement.php(271): MagentoQuoteModelQuoteManagement->_prepareCustomerQuote(Object(MagentoQuoteModelQuoteInterceptor))
#2 [internal function]: MagentoQuoteModelQuoteManagement->createEmptyCartForCustomer(792)
#3 /vendor/magento/module-webapi/Controller/Rest/SynchronousRequestProcessor.php(95): call_user_func_array(Array, Array)
#4 /vendor/magento/module-webapi/Controller/Rest.php(188): MagentoWebapiControllerRestSynchronousRequestProcessor->process(Object(MagentoFrameworkWebapiRestRequestProxy))
#5 /vendor/magento/framework/Interception/Interceptor.php(58): MagentoWebapiControllerRest->dispatch(Object(MagentoFrameworkAppRequestHttp))
#6 /vendor/magento/framework/Interception/Interceptor.php(138): MagentoWebapiControllerRestInterceptor->___callParent('dispatch', Array)
#7 /vendor/magento/framework/Interception/Interceptor.php(153): MagentoWebapiControllerRestInterceptor->MagentoFrameworkInterception{closure}(Object(MagentoFrameworkAppRequestHttp))
#8 /generated/code/Magento/Webapi/Controller/Rest/Interceptor.php(26): MagentoWebapiControllerRestInterceptor->___callPlugins('dispatch', Array, Array)
#9 /vendor/magento/framework/App/Http.php(137): MagentoWebapiControllerRestInterceptor->dispatch(Object(MagentoFrameworkAppRequestHttp))
#10 /vendor/magento/framework/App/Bootstrap.php(261): MagentoFrameworkAppHttp->launch()
#11 /pub/index.php(40): MagentoFrameworkAppBootstrap->run(Object(MagentoFrameworkAppHttpInterceptor))
#12 {main}

Other customer accounts don’t have this problem. Just this account. How should I debug this problem?