Invalid Parameter : Custom Endpoint

I am new to sugarCRM
I had created a custom module(source IP) called order and its working fine. And I had created a custom API for the order module and I exposed that endpoint to different application in different server. The API was tested using Postman and was working fine. Whenever application (destination ip) hits order API in sugarCRM.,SugarCRM is throwing invalid parameter(error code 422) .
Below is the response
{"error":"invalid_parameter","error_message":"A parameter in your request was invalid." }
Version used is 10.3 (Enterprise)

How to solve this problem ?

Parents
  • Hi Rajinikanth,

    From the whole thread It seems that you will feed all the API parameters like URL, headers, cookies etc  in XML format to your external application and the application will parse the XML and call the API Endpoint. 
     
    If so,

    The issue may because of your external application is failing to call POST API requests. Can you once try calling the Sugar's stock API for creating an Accounts "POST /Accounts" with some request body. 

    You can use the below link as reference 
    https://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_11.0/Integration/Web_Services/REST_API/Endpoints/module_POST/


    By this you may get some clue about the issue.

  • Hi ,

    I tried stock API's from the external application which are working fine without any issues. For me this problem is only for custom API's.


  • In such case,

    Since the Custom API is working fine in Postman it should work fine in your application also. It is clear that there is no issue with the Custom API you have written in Sugar.

    The error code 422 will only thrown when you miss some parameters in API or there may some syntax error in the request body.

    It would be more helpful to understand the issue if you share the XML of you request with request body. Also share the XML with request body you have given for POST /Accounts (Stock API). It would more easier to debug by comparing the stock and custom APIs.

    Thank You, 
    Vamshi S. 

  • Hi 

    Below is my XML headers and JSON request for custom module (order) and Stock module(accounts)


    Request Body update order :

    {
      "o_id": "54",
      "custAccount": "C60"
    }


    XML Headers update order :

    <propertyMap>
    <property>
    <name>Request-Line</name>
    <value>PUT /sugarcrm/rest/v10/Ord_Orders/UpdateOrderMethod HTTP/1.1</value>
    </property>
    <property>
    <name>Cookie</name>
    <value>PHPSESSID=aec8062hn4rq7b7797ov5aqp2s; path=/</value>
    </property>
    <property>
    <name>Authorization</name>
    <value>Bearer 9babc467-f6ab-41ad-80ca-8c7ef5d28c59</value>
    </property>
    <property>
    <name>Accept</name>
    <value>application/json</value>
    </property>
    <property>
    <name>Host</name>
    <value>ip address comes here</value>
    </property>
    <property>
    <name>Content-Type</name>
    <value>application/json; charset=ISO-8859-1</value>
    </property>
    </propertyMap>



    Request Body for accounts :

    {
      "name": "Customer Account07",
      "account_type": "Customer Account",
      "phone_office": "12345678",
      "email": "abc@xyz.com",
      "salutation_c": "Ms.",
      "username_c": "Abc",
      "lastname_c": "Xyz",
      "active_cart_id_c": "123456",
      "bel_customer_id_c": "543678"
    }


    XML headers for accounts :

    <propertyMap>
    <property>
    <name>Request-Line</name>
    <value>POST /sugarcrm/rest/v10/Accounts HTTP/1.1</value>
    </property>
    <property>
    <name>Cookie</name>
    <value>PHPSESSID=bmc7frtmkq70c957gkm1v2v4sl; path=/</value>
    </property>
    <property>
    <name>Authorization</name>
    <value>Bearer e215b865-2d52-4cc3-ab22-2c620f33b55e</value>
    </property>
    <property>
    <name>Accept</name>
    <value>application/json</value>
    </property>
    <property>
    <name>Host</name>
    <value>ip address here</value>
    </property>
    <property>
    <name>Content-Type</name>
    <value>application/json; charset=ISO-8859-1</value>
    </property>
    </propertyMap>

Reply
  • Hi 

    Below is my XML headers and JSON request for custom module (order) and Stock module(accounts)


    Request Body update order :

    {
      "o_id": "54",
      "custAccount": "C60"
    }


    XML Headers update order :

    <propertyMap>
    <property>
    <name>Request-Line</name>
    <value>PUT /sugarcrm/rest/v10/Ord_Orders/UpdateOrderMethod HTTP/1.1</value>
    </property>
    <property>
    <name>Cookie</name>
    <value>PHPSESSID=aec8062hn4rq7b7797ov5aqp2s; path=/</value>
    </property>
    <property>
    <name>Authorization</name>
    <value>Bearer 9babc467-f6ab-41ad-80ca-8c7ef5d28c59</value>
    </property>
    <property>
    <name>Accept</name>
    <value>application/json</value>
    </property>
    <property>
    <name>Host</name>
    <value>ip address comes here</value>
    </property>
    <property>
    <name>Content-Type</name>
    <value>application/json; charset=ISO-8859-1</value>
    </property>
    </propertyMap>



    Request Body for accounts :

    {
      "name": "Customer Account07",
      "account_type": "Customer Account",
      "phone_office": "12345678",
      "email": "abc@xyz.com",
      "salutation_c": "Ms.",
      "username_c": "Abc",
      "lastname_c": "Xyz",
      "active_cart_id_c": "123456",
      "bel_customer_id_c": "543678"
    }


    XML headers for accounts :

    <propertyMap>
    <property>
    <name>Request-Line</name>
    <value>POST /sugarcrm/rest/v10/Accounts HTTP/1.1</value>
    </property>
    <property>
    <name>Cookie</name>
    <value>PHPSESSID=bmc7frtmkq70c957gkm1v2v4sl; path=/</value>
    </property>
    <property>
    <name>Authorization</name>
    <value>Bearer e215b865-2d52-4cc3-ab22-2c620f33b55e</value>
    </property>
    <property>
    <name>Accept</name>
    <value>application/json</value>
    </property>
    <property>
    <name>Host</name>
    <value>ip address here</value>
    </property>
    <property>
    <name>Content-Type</name>
    <value>application/json; charset=ISO-8859-1</value>
    </property>
    </propertyMap>

Children
No Data