I need to integrate other websites to send data to salesforce database to be saved and retrieved when required.
How do I go about it and what type of WSDL services would be used along with which type of API.
As further clarification, REST is an architectural style that uses HTTP to access resources. WSDLs are associated with SOAP which is a protocol. Check out this discussion on SO if you want to see the nitty-gritty details - https://stackoverflow.com/questions/19884295/soap-vs-rest-differences.
Do any of those websites have webhooks enabled? Webhooks fire notifications of events. As an example we use those from Shopify whenever an order is created. As Dan Jones mentioned, you can create your own endpoint to catch the webhook and then process that data into Salesforce using APEX code.
If not, how do those websites let you access their data. Do they have an API you can call? Do you control those websites or are they under 3rd party control?
If you cannot get those websites to push data to you, then you will have to poll them periodically to pull data. These can be done using the scheduler (https://help.salesforce.com/articleView?id=code_schedule_batch_apex.htm&type=0).
Another option may be a 3rd party middleware solution. This will depend on what functionality the websites expose, .e.g REST style web services. Take a look at products such as https://skyvia.com/, https://www.jitterbit.com/, etc. There are quite a few out there with varying types of connectors and at varying price points. If you are comfortable coding you can code your own solution using various open-source options
With REST, for instance, you can use standard HTTP requests to an endpoint to manipulate your data.
You can either use standard end points. For example:
Or you can create your own EndPoint using a
@RestResource annotated Apex class.
These would be the ways to...
send data to salesforce database to be saved and retrieved when required.
... As you ask.