Module: Edi::MftGateway
- Defined in:
- app/services/edi/mft_gateway/orchestrator.rb,
app/services/edi/mft_gateway/sender.rb,
app/services/edi/mft_gateway/ship_code_mapper.rb,
app/services/edi/mft_gateway/confirm_message_sender.rb,
app/services/edi/mft_gateway/invoice_message_sender.rb,
app/services/edi/mft_gateway/shipping_option_result.rb,
app/services/edi/mft_gateway/order_message_processor.rb,
app/services/edi/mft_gateway/inventory_message_sender.rb,
app/services/edi/mft_gateway/confirm_message_processor.rb,
app/services/edi/mft_gateway/invoice_message_processor.rb,
app/services/edi/mft_gateway/acknowledge_message_sender.rb,
app/services/edi/mft_gateway/inventory_message_processor.rb
Overview
The core class of our EDI integration, the factory for all processor
pc = Edi::Commercehub::Orchestrator.new(:commercehub_costco_ca) or whatever partner
gets you started
Then call the appropriate processor method and process. e.g
res = pc.order_message_processor.process
There is also an order flow and inventory flow you can run which executes
all the appropriate processor necessary
typically in order flow:
- order_message_retriever (Inbound, fetches files)
- order_message_processor (processes fetched data from order_message_retriever)
- fa_message_processor (prepares data to send to acknowledge receipt of orders)
- fa_message_sender (outbound, sends data from fa_message_processor)
- packing_slip_retriever (Inbound, fetches packing slip pdf)
- packing_slip_processor (processes packing slip retrieved)
- confirm_message_processor (Prepares data to send after orders have been shipped)
- confirm_message_sender (Outbound, Sends the data from confirm_message_processor)
- invoice_message_processor (Prepares invoice to send after orders have been shipped)
- invoice_message_sender (Outbound, sends invoice data from invoice_message_processor)
Now there's an inventory flow as well
- inventory_message_processor (Generates a list of items and their inventory in various warehouses)
- inventory_message_sender (Outbound, sends the file)
NullProcessor:
Sometimes a partner does not handle all integration, e.g costco has no invoice message,
walmart only has inventory. In those case when the configuration is not present, a nullprocessor
is provided which acts as a stand in
Exception handling
Most transmissions are stored in edi_commin
Defined Under Namespace
Classes: AcknowledgeMessageSender, ConfirmMessageProcessor, ConfirmMessageSender, InventoryMessageProcessor, InventoryMessageSender, InvoiceMessageProcessor, InvoiceMessageSender, Orchestrator, OrderMessageProcessor, Sender, ShipCodeMapper, ShippingOptionResult