TEC Mailing Solutions LLC (WS)

Version 4.0

8/24/2018

PAFService Web Service

Description

Interface for the PAFService. 

Remarks

NCOALink Processing

TEC Mailing Solutions is a licensed provider of the USPS® NCOALink product.  NCOALink provides the user with address move information for records that match the USPS NCOALink directories.  There are a number of requirements that are not found with other services provided by TEC Mailing Solutions.

1.       Minimum order requirement:  There must be a minimum of 100 unique name and address combinations within any file submitted for the NCOA service.

2.       Prior to submitting data through the NCOA service, the end user MUST obtain a USPS Process Acknowledgement Form (PAF).  This PAF must be signed by the actual end list owner and the broker of the service.  TEC Mailing Solutions provides an electronic means to perform all of these requirements at www.ExpressPAF.com.  Once a PAF has been filled out and electronically signed by the end user and the broker, the PAF will be able to be referenced in the PAFService web service.

3.       Reference a PAFDocumentID from the PAFService.  This PAFDocumentID must be included in the AddressHygiene Datatype.

For more information on the USPS Process Acknowledgement Form and the user experience at ExpressPAF, visit http://www.tecmailing.com/PAF_USER_EXPERIENCE(20110601).pdf

HTTP POST example for ‘End User’ to access ExpressPAF (CTE):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<body onLoad="javascript: document.forms[0].submit();">

<form action="https://cte.expresspaf.com/SSO/Incoming.aspx" method="POST">

<input type="hidden" name="destinationpage" value="../summary.aspx">

<input type="hidden" name="useraction" value="transfer">

<input type="hidden" name="username" value="test1@xyzcompany.com">

<input type="hidden" name="password" value="test1!">

<input type="hidden" name="subclientname" value="XYZ Company CUSTOMER #1">

<input type="hidden" name="userdatabaseid" value="ffa9b27d-cxxc-4xxa-b481-2xx2756c825c">

<input type="hidden" name="channelid" value="03fccd9b-6d40-4xx8-bxxe-20exxbb778ea">

<input type="hidden" name="productid" value="bxxe6d12-xxbc-xx08-bcb1-axxc528a94f3">

</form>

</body>

</html>

Values in italics will be adjusted in your code for each end user of the service requiring a PAF creation.

HTTP POST example for ‘End User’ to access ExpressPAF (Production):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<body onLoad="javascript: document.forms[0].submit();">

<form action="https://www.expresspaf.com/SSO/Incoming.aspx" method="POST">

<input type="hidden" name="destinationpage" value="../summary.aspx">

<input type="hidden" name="useraction" value="transfer">

<input type="hidden" name="username" value="test1@xyzcompany.com">

<input type="hidden" name="password" value="test1!">

<input type="hidden" name="subclientname" value="XYZ Company CUSTOMER #1">

<input type="hidden" name="userdatabaseid" value="ffa9b27d-cxxc-4xxa-b481-2xx2756c825c">

<input type="hidden" name="channelid" value="03fccd9b-6d40-4xx8-bxxe-20exxbb778ea">

<input type="hidden" name="productid" value="bxxe6d12-xxbc-xx08-bcb1-axxc528a94f3">

</form>

</body>

</html>

  Values in italics will be adjusted in your code for each end user of the service requiring a PAF creation.

Windows C# (WebBrowser Object) example for 'End User' to access ExpressPAF (CTE)

public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

         private void Form1_Load(object sender, EventArgs e)

        {

            string URL = "https://cte.expresspaf.com/SSO/Incoming.aspx";

            string username = "test1@xyzcompany.com";

            string password = "test123!";

            string userdatabase = "ffa9b27d-cxxc-4xxa-b481-2xx2756c825c";

            webBrowser1.AllowNavigation = true;

            string postData = "";

            postData =postData + "<html>";

            postData = postData + "<body onLoad='javascript: document.forms[0].submit();'>";

            postData = postData + "<form action='"+URL+"' method='POST'>";

            postData = postData + "<input type='hidden' name='destinationpage' value='../summary.aspx'>";

            postData = postData + "<input type='hidden' name='useraction' value='transfer'>";

            postData = postData + "<input type='hidden' name='username' value='"+username+"'>";

            postData = postData + "<input type='hidden' name='password' value='" + password + "'>";

            postData = postData + "<input type='hidden' name='subclientname' value=''>";

            postData = postData + "<input type='hidden' name='userdatabaseid' value='" + userdatabase + "'>";

            postData = postData + "<input type='hidden' name='channelid' value='03fccd9b-6d40-4cf8-b10e-20e65bb778ea'>";

            postData = postData + "<input type='hidden' name='productid' value='b51e6d12-6fbc-4e08-bcb1-a0ac528a94f3'>";

            postData = postData + "</form>";

            postData = postData + "</body>";

            postData = postData + "</html>";

            webBrowser1.DocumentText = postData;

            webBrowser1.Navigating +=

                new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);

        }

        private void webBrowser1_Navigating(object sender,

    WebBrowserNavigatingEventArgs e)

        {

            System.Windows.Forms.HtmlDocument document =

                this.webBrowser1.Document;

        }

    }

See Also

Methods | Complex Types | Simple Types