Richiesta di molti numbers di tracciamento con Fedex SOAP API con PHP

Sto cercando di memorizzare nella cache tutte le informazioni di monitoraggio di Fedex nel mio database e la mia azienda ha circa 150+ numbers di tracciamento al giorno. Secondo questo link …

http://www.fedex.com/us/developer/product/WebServices/MyWebHelp_August2010/Content/Proprietary_Developer_Guide/tTracking_and_Visibility_Services_condtionalized.htm 

I servizi Fedex non supportno l'elaborazione in batch ..? Ciò significa che avrei bisogno di effettuare singole chiamate per each numero di tracciamento? Ho impiegato circa 80 secondi per un giorno di vendite in questo modo …

Non c'è un'opzione migliore al momento? O c'è un modo migliore o process per fare questo?

Sì, è necessario submit each traccia come richiesta separata. Eseguilo come un process lato server tramite un programma, a chi import quanto tempo ci vuole !?

Usa questo codice Spero ti possa aiutare

 TrackRequest request = CreateFedexMultipleTrackRequest(TrackingCode); TrackService service = new TrackService(); TrackReply reply = service.track(request); if (reply.HighestSeverity == NotificationSeverityType.SUCCESS || reply.HighestSeverity == NotificationSeverityType.NOTE || reply.HighestSeverity == NotificationSeverityType.WARNING) { reply.CompletedTrackDetails//now manage All tracking As Your Need } //go to How to create single request for multiple tracking numbers at a time private static TrackRequest CreateFedexMultipleTrackRequest(string TrackingNumber) { //string[] str = new string[] {TrackingNumber}; string[] staticIntArray = TrackingNumber.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); //int arrayscount = staticIntArray.Count(); TrackRequest request = new TrackRequest(); request.WebAuthenticationDetail = new WebAuthenticationDetail(); request.WebAuthenticationDetail.UserCredential = new WebAuthenticationCredential(); request.WebAuthenticationDetail.UserCredential.Key = Application.FedexKey; request.WebAuthenticationDetail.UserCredential.Password = Application.FedexPassword; request.WebAuthenticationDetail.ParentCredential = new WebAuthenticationCredential(); request.WebAuthenticationDetail.ParentCredential.Key = Application.FedexKey; request.WebAuthenticationDetail.ParentCredential.Password = Application.FedexPassword; request.ClientDetail = new ClientDetail(); request.ClientDetail.AccountNumber = Application.FedexAccountNumber; request.ClientDetail.MeterNumber = Application.FedexMeterNumber; request.TransactionDetail = new TransactionDetail(); request.TransactionDetail.CustomerTransactionId = "NA"; //This is a reference field for the customer. Any value can be used and will be provided in the response. request.Version = new VersionId(); // Tracking information request.SelectionDetails = new TrackSelectionDetail[staticIntArray.Length]; for (int j = 0; j <= staticIntArray.Length - 1; j++) { request.SelectionDetails[j] = new TrackSelectionDetail(); } for (int i = 0; i <= staticIntArray.Length - 1; i++) { request.SelectionDetails[i].PackageIdentifier = new TrackPackageIdentifier(); request.SelectionDetails[i].PackageIdentifier.Value = staticIntArray[i]; //tracking number or door tag request.SelectionDetails[i].PackageIdentifier.Type = TrackIdentifierType.DOCUMENT_AIRWAY_BILL; request.SelectionDetails[i].ShipmentAccountNumber = "XXX"; // Date range is optional. // If omitted, set to false request.SelectionDetails[i].ShipDateRangeBegin = DateTime.Parse("05/09/2016"); //MM/DD/YYYY request.SelectionDetails[i].ShipDateRangeEnd = request.SelectionDetails[0].ShipDateRangeBegin.AddDays(0); request.SelectionDetails[i].ShipDateRangeBeginSpecified = true; request.SelectionDetails[i].ShipDateRangeEndSpecified = true; } // Include detailed scans is optional. // If omitted, set to false request.ProcessingOptions = new TrackRequestProcessingOptionType[1]; request.ProcessingOptions[0] = TrackRequestProcessingOptionType.INCLUDE_DETAILED_SCANS; return request; } 

// puoi tenere traccia di 30 numbers alla volta in fedex