Skip to content

Internal Server Error in /V1/creditmemo API Endpoint #35924

Open
@mlf20

Description

@mlf20

Preconditions and environment

  • Magento version 2.4

Steps to reproduce

  1. Retrieve auth token from the admin endpoint /V1/integration/admin/
  2. Request endpoint:
curl -H 'Content-Type: application/json' -H 'Authorization: Bearer' <AUTH TOKEN> -d '{"entity": ""}' -X POST http://<MAGENTO_URL>/pub/rest/default/V1/creditmemo

Expected result

Returns a 400 error as the request is malformed.

Actual result

Returns a 500 status code.

Additional information

output of var/log/system.log:

[2022-08-01T11:34:36.255953+00:00] main.CRITICAL: Error: Call to a member function getId() on null in /magento/vendor/magento/module-sales/Model/ResourceModel/Order/Creditmemo.php:50
	Stack trace:
	#0 /magento/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php(393): Magento\Sales\Model\ResourceModel\Order\Creditmemo->_beforeSave()
	#1 /magento/vendor/magento/module-sales/Model/Order/CreditmemoRepository.php(141): Magento\Framework\Model\ResourceModel\Db\AbstractDb->save()
	#2 /magento/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Sales\Model\Order\CreditmemoRepository->save()
	#3 /magento/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Sales\Model\Order\CreditmemoRepository\Interceptor->___callParent()
	#4 /magento/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/DeductSourceItemQuantityOnRefundPlugin.php(96): Magento\Sales\Model\Order\CreditmemoRepository\Interceptor->Magento\Framework\Interception\{closure}()
	#5 /magento/vendor/magento/framework/Interception/Interceptor.php(135): Magento\InventorySales\Plugin\Sales\OrderManagement\DeductSourceItemQuantityOnRefundPlugin->aroundSave()
	#6 /magento/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Sales\Model\Order\CreditmemoRepository\Interceptor->Magento\Framework\Interception\{closure}()
	#7 /magento/generated/code/Magento/Sales/Model/Order/CreditmemoRepository/Interceptor.php(59): Magento\Sales\Model\Order\CreditmemoRepository\Interceptor->___callPlugins()
	#8 [internal function]: Magento\Sales\Model\Order\CreditmemoRepository\Interceptor->save()
	#9 /magento/vendor/magento/module-webapi/Controller/Rest/SynchronousRequestProcessor.php(95): call_user_func_array()
	#10 /magento/vendor/magento/module-webapi/Controller/Rest.php(188): Magento\Webapi\Controller\Rest\SynchronousRequestProcessor->process()
	#11 /magento/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Webapi\Controller\Rest->dispatch()
	#12 /magento/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Webapi\Controller\Rest\Interceptor->___callParent()
	#13 /magento/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Webapi\Controller\Rest\Interceptor->Magento\Framework\Interception\{closure}()
	#14 /magento/generated/code/Magento/Webapi/Controller/Rest/Interceptor.php(23): Magento\Webapi\Controller\Rest\Interceptor->___callPlugins()
	#15 /magento/vendor/magento/framework/App/Http.php(116): Magento\Webapi\Controller\Rest\Interceptor->dispatch()
	#16 /magento/generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http->launch()
	#17 /magento/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->launch()
	#18 /magento/pub/index.php(30): Magento\Framework\App\Bootstrap->run()
	#19 {main} [] []

Release note

No response

Triage and priority

  • Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: APIsComponent: ApiUse with concrete module component label E.g. "Component: Api" + "Catalog"Issue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedPriority: P2A defect with this priority could have functionality issues which are not to expectations.Progress: ready for devReported on 2.4.xIndicates original Magento version for the Issue report.Reproduced on 2.4.xThe issue has been reproduced on latest 2.4-develop branch

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions