DNC Download Web Services for TMs - Do Not Call



Federal Trade Commission

Do Not Call Registry Project

Telemarketer Web Services

February 18, 2021

Version 1.4

Contents

1 OVERVIEW OF DO NOT CALL WEB SERVICES 1

1.1 Introduction 1

1.1.1 Summary of the Services 1

1.1.2 Security Considerations 1

1.1.3 Target Audience 2

1.2 Web Service Client Software 2

1.2.1 SOAP-Based Web Services and the Web Service Description Language 2

1.2.2 Development Tools 2

1.3 Downloading and Programming to the Current WSDL 2

1.4 Calling the Web Service Methods – A Top-Level Overview 3

1.4.1 Using the Full List Download Web Service Methods 3

1.4.2 Using the Change List (“Delta”) Download Web Service Methods 3

1.5 Key Points Before You Test Your Client Software 4

1.6 Standards 4

1.7 Additional Help 4

2 Interfacing with the Full List Web Service 5

2.1 Background Information on Full Lists 5

2.1.1 Contents 5

2.1.2 Format 5

2.1.3 Area Code Files, State Files or All Files 5

2.1.4 Sample Comma-Delimited and XML Files 5

2.2 Web Service Client Objects 6

2.3 Interaction Sequence for the Full List Web Service 7

2.3.1 Step 1: Login 8

2.3.2 Step 2: Can Get Full File? 8

2.3.3 Step 3: Get File URLs 9

2.3.4 Step 4: Download Each File URL 9

2.4 A Full List Download Pseudocode Example 10

3 Interfacing with the Change List Web Service 12

3.1 Background on Change (“Delta”) Lists 12

3.1.1 Contents 12

3.1.2 Format 12

3.1.3 Sample Comma-Delimited and XML files 12

3.2 Web Service Client Objects for Change Lists 13

3.3 Interaction Sequence for the Change List Web Service 13

3.3.1 Step 1: Login 13

3.3.2 Step 2: Submit a Delta File Request 14

3.3.3 Step 3: Check the Delta File Request Status 15

3.3.4 Step 4: Get the Delta File URL 15

3.3.5 Step 5: Download the file 15

3.4 A Change List Download Pseudocode Example 16

4 APPENDIX: Sample WSDL 18

Overview of Do Not Call Web Services

1 Introduction

1 Summary of the Services

Do Not Call’s Telemarketing system provides web services that enable telemarketers, sellers and exempt organizations to automatically download two types of area code file lists:

The Full List Service: This type supports downloading the full lists. It provides the current URL file names of all the area codes you or your clients have subscribed to. These files contain the currently registered phone numbers in the Do Not Call Registry.

The Change List Service: This type supports downloading the change lists or ‘delta’ lists. The service generates your custom change list, notifies you when it is ready and provides the name of the file containing phone numbers added or deleted from the Do Not Call Registry since your last download.

You may use these web services instead of going to the Download Phone Numbers page of the Do Not Call Telemarketing web site and selecting Full List or Change List. Both of these services provide you with the file URL or URLs you need to download, and a method for downloading the actual files using the file URL or URLs provided by the service; your software must automate the file download, and scrub your lists. Note that these file URLs are randomly generated and change daily. The files you download via the web service are identical to the files you download with a browser from the interactive web site. These are the same compressed files on the same high-speed download servers that are available through the manual download process. There is no content difference between the web service download and the manual web site download.

These services eliminate the need for you to download these files manually from your web browser. However, to take advantage of these services, you must provide the web service client software and computer equipment connected to the Internet.

2 Security Considerations

To use Download Web Service you must first have a current subscription. The web service enforces this in the same manner as the download web page. Then, your software must authenticate by passing your ID and password to the service. Once the service validates your ID and password, it issues your software a temporary security token that you will use along with your ID to complete your transactions. The XML your software sends is always validated for correctness. Your information is transmitted across an encrypted HTTPS over TLS session. Please note that only TLS version 1.2 and 1.3 are supported.

