'Amazon SP_API POST createReport() responded return Invalid Input

I am trying to create a report so I can import products in bulk. The issue i am facing right now is that whatever I have done always got Invalid input error. It seems very very ambiguous error message I have checked issue here and similar once but unfortunately no solution worked.

So if you check below received error from sp-api

{
    "notifications": [],
    "text": "{\"message\":\"[400] [{\\\"code\\\":\\\"InvalidInput\\\",\\\"message\\\":\\\"Could not match input arguments\\\"}]\",\"success\":false}"
}

you will notice that it seems there is a mistake with my code regarding datatype(as I understood from error) But I have made sure many times of datatype, even I have wrote data as string[] but honestly it took too much time. Please find my code

    $config = new Configuration([
        "lwaClientId" => $account_data['lwa_client_id'],
        "lwaClientSecret" => $account_data['lwa_client_secret'],
        "lwaRefreshToken" => $account_data['lwa_refresh_token'],
        "awsAccessKeyId" => $account_data['aws_access_key'],
        "awsSecretAccessKey" => $account_data['aws_secret_key'],
        "endpoint" => SellingPartnerApi\Endpoint::NA ,
    ]);
    $apiInstance = new SellingPartnerApi\Api\ReportsApi($config);


    $body = new SellingPartnerApi\Model\Reports\CreateReportSpecification([
                'marketplace_ids' => [$merchant_data['marketplace_ids']], 
                'report_type' => ReportType::GET_MERCHANT_LISTINGS_ALL_DATA['name'],
    ]);
    try{
        $report_id = $apiInstance->createReport($body);
       }catch(Exception $e){
        return array("message"=>$e->getMessage(),'success'=>false);
    }

Btw, I am using this lib https://github.com/jlevers/selling-partner-api Please note that 3 of CreateReportSpecification parameter are optional (report_options, data_start_time, data_end_time) I didn't passed it at constructor.

Could you please advise what's went wrong with my code? Why I am receiving Invalid Input ??

Thanks in advance



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source