-
Notifications
You must be signed in to change notification settings - Fork 2
Legacy Forum Q & A
Q: What should I be passing in Name tag when trying to list all networks?
A: It can be left blank. The Name parameter allows you to use the function to search for specific networks rather than a complete list.
Q: The time on the dates doesn't seem to have been updated to reflect the clock changes in Britain (forward 1 hr). I've just uploaded an Invalid message at 12:07 and the error report (parcelError) is reporting it was uploaded at 11:07.
A: All times in ECGrid are UTC/GMT. In future versions we may look into timezone support.
Q: What is the required access for MailboxList?
A: You need to be logged in and have a valid session to be able to do a mailbox list. Your user must also be linked to the mailbox that you are trying to do a listing for.
Q: Looking further into the API I do not see a method to change mailboxes (as a user action, not a setting or configuration), so perhaps I should have deduced that only a "network admin" would use such a function.
A: If you go through the API calls, there are many with an Ex suffix (e.g. MailboxList() and MailboxListEx()). The Ex APIs allow the NetworkID and MailboxID to be set, while the ones without the Ex default to the logged in user's NetworkID/Mailbox.
Q: I have the following code
Parcels = ecgridos.ParcelInBoxArchive(SessionID, LastTime, EndDate, 0, 0)
For Each Parcel As ParcelIDInfo In Parcels
Dim File As net.ecgridos.FileInfo
File = ecgridos.ParcelDownloadGZip(SessionID, Parcel.ParcelID)
'Store File Details into SQL Database Table
'File.Bytes
'File.Content
'File.ParcelID
'File.FileDate
Next
Will the File.Bytes or File.Content hold the data? Thanks
A: This works just like ParcelDownload(), so Bytes is the size and Content is the actual data.
Q: I tested Interconnect Add successfully in test environment. I can receive PENDING status immediately. After one hour I received email of interconnect confirmation.
- Do you do something on your end to trigger interconnect so the email can be sent?
- In live scenario, will we receive confirmation immediately (except for special cases)? Who will complete the interconnect and send email to us?
A: InterconnectAdd() has an expert engine behind it that makes many decisions based on many parameters including Trading Partner VAN and previous interconnects.
Based on the information they system determines whether it can immediately confirm the interconnect or move it to pending status.
If the Interconnect Request is moved to Pending, then it is forwarded to NetOps for completion. Time to confirmation is dependent on the VAN and other factors. Normally, these are cleared in less than 24 hours.
The particular interconnect you set up today was to an ID on the ECGrid Test mailbox. When I saw the request come up on my dashboard, I moved it to Confirmed status.
Q: When a new trading partner wants to use AS2, I think we need to manually send you the AS2 connection request. However, if some trading Partner such as: Target...who had AS2 connection with you already. How can we do interconnect request? Which NetworkID should we use? Thanks
A: When setting up Interconnects on other Networks, regardless of their communications channel (e.g. ftp, smtp, AS2, etc.), they are all set up the same way using InterconnectAdd().
Specifically for Target, you only need to look up the ECGridID by Qualifier/ID using TPSearchEx() with NetworkID:=-1 and MailboxID:=-1, then use the ECGridID in InterconnectAdd().
Q: How can we cancel an interconnect? Should we just manually send email and receive confirmation manually?
A: There is a function called InterconnectCancel() just for this purpose.
Q: Is there a field on the ParcelInfo object that will let us know when a file was downloaded from the Inbox?
A: There is not, but it can be found in the ParcelManifest() API. We will look into that as a property of the ParcelIDInfo class object in a future update.
Q: How can we check the transaction status if we provide SenderID, ReceiverID and ISA Control Number?
A: Their are a few ways to locate a transaction:
-
InterchangeOutBox()
-
ParcelOutBoxArchive(): Does not use ICN.
-
If you were using ParcelUpload() rather than AS2, then you would receive a ParcelID as the return value which you could store off for future status checks using ParcelInfo() directly.
Q: I have some AS2 questions and forgive me if these are basic questions but I don't really know that much about it and like most things it became a necessity to learn quickly when a trading partner wanted to business with a company that does AS2.
A: First, AS2 is one of several communication paths into ECGrid which we call ECGridAS2. The native ECGridOS communication path is through the ParcelUpload() and ParcelDownload() set of APIs.
For every trading partner relationships there are two connections to ECGrid.
The first is for your side (you directly or your customer). If pure ECGridOS, then you can use the ParcelUpload()/ParcelDownload() or configure AS2 or FTP or whatever with our Networks Operations staff ([email protected]).
The second connection if for your trading partner. If they already have a relationship with a VAN, then that is our preferred route. The data would route through our Interconnect with that VAN. If your partner does not use a VAN and needs to negotiate a direct connection with ECGrid the Networks Operations staff. We may already have a connection with that trading partner, so it is worth dropping a line to NetOps. Be sure to include your trading partners Qualifier/ID or GLN.
Q: AS2 uses certificates - Can this certificate be self signed?
A: ECGridAS2 accepts all certificates, including self-signed.
Q: I know that ECGridOS supports AS2 - Do I need to have AS2 setup on my system (which brings up many other questions) and then ECGrisOS forwards based on the AS2 url I provide?
A: AS2 is an option. You can also use the secure Upload/Download functions noted. ParcelUpload()/ParcelDownload()
Q: Does ECGridOS's support of AS2 mean I don't need an in-house solution. This would be the best case scenario in which AS2 connections would come to the mailbox ready for download much like the X12.56 Mailbag protocol works.
A: How your trading partner connects to us (VAN Interconnect, AS2, etc.) has no impact on how you connect to us. So if you use the native ECGridOS Upload/Download you need no additional communications software or configuration.
Q: TP - VAN, VAN - VAN, TP - TP - Are all of these options for AS2 connectivity or am I totally confused about how AS2 works?
A: AS2 is simply a communications protocol like FTP. It only appertains to the two points connecting to each other. ECGrid is a message routing hub, so each party that connects to it with its own protocols (VPN, VAN, AS2, FTP, HTTPS, etc.) and the data routes independently. You only need to worry about how you connect to ECGrid. One connection connects you to everyone.
Q: I sent a test file to myself which contained two different interchanges. The API for parcel_in_box specifies that I'll be receiving back a collection of InterchangeIDInfo objects. When I perform this request I actually got back two parcels, each with one InterchangeIDInfo object. Will ECGridOS be separating all inbound data as such and should I always only expect one InterchangeIDInfo in the parcel_in_box response?
A: The collection of InterchangeIDInfo objects is to accommodate systems that send us more than one interchange per mailbag/parcel. A number of the VANs and a few customers do this.
We recommend only sending on interchange per mailbag/parcel, but it is not a requirement. We will always send one interchange per parcel to your InBox.
The class object is set up to generically handle all InBox and OutBox possibilities, which is why it is set up as a collection for InterchangeIDInfo objects.
Q: If a new mailbox was created on, for example, GXS Tradanet which ECGrid did not know about. How would I be able to get ECGrid to know about it and assign it a partner ECGridID ?
I thought this might have been something to do with the interconnect requests, but the parameters to that require sender and receiver ECGrid IDs, which implies ECGrid already knows about the recipient.
Is this an admin task perhaps rather than something I can request through software?
A: Each Network attached to ECGrid maintains all its own internal Mailbox Routing. To ECGrid the connection to a Network (e.g. Sterling Commerce) is one large "trunk" connection.
On ECGrid it is only necessary that the Qualifier/ID or GLN is pointing to the right network. Once the interchange is delivered, that network will make sure it gets to the right place on their own system.
If the QID/GLN is not already registered on ECGrid, you can use the TPAddVAN() function. You will need to know which VAN they are on (if in doubt, contact NetOps).
Q: If you are designing an application that needs to poll all the In-Boxes on a an entire Network there is a way to do this without having to pull each individual Mailbox using ParcelInBox() or ParcelInBoxEx().
A: Using ParcelInboxEx() set MailboxID=-1 and it will check all Mailboxes simultaneously. You will need at least NetworkUser authorization to use this functionality.
Q: Most of the large VANs and many of the small VANs use the X12.56 Interconnect Mailbag Protocol (or X12.56 Mailbag or simply Mailbag) to help track transmissions between VANs.
While this is an X12 standard, X12.56 mailbags often contain X12, EDIFACT, TRADACOM and other standards. European X.400 networks do not typically support this standard.
A: While ECGrid treats Parcels and Mailbags as the same thing, only when the other VAN supports the X12.56 protocol, do we actually use the term Mailbag.
ECGrid fully supports X12.56. When this protocol is used, the Parcel.MailbagControlID property is populated. For Mailbags sent to VANs, this is the same as the ParcelID, left padded to nine digits.
The MailbagControlID is useful in tracking lost interchanges over Interconnects.
Q: I just want to ensure that we are picking up the correct information to display in the Mailbag field.
You sent us the following information previously. Which I think is for Outbound data (from our client)
ParcelUpload() -> ParcelID(1)
internally ParcelID(1) -> InterchangeID -> ParcelID(2)
ParcelID(2) is then sent to the VAN. The MailbagControlNo is ParcelID(2) not ParcelID(1)
So we need to use the MailbagControlNo on the 2nd Parcel for the Mailbag ID?
On inbound we can just use the Parcel ID of the parcel we down load is that correct?
Or is ir
Parcel(1) (Received from VAN) à InterchangeID à ParcelID(2) downloaded by our client.
So do we have to go from Parcel(2) back to Parcel(1) and use the ID of Parcel(1) for the inbound Mailbag ID – i.e. what you will have given to the 3rd party VAN.
A: Close. For outbound (to VAN) it is correct as the MailbagControlNo is Parcel(2).ParcelID, left padded with zeros to nine digits. This is only if the VAN mailbags. Check the Parcel(2).MailbagControlID to see the actual value. If it is blank, the VAN does not do mailbagging.
Inbound, it would be the Parcel(1).MailbagControlID, which will not match Parcel(1).ParcelID because the MailbagControlID for inbound (from VAN) is not assigned by us. If the property is blank, the VAN does not mailbag.
We need to develop new functions to permit users to check the interconnect status and traffic report to save our time and your time.
Q: I couldn’t find the way to view traffic report with : ClientQID, TradingPartnerIQD, and Date. Can you advise which function we should use? How can we download file by using ClientQID, TradingPartnerIQD, and/or ICN, and/or Date?
A: There are a few options depending on exactly what you are looking for. I suspect that you want is ParcelInBoxArchive(), you will also need to make calls to TPSearch() and TPSearchEx() for the ECGridIDs needed in that call. Once you have the ParcelID you can use ParcelManifest() to get even more information.
Once you find the ParcelID through the call above, you use ParcelDownload() or ParcelDownloadGZip() and then ParcelDownloadConfirm() to actually get the data.
Q: I'm kind of new to the EDI thing, I just added some code to upload a simple text file (not an EDI file) using some code that calls ParcelUploadEx() ... but I'm gettting an email that has the following:
ECGrid has encountered problems with the following mailbag due to one or more errors: ISAZZECGRIDOS ZZUPLOADEX 8402068616906 8502068616906 1205010542U999991565579040P| Status: (1105) INVALID ISA SYNTAX
A: The issue here is that X12 only allows a 2-digit Qualifier, but EDIFACT allows 3-digits. The test QIDs (Qualifier/IDs) you set up were 3-digit (840 and 850), so the system choked when trying to validate the ISA segment we use to wrap non-EDI data.
I will be putting in a validation check for ParcelUploadEx() so this is trapped in the future.
For now, just create test IDs using 2-digit qualifiers. If you look into X12, there is only a small set of valid 2-digit qualifiers; however, ECGrid will allow for any letter/number combination. For testing you can stick with something like XX which is not valid in the real world, so will make sure you don't interfere with any live QIDs.
Q: Is there a recommendation on when to use the GZip version of the methods vs. the regular ones? What is the advantage of using the GZip? is there a disadvantage to using it?
A: Good question. The short answer is that there is no recommondation.
GZip was included as EDI data, especially large EDI data files are very compressable. It seems like that would create a huge advantage whem moving very large transactions such as catalogs.
The tradeoff is processing power on both ends to compress/decompress. We have not done any studies. Perhaps you might want to try and let me know what you find.
Off hand at today's internet speeds, I would probably not consider worrying about compression until the file was at least 500K, maybe not even till 1MB.
Q: I was trying to use the ParcelInbox, and ParcelInboxArchive functions to see the complete mailbox (i.e. everything in there, both new and old), but for some reason those always return nothing for me when I use my stratecon.admin login to create a sessionid.
I had expected that calling the ParcelInbox would have shown me all items in all mailboxes for my account; but it must only show the parcels waiting for download.
Is that right? If so, what function do I use to list out all items in the mailbox (downloaded or not)?
A: There are a few issues going on here. First, ParcelInBox() is only pending as you suggest. ParcelInBoxArchive() is for all parcels.
Both of these ParcelInBox() and ParcelInBoxArchive() will only look in the current user’s NetworkID/MailboxID. If you want to log in as a Network Admin (assigned to “Root” MailboxID := 0), then you need to use the ParcelInBoxEx() and ParcelInBoxArchiveEx() where you specify the NetworkID (you only have access to your own) and the MailboxID on your system you wish to check. By using MailboxID := –1 it will check across all your system mailboxes.
Q:
A:
Q:
A:
Q:
A:
Q:
A:
Q:
A:
Getting Started
- Getting Started - Basics
- Getting Started - Extended Capabilities
- HTTP Connections
- Visual Studio SOAP Connections
- About ECGridOS and Loren Data Corp.
- Documentation & Nomenclature
- Using Web Services
- Networks & Mailboxes
- Users & Authorization Levels
- API Keys & Sessions
- Trading Partners & ECGridIDs
- Interconnects & Trading Partnerships
- Parcels, Interchanges & Mailbags
- Carbon Copies
ECGridOS API Calls
- API Calls - Full Definitions Available
- Asynchronous API Calls - Events
- Asynchronous API Calls - Task\Async\Await