1.1.3 Target Audience

This document is primarily for software developers and information technology managers. It provides both background information and technical detail on how to interface your web service client software to the Do Not Call web service. It assumes a knowledge of web services, Internet technology and software development. It describes the web service client software you must implement from several different viewpoints: as a sequence of steps your client software executes, as simplified pseudocode, as SOAP (Simple Object Access Protocol) messages, and as a formal WSDL (Web Services Description Language) specification.

2 Web Service Client Software

1 SOAP-Based Web Services and the Web Service Description Language

The Do Not Call download services are implemented as Web Services based on SOAP (Simple Object Access Protocol) running over HTTP (Hypertext Transmission Protocol). Please note that only HTTPS over TLS version 1.2 and 1.3 are supported. To use the services, you must implement “client” software that interacts with the web service. Sections 2 and 3 of this document provide a high-level description of the interaction between your client software and the web service. They are intended to provide software developers with an understanding of the sequence of interactions between your client software and the Do Not Call software.

In contrast to the less formal descriptions in Sections 2 and 3, the Web Service Description Language (WSDL) for these services provide a formal, comprehensive, machine-readable specification for building the client software interface. A sample of the WSDL is included for your reference in an appendix to this document; however, you should always download the current version of the WSDL from the Do Not Call Telemarketing web site.

2 Development Tools

You may develop your client software in any language and development environment that provides support for web services, including Java and Microsoft technologies.

Note that many development environments will use the WSDL to automatically generate the proxy classes and methods that are the building blocks of your client software, thus significantly simplifying your implementation effort.

3 Downloading and Programming to the Current WSDL

The Web Service Description Language (WSDL) provides a formal, detailed machine-readable specification for building your client software. If you generate your proxy classes from the WSDL, your interaction with the service will be at a high level of abstraction, very much as described in Sections 2 and 3.

A sample WSDL for this service is shown in the appendix in this document; however, before you develop your client software you should always download the most recent WSDL from the following URL:



Warning: Always use the above URL to obtain the WSDL. The sample WSDL may change and is included here for informal reference only.

Note: If you use a later version of Internet Explorer to download the WSDL, it will display an XML style sheet formatted version of the WSDL designed for viewing, not for exporting. You may select File/Save As from the browser menu to save the WSDL, or select View/Source to see the actual WSDL in XML text format in Notepad.

4 Calling the Web Service Methods – A Top-Level Overview

1 Using the Full List Download Web Service Methods

Your client software calls the following four methods to download full list files:

1. The client software calls the Login method to authenticate.

2. The CanGetFullFile method is called to determine if the area code files are currently available.

3. The GetURLs method is called to get an XML list of the download file URLs. This may return multiple URLs, depending on your subscription.

4. The GetDNCFileByUrl method is called to download the full list file. If GetURLs method returns multiple URLs this method has to be called multiple times to download each file separately.

2 Using the Change List (“Delta”) Download Web Service Methods

Your client software calls the following five methods to download the change list file name:

1. The client software calls the Login method to authenticate.

2. The SubmitDeltaFileRequest method is called to generate your area code subscription-specific file of additions and deletions since your last download. (Note that this file may take several minutes to custom-generate on the Do Not Call servers.)

3. The GetDeltaFileRequestStatus is repeatedly called every few minutes to determine if the list is ready. (Note that this step replaces the e-mail notification in the manual web site change list download.)

4. When the request status changes to RequestCompleted, the GetDeltaFileURL is called to get the URL of your custom change file.

5. The GetDNCFileByUrl method is called to download the custom change file.

5 Key Points Before You Test Your Client Software

Before you can test or use this web service, you must complete the following new user steps at the web site, :

1. Enter your company profile.

2. Complete your certification.

3. Receive your account number and passwords.

4. Either subscribe to one or more area code lists or identify your clients who have subscriptions, or both. (You identify clients with valid subscription by entering their Subscription Account Number or SAN on the web site.)

