I have been using SOAP and REST since several years ago. SOAP means Simple Object Access Protocol, and REST refers Representational State Transfer.
Back to 2008, when I was working on HireRight integration, I started SOAP-based API calls. Originally developed by Microsoft, SOAP isn’t as simple as its name. SOAP functions are more like business transaction logic cycle, so each SOAP services will complete some goals which like you complete business routing operation. For example, when we request background check from HireRight, we need setup a connection by shake hand, then submit the order with all candidate information, HireRight just response, they received the data, but background check result need create another connection. So it’s kind of like remote business function calls, actually, SOAP is based on RPC (Remote procedure calls) through standard HTTP(s)
REST call more like data operation, or can be working on a data source directly with URL. So you can do CRUD (Create/Read/Update/Delete) operations on data by REST calls. And response will tell you the action is successful or not. Started with Yahoo’s web services, more and more companies are using REST as their web services API, Amazon, eBay, and Megento (An eBay company now) have their web services for both REST and SOAP.
In my new company, I started to build API platform for all internal API calls and also provide API interface to 3rd part vendor. I am using REST APIs for this new platform, and data format is JSON, and most API calls is less than 100ms response. Because as e-commerce company, we have a lot of payment transactions, which is not just as simple as data operation, so my design combined SOAP idea, we have a group of REST calls to complete payment transaction, not just based on one REST call. This is improving the security purpose and more reliable payment.