ordercloud-api/headstart

Estimateshipping

venkatesh-dotnet opened this issue · 3 comments

when select address and save and continue, it returns "the server responded with a status of 500 (Internal Server Error)". the url hitting "https://sandboxapi.ordercloud.io/v1/orders/Outgoing/UuObUE6KoEqNOyYSDNZzIQ/estimateshipping". can you please suggest me how slove it

Is your backend (middleware) hosted? The integration event /estimateshipping endpoint will trigger OrderCloud to call out to your hosted endpoint to retrieve shipping estimates. The hosted endpoint it calls out to is defined on IntegrationEvent.CustomImplementationUrl

Here is where you would find that in the portal console:

image

As an example this is the integration event we have for our headstart demo instance:

{
    "ElevatedRoles": [
        "FullAccess"
    ],
    "ID": "HeadStartCheckout",
    "ConfigData": {
        "ExcludePOProductsFromShipping": false,
        "ExcludePOProductsFromTax": true
    },
    "EventType": "OrderCheckout",
    "CustomImplementationUrl": "https://headstartdemo-middleware-test.azurewebsites.net",
    "Name": "HeadStart Checkout",
    "HashKey": "OMITTED_FOR_SECURITY_PURPOSES"
}

For us, when /estimateshipping is called it will call out to https://headstartdemo-middleware-test.azurewebsites.net/shippingrates which is defined here along with all of the other integration events.

If it is hosted here are a few other things you might want to check

  1. Do you have an easypost account and are the credentials stored in your app configuration?
  2. In your app configuration settings is OrderCloudSettings:WebhookHashKey defined and is it the same value as the one on IntegrationEvent.HashKey?

Going forward we will plan on adding better error handling so that when there is an error there is more information to determine the cause of the issue. Let me know if any of those suggestions don't work, I'm sure we can figure it out.

@crhistianramirez thank you for suggestion. it's work fine now

^ Adding a clarification to the above. Your CustomImplementation must be publicly available, either as a hosted endpoint or exposing your local tunnel with a tool like ngrok or pipedream