You should then confirm that you have access to one or more area codes:

1. Log on and go to the Download Phone Numbers page.

2. Select Download Full List and click on the Begin button.

You will see a list of area codes that both you and your clients (if applicable) collectively have access to. However, do not click on them to initiate a manual download at this time if you are ready to test your client software.

When you test your service, you may be blocked by Do Not Call’s once-a-day download limit.

Please contact the Help Desk and ask them to reset your download flag during web service testing.

6 Standards

This web service uses the following standards and W3C recommendations:

• SOAP 1.1. See

• WSDL. See

• XML version 1.0. See

• HTTP 1.1. See

For more information on web services, you may also want to review software vendor sites that provide Java or Microsoft web service technologies.

7 Additional Help

If you have questions on this document during implementation, please contact the Do Not Call Help Desk and request “Tier 3 Help for Web Services”.

Interfacing with the Full List Web Service

1 Background Information on Full Lists

1 Contents

The Do Not Call full area code lists contain all the phone numbers of consumers who are currently registered. The lists are re-generated nightly after midnight and before 8 a.m. Eastern time. The web service provides a method that checks their availability so that you may download them in off-hours. The file name of each file starts with the area code or state abbreviation, and a date to help you identify it, but the remainder of the file name is randomly generated and changes daily.

For example, area code ‘510’ may have the following file name on October 5, 2007:



2 Format

The files are available in either a comma-delimited or an XML tagged format. The comma-delimited files are smaller than the corresponding XML files. Both are compressed to reduce the download size and time, and cached on a high-speed download server. Both the web service and the web site pages deliver the same files from the same servers.

3 Area Code Files, State Files or All Files

Do Not Call prepares one file for each area code, plus one file for each state that aggregates together all the area codes in that state, plus one total file for all area codes in the United States and its territories. To minimize the number of files you need to download, both the interactive web site and the web service will provide you with a ‘best fit’ package. In other words, if you or your clients collectively subscribe to all the area codes in one state, your download page will list that state, not the individual area codes in that state. The state file packages up all the area codes in that state. If you or your clients subscribe to all area codes, your download page will only show the national list, not all the individual area code files or the state lists.

4 Sample Comma-Delimited and XML Files

The comma-delimited file has the following format:

123,1235000

123,1235001

123,1235002

123,1235003

123,1235004

124,1235001

124,1235002

A comma separates the area code from the 7-digit phone number. A linefeed (‘LF’ or ASCII character 10) separates each complete phone number.

In a state-level or national-level XML delimited list, the file is organized hierarchically into multiple area code nodes, each node containing its seven digit phone numbers. Here is a sample XML file for the state of ‘XX’, containing two area codes (123 and 124):

A single area code-level file has the same structure, but there is of course only one area code node. Here is a sample XML file for area code ‘124’:

2 Web Service Client Objects

There are seven software entities that you will need to implement in your web service client. If your development environment automatically generates these from the WSDL, they will have the following names and purposes: DownloadSvc, Response, FileDownloadResponse, ResponseCodeEnum, UserType, CertificationEnum and FileFormat.

DownloadSvc Class – This is the central object you will use. It implements the majority of the behavior needed to login to the service, to check the availability of a download, to obtain the download URL and to download the file. For example, it has a Login and a GetURLS method. This class supports both full and change list (“delta”) downloads.

Response Class – Most methods of the DownloadSvc return this Response object. The fields in Response are as follows: (1) The Response.code field always describes the success or failure of a method call. (2) The Response.value field sometimes contains additional information.

FileDownloadResponse Class – The GetDNCFileByUrl method of the DownloadSvc return this FileDownloadResponse object. The fields in FileDownloadResponse are as follows: (1) The FileDownloadResponse.code field always describes the success or failure of a method call. (2) The FileDownloadResponse.value field contains the contents of the file being downloaded.

The remaining four items are simple enumerations that define the allowable values in the fields passed from or to the service.

