Skip to main content

ParcelInBox

List parcels in the inbound queue for a mailbox, with optional filtering by trading partner, status, and date range.

:::caution Established API The SOAP API is in maintenance mode. For new integrations use the REST equivalent. :::

Method Signature

ArrayOfParcelIDInfo ParcelInBox(string SessionID, int NetworkID, int MailboxID,
int ECGridIDFrom, int ECGridIDTo, ParcelStatus Status,
datetime BeginDate, datetime EndDate, short PageNo, short RecordsPerPage)

Parameters

ParameterTypeRequiredDescription
SessionIDstringYesActive session token from Login()
NetworkIDintYesNetwork ID; use 0 for the session default
MailboxIDintYesMailbox ID; use 0 for the session default
ECGridIDFromintNoFilter by sender ECGrid ID; use 0 for all
ECGridIDTointNoFilter by recipient ECGrid ID; use 0 for all
StatusParcelStatusYesParcel status filter (see ENUMs below)
BeginDatedatetimeYesStart of the date range (UTC)
EndDatedatetimeYesEnd of the date range (UTC)
PageNoshortYes1-based page number for paginated results
RecordsPerPageshortYesNumber of records per page (max 500)

Response Object — ArrayOfParcelIDInfo

Returns an array of ParcelIDInfo objects.

FieldTypeDescription
ParcelIDlongUnique parcel identifier
NetworkIDintNetwork that owns the parcel
MailboxIDintMailbox that received the parcel
FileNamestringOriginal file name of the parcel
BytesintFile size in bytes
StatusParcelStatusCurrent parcel status
ECGridIDFromintSender ECGrid ID
ECGridIDTointRecipient ECGrid ID
CreateddatetimeTimestamp when the parcel was created (UTC)
<!-- Example response XML -->
<ArrayOfParcelIDInfo>
<ParcelIDInfo>
<ParcelID>9876543</ParcelID>
<NetworkID>1</NetworkID>
<MailboxID>101</MailboxID>
<FileName>invoice_20260507.edi</FileName>
<Bytes>4096</Bytes>
<Status>InBoxReady</Status>
<ECGridIDFrom>123456</ECGridIDFrom>
<ECGridIDTo>654321</ECGridIDTo>
<Created>2026-05-07T08:00:00Z</Created>
</ParcelIDInfo>
</ArrayOfParcelIDInfo>

Variants

ParcelInBoxEx

Extends ParcelInBox with an additional filter on the EDI mailbag control ID (ISA13).

ArrayOfParcelIDInfo ParcelInBoxEx(string SessionID, int NetworkID, int MailboxID,
int ECGridIDFrom, int ECGridIDTo, string MailbagControlID, ParcelStatus Status,
datetime BeginDate, datetime EndDate, short PageNo, short RecordsPerPage)
Additional ParameterTypeDescription
MailbagControlIDstringISA13 interchange control number to match; pass empty string to skip

ParcelInBoxArchive

Searches the parcel archive using a separate date range, allowing retrieval of older delivered parcels beyond the standard inbox retention window.

ArrayOfParcelIDInfo ParcelInBoxArchive(string SessionID, int NetworkID, int MailboxID,
int ECGridIDFrom, int ECGridIDTo, ParcelStatus Status,
datetime BeginDate, datetime EndDate, short PageNo, short RecordsPerPage)

The parameter set is identical to ParcelInBox; the method targets the archive data store rather than the live inbox queue.

ENUMs

ParcelStatus

ValueDescription
InBoxReadyParcel is available for download
InBoxTransferredParcel has been downloaded and confirmed
as2ReceiveParcel received via AS2
as2SentParcel sent via AS2
ftpReceivedParcel received via FTP
ftpSentParcel delivered via FTP
outboxDeliveryErrorOutbound delivery failed

See Appendix — ENUMs for the complete ParcelStatus value list.

Code Examples

// .NET 10 — dotnet-svcutil generated proxy
// Retrieve the first page of ready inbound parcels for today
using var client = new ECGridOSPortTypeClient();

var begin = DateTime.UtcNow.Date;
var end = begin.AddDays(1).AddSeconds(-1);

var parcels = await client.ParcelInBoxAsync(
sessionID,
networkID: 0,
mailboxID: 0,
eCGridIDFrom: 0,
eCGridIDTo: 0,
status: ParcelStatus.InBoxReady,
beginDate: begin,
endDate: end,
pageNo: 1,
recordsPerPage: 100);

foreach (var parcel in parcels)
{
Console.WriteLine($"ParcelID={parcel.ParcelID} File={parcel.FileName} Bytes={parcel.Bytes}");
}

REST Equivalent

See Parcel Inbox List.