I did this for a medium sized print shop I worked at. I originally just setup a website with a listing of our services and an upload file section. I then upgraded to the next tier to allow customer portals/login for our top customers. This helped to lock them in as our customer because they could easily login and place re-orders, typeset their own business cards, submit new PO's, etc. We made it very clear on the site that people could still call us and get ahold of a human being because we didn't want to lose that customer service touch. I then looked at what items had a low profit margin, required too much work, or we couldn't do in-house, and made those available completely automated on the website. This included greeting cards, business cards, and promotional items.
A company called Birchcraft (which I believe is now called DFSonline and you can setup here:
https://www.dfsonline.com/dfs/holidaycards-gifts-Calendars) offers a generic website that you can customize with your logos/info. The customer can login through a link on your original website and it takes them to the site where they can browse through selections of holiday cards, wedding invites, etc, and then typeset it themselves, see an instant proof, pay and submit the order. You get an automated message to confirm the order before Birchcraft starts processing. You can ask them to ship to you or blind ship to your customer and you get paid.
There was another company (easycarddesigner . com) that did the same thing for business cards where customers could browse thousands of templates and typeset online. The great thing about this site is they would send us a hi-rez version of the business card so we could print ourselves if we wanted, or have them print if the customer requested UV coating since we didn't have this in-house. At the time, their pricing was competitive with companies like 4over or gotprint, not sure about it now.
There is another company for promo items (asicentral . com) that links you up with all sorts of vendors for imprinting on anything like pens, keychains, coffee cups, etc. They also provided a generic website that you can brand for yourself and your customer can browse through a large library of items, upload their logo, see a proof, and place an order...and you just collect the check!
The rest of the items we listed under services such as 'brochures' for example, all linked back to our own quote request/place an order page where they would fill out contact information and upload a file. They would get an automated email that their request was received and someone would be contacting them shortly...and we really would contact them right away. It's all about customer service!