ResponseCodeEnum – Describes the possible values of the Response.code and FileDownloadResponse.code fields. For example, it may return a code of LoginOK or DownloadOK for successful calls, or an error-specific code for failures. You can see the specific code values listed in the sample SOAP responses in the SOAP Appendix.

UserType – Only used with the Login method. It identifies which password is being used to login: your Representative password or your Downloader password.

CertificationEnum – An enumeration that you use to certify your agreement with the FTC’s conditions for downloading these phone number files as specified on the download full or download change page.

FileFormat – An enumeration that lets you select a flat text file or an XML file format.

The above classes are a high-level abstraction of the web service client. If you develop your client at a lower level, you will be working directly with the XML SOAP format. The SOAP Appendix of this document provides samples of the SOAP messages.

3 Interaction Sequence for the Full List Web Service

This section provides more detailed information on how the web service methods are used. If you implement your client by generating a proxy class from the WSDL, this section closely describes the interaction between methods in your proxy class and the web service. If you are working at a lower level or if you want information on specific values that are passed, please consult the WSDL and the sample SOAP messages in the appendices.

1 Step 1: Login

This section describes what your client software sends to the web service and what it receives back in response.

( Send: Your web service client software calls Login to authenticate itself, sending its (1) Organization ID, (2) password, (3) user type and (4) Certification statement to the Do Not Call web service. You may use either password with the web service, but you must identify which one you use in the user type parameter: UserType.Representative or UserType.Downloader.

Example: response = service.Login( “12345-67890”,

MyPassword,

UserType.Downloader,

CertificationEnum.Agree )

( Receive: If the authentication is successful, Do Not Call Download web service returns a response structure containing (1) a temporary session token in the response value field and (2) a login result indicating that the login was OK (LoginOK). The session token uniquely identifies your client software in the remaining steps, but is enabled only for a limited period of time. Save your session token for use in the following steps. If later steps return an InvalidSessionToken response, your session has timed out and you must log in again to continue. You can see examples of the XML SOAP messages passed back and forth by the Login method in SOAP Appendix.

Example: MySessionToken = response.value

Errors: If the login fails, the service returns a login result indicating the type of failure (LoginFailed, LoginDisabled or CertificationNotAgreed, for example). Your client software cannot continue unless the Login is successful.

2 Step 2: Can Get Full File?

All XML files and comma-delimited files are re-generated nightly and may not available until several hours after midnight. Step 2 is for your web service client to make sure the file you want is currently available for the day:

( Send: Your software checks with the web service to see if the file is currently available, passing in your session token and Organization ID.

Example: response = service.CanGetFullFile( MySessionToken, "12345-67890")

( Receive: The web service replies with a DownloadOK indicating that you may continue or a RequestPending message, indicating that the files are not currently available and you should try again later.

3 Step 3: Get File URLs

( Send: If the download is ready, your software then requests the file URLs of all the Area Codes that it currently has access to. The request identifies the file format (flat file or XML).

Example: ArrayOfUrls = service.GetURLS( FileFormat.Flat,

MySessionToken,

"12345-67890")

( Receive: The Do Not Call web service returns a set of file URLs as an array of strings, rather than the response code and value passed in most other methods. (Thus, a system failure is indicated by a zero length string in the first element of the array, rather than by a response code.) If you have a subscription to three area codes, your array of file URL strings may look like this:







Please note that the file URLs returned are not directly accessible and need to be passed on to the GetDNCFileByUrl method for downloading the file as described in Step 4 below.

4 Step 4: Download Each File URL

( Send: Your software downloads each file in the array of strings by calling the GetDNCFileByUrl method.

Example: fileDownloadResponse = service.GetDNCFileByUrl( URL,

MySessionToken,

"12345-67890")

( Receive: The web service returns a fileDownloadResponse structure containing (1) the result of the download request in the status field, (2) the contents of the file being downloaded in the value field. Successful requests will return DownloadOK for the status field. If the request is successful your client will need to save the contents of the value field which is provided as a byte array to your hard drive as a file.

Warning: Do Not Call audits this step as a download! If the files are not actually downloaded in this step, then any subsequent change lists you request manually from the web page or via a web service will start on the wrong dates and you may have missing phone numbers in this gap. As with a failed manual download, before you do a change list download, you must contact the Help Desk to adjust the download dates if the file downloads are not completed successfully. Alternatively, if you re-try and do successfully complete your full download before doing a change download, you will have complete coverage.

4 A Full List Download Pseudocode Example

This sample pseudocode summarizes the interaction described above. If you automatically generate the web service client software from the WSDL, the resulting class names, method names and enumerations will be similar to those used below and described in Section 2.2 Web Service Client Objects. Please note that this pseudocode is merely intended to illustrate the overall web service -to- web client interactions, not to guide the physical structure of your web client software. Error handling and other critical design issues are deliberately not addressed in this sample.

//

// Download the full lists.

// Here are your objects:

//

DownloadSvc service = new DownloadSvc()

Response response

//

// Step 1: Login and store the session token

//

response = service.Login( "12345-67890",

"My-Download-Pwd",

UserType.Downloader,

CertificationEnum.Agree )

MySessionToken = response.value

//

// Step 2: Make sure the full files are currently available

//

response = service.CanGetFullFile(MySessionToken, "12345-67890")

If response.code = ResponseCodeEnum.DownloadOK

//

// Step 3: Get an array of URLs – one string for each URL you can download

//

ArrayOfUrls = service.GetURLS(FileFormat.Flat, MySessionToken,

"12345-67890")

//

// Step 4: Download each file

//

FileDownloadResponse fileDownloadResponse

ByteArray fileContent

Loop over each URL in the array

URL = ArrayOfUrls[i]

fileDownloadResponse = service.GetDNCFileByUrl( URL,

MySessionToken,

"12345-67890")

If fileDownloadResponse.status = ResponseCodeEnum.DownloadOK

fileContent = fileDownloadResponse.value

Write fileContent to your hard drive

End If

End Loop

End If

Interfacing with the Change List Web Service

1 Background on Change (“Delta”) Lists

1 Contents

The Do Not Call change list contains all additions and deletions of phone numbers that have occurred in the registry since your last full or change list download. Because it only includes changes to the registry, not a complete list of all registered phone numbers, it provides you with a smaller file to download. The list is custom-generated on demand, based on your area code subscriptions and your last download date. As with the full lists, the file name is randomly generated.

You should think of the change list (also called a “delta” file) as a set of registration and un-registration transactions. These transactions identify when a phone number is added to or deleted from the National Registry. Usually, there will be only one transaction per phone number in the delta file, but occasionally there will be multiple add or add/delete sequences for the same number, especially if your last download was a while ago.

When the last transaction for a specific phone number is a ‘delete’, the number has been removed from the Registry and you may call it. When the last transaction is an ‘add’, the number has been added to the Registry and you may not call it.

These transactions are in date/time sequence, but, to be prudent, you should verify that they are applied in the correct order. Some delete transactions may have a time stamp of 00:00:00 (midnight), and you should handle them as if they occurred at that time, just like any other transaction.

2 Format

The download files are available in either comma-delimited text or an XML tagged format. Both are compressed to reduce the download file size. The comma-delimited files are smaller than the corresponding XML files. Note that the web service delivers the same change list file as the interactive web site; there is no difference.

3 Sample Comma-Delimited and XML files

The comma-delimited change list file contains a phone number, a date-time stamp, and an ‘A’ transaction code (for added to the registry) or a ‘D’ (for deleted from the registry):

2015551000,2019-10-31T14:54:49,A

2015551001,2019-10-31T14:54:49,A

2015551002,2019-10-31T14:54:49,A

2015551002,2019-10-31T14:54:49,D

A comma separates the 10-digit phone number, the delta file request date and the add/delete transaction code. A “T” in the date/time stamp marks the beginning of the time portion. A linefeed (‘LF’ or ASCII character 10) separates each transaction.

The XML-tagged file contains the same information as the flat text file, but is organized hierarchically by area code, similar to the full list’s structure:

2 Web Service Client Objects for Change Lists

If you automatically generate your web service client objects from the WSDL, your code will use the same objects described earlier in Section 2.2 Web Service Client Objects. The DownloadSvc class, for example, supports not just the full list, but the change list as well. You will, however, call different methods in it, such as SubmitDeltaFileRequest, GetDeltaFileRequestStatus and GetDeltaFileUrl.

3 Interaction Sequence for the Change List Web Service

This section provides high-level information on how the web service methods are used. If you implement your client by generating a proxy class from the WSDL, this section and the following pseudocode will closely resemble the interaction between methods in your proxy class and the web service. If you are working at a lower level or if you want information on specific values that are passed, please consult the WSDL and the sample SOAP messages in the appendices.

The web service for the change download lists will work as follows:

1 Step 1: Login

The change list (“delta”) login and the full download are identical. The same code will work for both:

( Send: The web service client software calls Login to authenticate itself, sending its (1) Organization ID, (2) password and (3) user type to the Do Not Call web service. Be sure to identify which password you use in the user type parameter.

Example: response = service.Login( “12345-67890”,

MyPassword,

UserType.Downloader,

CertificationEnum.Agree )

( Receive: If the authentication is successful, the Do Not Call Download web service returns a response structure containing (1) a temporary session token in the response value field and (2) a login result indicating that the login was OK. The session token identifies you for the remaining steps, but is active only for a limited period of time. Save it for use in these steps. If later steps return an InvalidSessionToken response, you must log in again. You can see examples of the XML SOAP messages passed back and forth by the Login method in Appendix A.

Example: MySessionToken = response.value

Errors: If the login fails, the service returns a login result indicating the type of failure. Your client software cannot continue to the next step unless Login is successful.

2 Step 2: Submit a Delta File Request

Step 2 initiates the generation of your custom change file of phone numbers that have been added or deleted in your area codes since your last download date.

( Send: Your software submits a change file request. The request identifies the format (flat file or XML), your session token and your Organization ID.

Example: response = service.SubmitDeltaFileRequest( FileFormat.Flat,

MySessionToken,

"12345-67890")

( Receive: If the request is successful (SubmitOK), the web service responds with a string containing a file token that identifies your custom change file. Save this file token for use during subsequent web service calls in this session. A response code of SubmitFailed indicates a general system failure. If you have not done at least one full download (indicated by a NoFullDownloadPerformed code), you may not download change lists. Note that at any point in the following steps you may receive one of the following codes: InvalidCompanyID, InvalidSessionToken, SessionExpired.

Example: If response.code = ResponseCodeEnum.SubmitOK MyFileToken = response.value



Note: Your request to build a custom file is processed asynchronously in the same manner as the change requests you may submit manually from the download web page. A background batch process running on Do Not Call will create a compressed file containing all of your Area Code changes since your last recorded download. Unlike the manual process, you will not receive an e-mail notification when the file is ready. Step 3 replaces the manual e-mail notification.

3 Step 3: Check the Delta File Request Status

( Send: Your software periodically checks the change file request status using your session and file token. (Run this check perhaps once every several minutes.) The processing time varies with your number of subscriptions, the time since your last download and system activity.

Example: response = service.GetDeltaFileRequestStatus( MySessionToken, MyFileToken,

"12345-67890" )

( Receive: If the web service replies with a RequestPending code, your code should sleep for about a minute or two while your request processing continues before trying again. If the service returns a RequestCompleted, continue to step 4. If the service returns NoChanges, there are no new phone numbers to download.

4 Step 4: Get the Delta File URL

( Send: When the request is completed, your client software requests the delta file URL.

Example: If response.code = ResponseCodeEnum.RequestCompleted

response = service.GetDeltaFileUrl( MySessionToken,

MyFileToken,

"12345-67890")

( Receive: The web service returns a string containing the URL in the response value field.

Example: MyFileUrl = response.value

Please note that the delta file URL returned is not directly accessible and need to be passed on to the GetDNCFileByUrl method for downloading the file as described in Step 5 below.

5 Step 5: Download the file

( Send: Your software downloads the delta file by calling the GetDNCFileByUrl method. This file will remain available for a day or two. Thus, if your file download fails to complete, you may re-try using the same URL.

Example: fileDownloadResponse = service.GetDNCFileByUrl( MyFileUrl,

MySessionToken,

"12345-67890")

( Receive: The web service returns a fileDownloadResponse structure containing (1) the result of the download request in the status field, (2) the contents of the file being downloaded in the value field. Successful requests will return DownloadOK for the status field. If the request is successful your client will need to save the contents of the value field which is provided as a byte array to your hard drive as a file.

Warning: Do Not Call audits this step as a download! If the files are not actually downloaded in this step, then any subsequent change lists will start on the wrong dates and you may have missing phone numbers in the gap. As with a failed manual download, before you do another change list download you must contact the Help Desk to adjust the download dates if the file downloads are not completed successfully. Alternatively, if you re-try and successfully complete your full download before doing a change download, you will have complete coverage.

4 A Change List Download Pseudocode Example

This pseudocode summarizes the interaction described above. Please note that it is merely intended to illustrate the overall flow of web service -to- web client interactions, not the logical structure of your web client software, error handling or other design issues.

//

// Download the delta file.

// Here are your objects:

//

DownloadSvc service = new DownloadSvc()

Response response

//

// Step 1: Login and store the session token

//

response = service.Login( "12345-67890",

"My-Download-Pwd",

UserType.Downloader,

CertificationEnum.Agree )

MySessionToken = response.value

//

// Step 2: Submit your delta flat file request

//

response = service.SubmitDeltaFileRequest( FileFormat.Flat,

MySessionToken,

"12345-67890")

MyFileToken = response.value

If response.code not equal to ResponseCodeEnum.SubmitOK

Then Done = true // problem - don't continue

// Try every several minutes or so...

Loop while not Done

//

// Step 3: Check the delta file request status

//

response = service.GetDeltaFileRequestStatus( MySessionToken,

MyFileToken,

"12345-67890" )

If response.code = ResponseCodeEnum.RequestCompleted, do the following:

Done = true

//

// Step 4: Get the URL

//

response = service.GetDeltaFileUrl( MySessionToken,

MyFileToken,

"12345-67890" )

MyFileUrl = response.value

//

// Step 5: Download this file

//

FileDownloadResponse fileDownloadResponse

ByteArray fileContent

fileDownloadResponse = service.GetDNCFileByUrl( URL,

MySessionToken,

"12345-67890")

If fileDownloadResponse.status = ResponseCodeEnum.DownloadOK

fileContent = fileDownloadResponse.value

Write fileContent to your hard drive

End If

//

// Step 3, continued: Check the delta file request status

//

Else If the response.code = RequestPending, do the following:

Sleep for about a couple minutes or two

After n tries, give up: Done = true // No response, so stop

Else If the response.code = NoChanges // No new numbers, so stop

Done = true

Else // Some other error occurred, so stop

Done = True

End If

End Loop

APPENDIX: Sample WSDL

The following sample WSDL is included here for your informal reference only. You may download the current WSDL at the following URL:



Warning: Always use the above URL to obtain the WSDL.

Note: If you use a later version of Internet Explorer to get the WSDL, it will show you a style sheet formatted version of the WSDL designed for viewing. Select View/Source from the browser menu to see the actual WSDL in text format in Notepad. You may then File/Save the text from the Notepad menu.

Note: Make sure the WSDL contains the correct, current . This is a common error.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download