consuming web services from D7

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
frost's picture

Hi all,

I've got a requirement to add online ordering functionality to a D7 site. All product/services details have to be pulled in real time from an external EPOS system, and all orders taken on the website need to be sent back to the same system (so it can update inventory etc). Communication with the EPOS system is via calls to its web services.

So there are two requirements here:
1. Talking to the EPOS system - maybe using https://www.drupal.org/project/wsclient
2. Using the EPOS data to provide e-commerce functionality to web users - probably using custom module alongside https://www.drupal.org/project/commerce

If you've done either/both of these before, I'd appreciate advice/suggestions or links to online resources that might help.

Or if you have the time to work with me on this, I can offer a few quid for your time.

Thanks!

Mike

Comments

Use Magento or Presto shop,

KoshaK's picture

Use Magento or Presto shop, as they are designed for online shopping. IMHO

Konstantin, Thanks for your

frost's picture

Konstantin,
Thanks for your reply.
From what I've heard, Magento is very good for this. However, in this case, the requirement is to enhance an existing Drupal 7 website, so I don't have the option to rebuild the site using another framework.
Mike

deleted

frost's picture

deleted

But u dont have to rebuild

KoshaK's picture

But u dont have to rebuild anything. You can live Drupal as your CMS and have Magento as online shop.
Anyway you will have to do the design and css and configuration for Drupal Ubercart or what ever you use... I think it will take even more time and put much more additional modules and Load for the page...
but maybe, as you wrote, its the only way for you. I would not do such enhansments creating frankenshtein :)))

It depends on how 'real-time'

alanburke's picture

It depends on how 'real-time' the data need to be but you could use migrate api to pull in the data in Drupal - and then use js for the 'real-time' info.
Use Drupal Commerce on the Drupal site for the transactions.

I don't see the need for Magento in this case. - Drupal and Drupal Commerce can handle all this just fine.

Alan, Yes, that fits with the

frost's picture

Alan,
Yes, that fits with the approach I'd come up with. Basically a list of products can be based on slightly stale data, but adding to cart or checking out require data to be fresh.
Thanks
Mike

which client module?

frost's picture

I've just started looking in more details at two web service client modules:

Web Service Clients https://www.drupal.org/project/clients
-and-
Web Service Client https://www.drupal.org/project/wsclient

If you've any experience in either, can you say which is easier to use, more stable, more flexible, or anything else that might steer me to one or the other?

I should add that the web service I need to call requires me to make 100+ calls each time I want to update the website's list of events. This is because there is no service that can provide a full list of events all at once, only one that lists all events for a specific ticket type for a specific day. There are more than a dozen ticket types, so as you can imagine, building up a calendar for a couple of months to display to the user will take a LOT of web service calls. With that in mind, a web service client that can retain anything between calls about the connection (assuming the protocol allows that) will be more efficient. FYI, the web service says that it recognises SOAP, HTTP GET and HTTP POST (I've only tested POST so far).

Thanks again folks!
Mike

Ireland

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week