<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>PC2Paper News - Developers</title>
    <link>https://www.pc2paper.org/</link>
    <description>Send real letters from the Internet to anywhere in the world. </description>
    <language>en-us</language>
    <copyright>PC2Paper Ltd</copyright>
    <lastBuildDate>Wed, 17 Apr 2024 07:30:11 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>blogs@pc2paper.co.uk</managingEditor>
    <webMaster>blogs@pc2paper.co.uk</webMaster>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=4c4be703-5b26-43cf-865a-078655827b2a</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,4c4be703-5b26-43cf-865a-078655827b2a.aspx</pingback:target>
      <dc:creator>Rob Forber</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="https://www.microsoft.com/en-gb/power-platform/products/power-automate" target="_blank">Microsoft
Power Automate</a> is a process automation platform which makes automating repetitive
tasks with little or no code..
</p>
        <p>
If you have a Microsoft 365 subscription you probably already have access to Power
Automate. Check your subscription or talk to your Microsoft partner for more details.
</p>
        <p>
You may be able to automate processes such as picking up when addresses are added
to a an Excel spreadsheet and then sending a PDF letter to that address that sits
in SharePoint or in OneDrive.
</p>
        <p>
You can send your letters to PC2Paper using Power Automate and our <a href="https://www.pc2paper.co.uk/api-and-developers/json-letter-api.aspx" target="_blank">RESTFul
JSON API</a> by following these steps below. 
</p>
        <p>
In the example below we’ve setup a new Flow in Power Automate with a Manual Trigger.
We are getting a PDF file to use, using the OneDrive for Business Action. You can
use any action you’d like to provide a file for upload.
</p>
        <p>
          <a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PA1_2.png">
            <img title="PA1" style="display: inline; background-image: none;" border="0" alt="PA1" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PA1_thumb.png" width="254" height="420" />
          </a>
        </p>
        <p align="left">
Add the Manual Trigger flow (you can use a different one here depending on the process
you are after) and the OneDrive for Business Get File Content Action below it. If
there is another Action you’d prefer to use you can use that instead. 
</p>
        <p>
          <strong>Uploading a PDF</strong>
        </p>
        <p align="left">
We have used the HTTP Action to upload our PDF file add this below the One Drive for
Business Get File Content Action. You can search for it as HTTP in the action search
box, you will want the plain HTTP adaptor.
</p>
        <p>
          <a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPAdaptor_2.png">
            <img title="PAHTTPAdaptor" style="display: inline; background-image: none;" border="0" alt="PAHTTPAdaptor" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPAdaptor_thumb.png" width="422" height="319" />
          </a>
        </p>
        <p>
Once added you can rename this adaptor to “Upload File” 
</p>
        <p>
          <a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPUploadFile_2.png">
            <img title="PAHTTPUploadFile" style="display: inline; background-image: none;" border="0" alt="PAHTTPUploadFile" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPUploadFile_thumb.png" width="316" height="444" />
          </a>
        </p>
        <p>
Enter the following details
</p>
        <ul>
          <li>
            <div align="left">For the <strong>URI</strong>: <a href="https://test.pc2paper.co.uk/uploadfileapi.aspx">https://test.pc2paper.co.uk/uploadfileapi.aspx</a> if
you are connecting to production enter <a href="https://www.pc2paper.co.uk/uploadfileapi.aspx">https://www.pc2paper.co.uk/uploadfileapi.aspx</a></div>
          </li>
          <li>
            <div align="left">
              <strong>Method: </strong>Set this to POST
</div>
          </li>
          <li>
            <div align="left">
              <strong>Headers: </strong>Add the following headers and place your
PC2Paper username and password (or API keys) into them
</div>
          </li>
          <ul>
            <li>
              <div align="left">username 
</div>
            </li>
            <li>
              <div align="left">password
</div>
            </li>
          </ul>
          <li>
            <div align="left">
              <strong>Queries: </strong>Over here you will want to enter “fileName”
and in the value field give your file a name. You can enter anything in here and you
can populate this from a previous action if you have one.
</div>
          </li>
          <li>
            <div align="left">
              <strong>Body: </strong>For the body you will want to enter the following
JSON 
<br /></div>
            <p>
{ 
<br />
"$content-type": "multipart/form-data", 
<br />
"$multipart": [ 
<br />
{ 
<br />
"headers": { 
<br />
"Content-Disposition": "form-data: name=\"file[data]\";filename=\"testfile.pdf\"" 
<br />
}, 
<br />
"body": @{body('Get_file_content')} 
<br />
} 
<br />
] 
<br />
} 
<br /><br />
Where you see this tag <em>@{body('Get_file_content')}</em> you will want to drag
in the content from the OneDrive Action that ran before this action. You select this
from the little lightening bolt that appears next to the Body text box when you click
in it. 
<br /><br /><a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/OneDriveAction_2.png"><img title="OneDriveAction" style="display: inline; background-image: none;" border="0" alt="OneDriveAction" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/OneDriveAction_thumb.png" width="539" height="251" /></a></p>
          </li>
        </ul>
        <p>
          <strong>Parse the results from the PDF Upload</strong>
        </p>
        <p>
After you have completed the previous step you will want to add a “Parse JSON” action.
We will use this to parse the JSON returned by the upload file action. 
</p>
        <p>
          <a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/ParseJSON_2.png">
            <img title="ParseJSON" style="display: inline; background-image: none;" border="0" alt="ParseJSON" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/ParseJSON_thumb.png" width="592" height="293" />
          </a>
        </p>
        <p>
          <strong>Schema: </strong>Enter the following text into the schema box. 
</p>
        <p>
{ 
<br />
"type": "object", 
<br />
"properties": { 
<br />
"fileGuid": { 
<br />
"type": "string" 
<br />
}, 
<br />
"pages": { 
<br />
"type": "integer" 
<br />
} 
<br />
} 
<br />
}
</p>
        <p>
          <strong>Content: </strong>Select the content box and then select the lightening bolt
that appears next to it and select (as per the image above) the Body field from the
Upload File step you did previously.
</p>
        <p>
          <strong>Submit Letter</strong>
        </p>
        <p>
Now for the final Action
</p>
        <p>
          <a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/SubmitLet_2.png">
            <img title="SubmitLet" style="display: inline; background-image: none;" border="0" alt="SubmitLet" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/SubmitLet_thumb.png" width="403" height="605" />
          </a>
        </p>
        <p>
Add another HTTP Action after the “Parse JSON” Action.
</p>
        <p>
Enter the following details
</p>
        <ul>
          <li>
            <div align="left">
              <strong>URI</strong>: <a title="https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting" href="https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting">https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting</a> for
production you can use <a title="https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting" href="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting">https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting</a></div>
          </li>
          <li>
            <div align="left">
              <strong>Method: </strong>Select POST
</div>
          </li>
          <li>
            <div align="left">
              <strong>Body: </strong>This is the same JSON example used in our
JSON API example <a href="https://www.pc2paper.org/PermaLink,guid,0e1b08fd-56af-409d-bd30-6b66bb6a0c00.aspx" target="_blank">found
here</a>. Insert the below JSON into the body text 
<br /><br /></div>
            <blockquote>
              <p>
{ 
<br />
"letterForPosting": { 
<br />
"SourceClient": "Power Automate", 
<br />
"Addresses": [ 
<br />
{ 
<br />
"ReceiverName": "John Smith", 
<br />
"ReceiverAddressLine1": "1 Acme Road", 
<br />
"ReceiverAddressLine2": "My Street", 
<br />
"ReceiverAddressTownCityOrLine3": "Town", 
<br />
"ReceiverAddressCountyStateOrLine4": "County", 
<br />
"ReceiverAddressPostCode": "Postcode" 
<br />
} 
<br />
], 
<br />
"ReceiverCountryCode": 1, 
<br />
"Postage": 31, 
<br />
"Paper": 1, 
<br />
"Envelope": 1, 
<br />
"Extras": 0, 
<br />
"LetterBody": "Dear John, Please find my letter attached", 
<br />
"IncludeSenderAddressOnEnvelope": true, 
<br />
"SenderAddress": "22 Acme Acres\n Acme Town", 
<br />
"YourRef": "MyRef001", 
<br />
"FileAttachementGUIDs": [ 
<br />
"@{body('Parse_JSON')?['fileGuid']}" 
<br />
] 
<br />
}, 
<br />
"username": "username here", 
<br />
"password": "password here" 
<br />
} 
<br /><strong><br />
Important: </strong>Ensure you changing the following in the JSON. You can read more
about these fields <a href="https://www.pc2paper.co.uk/api-and-developers/json-letter-api.aspx" target="_blank">here</a><br /><br /><strong>username and password</strong>: Make sure you update these with your own this
can also be your API key and API secret 
<br /><strong>FileAttachementGUIDs: </strong>For this you want to replace <em>@{body('Parse_JSON')?['fileGuid']}</em> with
“Body fileGuid” from your Parse JSON action 
<br /><br /><a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/BodyFileGuid_2.png"><img title="BodyFileGuid" style="display: inline; background-image: none;" border="0" alt="BodyFileGuid" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/BodyFileGuid_thumb.png" width="463" height="297" /></a><br /><br />
Note you can find out more about postage options and country codes in the documentation <a href="https://www.pc2paper.co.uk/api-and-developers/json-letter-api.aspx" target="_blank">found
here</a>. The postage codes can be found using our <a href="https://www.pc2paper.co.uk/send-letters/postage-prices.aspx" target="_blank">postal
calculator</a> for a quick lookup
</p>
            </blockquote>
          </li>
        </ul>
        <blockquote>
          <p>
            <strong>Conclusion</strong>
          </p>
          <p>
That’s it. Please remember to always test your integration signing up for a free test
account on <a href="https://test.pc2paper.co.uk">https://test.pc2paper.co.uk</a> you
can top up your free test account with the following card number 5555558265554449
(this is not a real card number as it is a test environment), use made up details
for the rest of the top-up process. You can then see if the letters you send come
through to your test account. Remember to change the test endpoints to our live server
when you are done by changing https://test to https://www .
</p>
        </blockquote>
      </body>
      <title>Using Microsoft Power Automate to send letters with PC2Paper</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,4c4be703-5b26-43cf-865a-078655827b2a.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,4c4be703-5b26-43cf-865a-078655827b2a.aspx</link>
      <pubDate>Wed, 17 Apr 2024 07:30:11 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="https://www.microsoft.com/en-gb/power-platform/products/power-automate" target="_blank"&gt;Microsoft
Power Automate&lt;/a&gt; is a process automation platform which makes automating repetitive
tasks with little or no code..
&lt;/p&gt;
&lt;p&gt;
If you have a Microsoft 365 subscription you probably already have access to Power
Automate. Check your subscription or talk to your Microsoft partner for more details.
&lt;/p&gt;
&lt;p&gt;
You may be able to automate processes such as picking up when addresses are added
to a an Excel spreadsheet and then sending a PDF letter to that address that sits
in SharePoint or in OneDrive.
&lt;/p&gt;
&lt;p&gt;
You can send your letters to PC2Paper using Power Automate and our &lt;a href="https://www.pc2paper.co.uk/api-and-developers/json-letter-api.aspx" target="_blank"&gt;RESTFul
JSON API&lt;/a&gt; by following these steps below. 
&lt;/p&gt;
&lt;p&gt;
In the example below we’ve setup a new Flow in Power Automate with a Manual Trigger.
We are getting a PDF file to use, using the OneDrive for Business Action. You can
use any action you’d like to provide a file for upload.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PA1_2.png"&gt;&lt;img title="PA1" style="display: inline; background-image: none;" border="0" alt="PA1" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PA1_thumb.png" width="254" height="420" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align="left"&gt;
Add the Manual Trigger flow (you can use a different one here depending on the process
you are after) and the OneDrive for Business Get File Content Action below it. If
there is another Action you’d prefer to use you can use that instead. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Uploading a PDF&lt;/strong&gt;
&lt;/p&gt;
&lt;p align="left"&gt;
We have used the HTTP Action to upload our PDF file add this below the One Drive for
Business Get File Content Action. You can search for it as HTTP in the action search
box, you will want the plain HTTP adaptor.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPAdaptor_2.png"&gt;&lt;img title="PAHTTPAdaptor" style="display: inline; background-image: none;" border="0" alt="PAHTTPAdaptor" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPAdaptor_thumb.png" width="422" height="319" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Once added you can rename this adaptor to “Upload File” 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPUploadFile_2.png"&gt;&lt;img title="PAHTTPUploadFile" style="display: inline; background-image: none;" border="0" alt="PAHTTPUploadFile" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/PAHTTPUploadFile_thumb.png" width="316" height="444" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Enter the following details
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="left"&gt;For the &lt;strong&gt;URI&lt;/strong&gt;: &lt;a href="https://test.pc2paper.co.uk/uploadfileapi.aspx"&gt;https://test.pc2paper.co.uk/uploadfileapi.aspx&lt;/a&gt; if
you are connecting to production enter &lt;a href="https://www.pc2paper.co.uk/uploadfileapi.aspx"&gt;https://www.pc2paper.co.uk/uploadfileapi.aspx&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;&lt;strong&gt;Method: &lt;/strong&gt;Set this to POST
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;&lt;strong&gt;Headers: &lt;/strong&gt;Add the following headers and place your
PC2Paper username and password (or API keys) into them
&lt;/div&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="left"&gt;username 
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;password
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;div align="left"&gt;&lt;strong&gt;Queries: &lt;/strong&gt;Over here you will want to enter “fileName”
and in the value field give your file a name. You can enter anything in here and you
can populate this from a previous action if you have one.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;&lt;strong&gt;Body: &lt;/strong&gt;For the body you will want to enter the following
JSON 
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
{ 
&lt;br /&gt;
"$content-type": "multipart/form-data", 
&lt;br /&gt;
"$multipart": [ 
&lt;br /&gt;
{ 
&lt;br /&gt;
"headers": { 
&lt;br /&gt;
"Content-Disposition": "form-data: name=\"file[data]\";filename=\"testfile.pdf\"" 
&lt;br /&gt;
}, 
&lt;br /&gt;
"body": @{body('Get_file_content')} 
&lt;br /&gt;
} 
&lt;br /&gt;
] 
&lt;br /&gt;
} 
&lt;br /&gt;
&lt;br /&gt;
Where you see this tag &lt;em&gt;@{body('Get_file_content')}&lt;/em&gt; you will want to drag
in the content from the OneDrive Action that ran before this action. You select this
from the little lightening bolt that appears next to the Body text box when you click
in it. 
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/OneDriveAction_2.png"&gt;&lt;img title="OneDriveAction" style="display: inline; background-image: none;" border="0" alt="OneDriveAction" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/OneDriveAction_thumb.png" width="539" height="251" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Parse the results from the PDF Upload&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
After you have completed the previous step you will want to add a “Parse JSON” action.
We will use this to parse the JSON returned by the upload file action. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/ParseJSON_2.png"&gt;&lt;img title="ParseJSON" style="display: inline; background-image: none;" border="0" alt="ParseJSON" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/ParseJSON_thumb.png" width="592" height="293" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Schema: &lt;/strong&gt;Enter the following text into the schema box. 
&lt;/p&gt;
&lt;p&gt;
{ 
&lt;br /&gt;
"type": "object", 
&lt;br /&gt;
"properties": { 
&lt;br /&gt;
"fileGuid": { 
&lt;br /&gt;
"type": "string" 
&lt;br /&gt;
}, 
&lt;br /&gt;
"pages": { 
&lt;br /&gt;
"type": "integer" 
&lt;br /&gt;
} 
&lt;br /&gt;
} 
&lt;br /&gt;
}
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Content: &lt;/strong&gt;Select the content box and then select the lightening bolt
that appears next to it and select (as per the image above) the Body field from the
Upload File step you did previously.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Submit Letter&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Now for the final Action
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/SubmitLet_2.png"&gt;&lt;img title="SubmitLet" style="display: inline; background-image: none;" border="0" alt="SubmitLet" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/SubmitLet_thumb.png" width="403" height="605" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Add another HTTP Action after the “Parse JSON” Action.
&lt;/p&gt;
&lt;p&gt;
Enter the following details
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="left"&gt;&lt;strong&gt;URI&lt;/strong&gt;: &lt;a title="https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting" href="https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting"&gt;https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting&lt;/a&gt; for
production you can use &lt;a title="https://test.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting" href="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting"&gt;https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;&lt;strong&gt;Method: &lt;/strong&gt;Select POST
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;&lt;strong&gt;Body: &lt;/strong&gt;This is the same JSON example used in our
JSON API example &lt;a href="https://www.pc2paper.org/PermaLink,guid,0e1b08fd-56af-409d-bd30-6b66bb6a0c00.aspx" target="_blank"&gt;found
here&lt;/a&gt;. Insert the below JSON into the body text 
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;blockquote&gt; 
&lt;p&gt;
{ 
&lt;br /&gt;
"letterForPosting": { 
&lt;br /&gt;
"SourceClient": "Power Automate", 
&lt;br /&gt;
"Addresses": [ 
&lt;br /&gt;
{ 
&lt;br /&gt;
"ReceiverName": "John Smith", 
&lt;br /&gt;
"ReceiverAddressLine1": "1 Acme Road", 
&lt;br /&gt;
"ReceiverAddressLine2": "My Street", 
&lt;br /&gt;
"ReceiverAddressTownCityOrLine3": "Town", 
&lt;br /&gt;
"ReceiverAddressCountyStateOrLine4": "County", 
&lt;br /&gt;
"ReceiverAddressPostCode": "Postcode" 
&lt;br /&gt;
} 
&lt;br /&gt;
], 
&lt;br /&gt;
"ReceiverCountryCode": 1, 
&lt;br /&gt;
"Postage": 31, 
&lt;br /&gt;
"Paper": 1, 
&lt;br /&gt;
"Envelope": 1, 
&lt;br /&gt;
"Extras": 0, 
&lt;br /&gt;
"LetterBody": "Dear John, Please find my letter attached", 
&lt;br /&gt;
"IncludeSenderAddressOnEnvelope": true, 
&lt;br /&gt;
"SenderAddress": "22 Acme Acres\n Acme Town", 
&lt;br /&gt;
"YourRef": "MyRef001", 
&lt;br /&gt;
"FileAttachementGUIDs": [ 
&lt;br /&gt;
"@{body('Parse_JSON')?['fileGuid']}" 
&lt;br /&gt;
] 
&lt;br /&gt;
}, 
&lt;br /&gt;
"username": "username here", 
&lt;br /&gt;
"password": "password here" 
&lt;br /&gt;
} 
&lt;br /&gt;
&lt;strong&gt; 
&lt;br /&gt;
Important: &lt;/strong&gt;Ensure you changing the following in the JSON. You can read more
about these fields &lt;a href="https://www.pc2paper.co.uk/api-and-developers/json-letter-api.aspx" target="_blank"&gt;here&lt;/a&gt; 
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;username and password&lt;/strong&gt;: Make sure you update these with your own this
can also be your API key and API secret 
&lt;br /&gt;
&lt;strong&gt;FileAttachementGUIDs: &lt;/strong&gt;For this you want to replace &lt;em&gt;@{body('Parse_JSON')?['fileGuid']}&lt;/em&gt; with
“Body fileGuid” from your Parse JSON action 
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/BodyFileGuid_2.png"&gt;&lt;img title="BodyFileGuid" style="display: inline; background-image: none;" border="0" alt="BodyFileGuid" src="https://www.pc2paper.org/content/binary/Open-Live-Writer/976dbf8cf09b_C6B5/BodyFileGuid_thumb.png" width="463" height="297" /&gt;&lt;/a&gt; 
&lt;br /&gt;
&lt;br /&gt;
Note you can find out more about postage options and country codes in the documentation &lt;a href="https://www.pc2paper.co.uk/api-and-developers/json-letter-api.aspx" target="_blank"&gt;found
here&lt;/a&gt;. The postage codes can be found using our &lt;a href="https://www.pc2paper.co.uk/send-letters/postage-prices.aspx" target="_blank"&gt;postal
calculator&lt;/a&gt; for a quick lookup
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
That’s it. Please remember to always test your integration signing up for a free test
account on &lt;a href="https://test.pc2paper.co.uk"&gt;https://test.pc2paper.co.uk&lt;/a&gt; you
can top up your free test account with the following card number 5555558265554449
(this is not a real card number as it is a test environment), use made up details
for the rest of the top-up process. You can then see if the letters you send come
through to your test account. Remember to change the test endpoints to our live server
when you are done by changing https://test to https://www .
&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <category>Developers</category>
      <category>PC2Paper API</category>
    </item>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=0e1b08fd-56af-409d-bd30-6b66bb6a0c00</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,0e1b08fd-56af-409d-bd30-6b66bb6a0c00.aspx</pingback:target>
      <dc:creator>Rob Forber</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Below is an example of using our JSON API to send a letter. 
</p>
        <p>
Our JSON API has exactly the same fields as our SOAP API and uses the same functionality
as our <a href="http://www.pc2paper.org/PermaLink,guid,9f5c80c4-4a76-446b-84ac-117244726334.aspx" target="_blank">SOAP
API</a>.
</p>
        <p align="left">
In the example below we are sending a letter to one person with the body included
as free text. You may also use HTML to format the body of your letter. The JSON below
could quite easily be used straight from JavaScript or from nodejs, but could just
as well be used from almost any coding language. The endpoint to post your JSON to
is <a title="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting" href="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting">https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting</a></p>
        <div class="csharpcode">
          <pre class="alt">{</pre>
          <pre>
            <span class="str">"letterForPosting"</span>:</pre>
          <pre class="alt">    {</pre>
          <pre>
            <span class="str">"SourceClient"</span> : <span class="str">"My App name
1"</span>,</pre>
          <pre class="alt">
            <span class="str">"Addresses"</span> :[</pre>
          <pre>        {<span class="str">"ReceiverName"</span>: <span class="str">"John Smith"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressLine1"</span> : <span class="str">"1
Acme Road"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressLine2"</span> : <span class="str">"My
Street"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressTownCityOrLine3"</span> : <span class="str">"Town"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressCountyStateOrLine4"</span> : <span class="str">"County"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressPostCode"</span> : <span class="str">"Postcode"</span>}</pre>
          <pre>        ],</pre>
          <pre class="alt">
            <span class="str">"ReceiverCountryCode"</span> :1,</pre>
          <pre>
            <span class="str">"Postage"</span>:31,</pre>
          <pre class="alt">
            <span class="str">"Paper"</span>:1,</pre>
          <pre>
            <span class="str">"Envelope"</span>:1,</pre>
          <pre class="alt">
            <span class="str">"Extras"</span>:0,</pre>
          <pre>
            <span class="str">"LetterBody"</span> : <span class="str">"Dear Peter, 
<br />
Please find my letter attached"</span>,</pre>
          <pre class="alt">
            <span class="str">"IncludeSenderAddressOnEnvelope"</span> : <span class="kwrd">true</span>,</pre>
          <pre>
            <span class="str">"SenderAddress"</span> : <span class="str">"22 Acme
Acres\n Acme Town"</span>,</pre>
          <pre class="alt">
            <span class="str">"YourRef"</span> : <span class="str">"MyRef001"</span></pre>
          <pre>
          </pre>
          <pre class="alt">    },</pre>
          <pre>
            <span class="str">"username"</span> : <span class="str">"yourusername"</span>,</pre>
          <pre class="alt">
            <span class="str">"password"</span> : <span class="str">"yourpassword"</span></pre>
          <pre>}</pre>
        </div>
        <p>
          <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
          <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        </p>
        <p>
In the above examples you will notice we use a ReceiverCountryCode you can lookup
the code to use for the country you are sending to <a href="https://www.pc2paper.co.uk/downloads/country.csv" target="_blank">here</a>.
In the above example the country code 1 represents the UK.
</p>
        <p>
For the postage options you can lookup the options you would like to use by using
our <a href="https://www.pc2paper.co.uk/send-letters/postage-prices.aspx" target="_blank">postage
calculator</a>. The postage calculator will list the API options at the bottom of
the page for you after you make your selection. In the example above we have chosen
Postage 31 (UK Second Class), Paper 1 (Black and White 80 gsm), Envelope 1 (Standard
DL). If you would like the ability to lookup your own postage options, you can use
our <a href="https://www.pc2paper.co.uk/api-and-developers/letter-pricing-api.aspx" target="_blank">letter
pricing API</a> which you can find out more about <a href="https://www.pc2paper.co.uk/api-and-developers/letter-pricing-api.aspx" target="_blank">here</a>. 
</p>
        <p>
If you'd like to include PDF's as attachment's to your letter, you can upload these
and use the unique id's the website gives you to attach them to your letter. 
</p>
        <p>
You can upload PDF's one of three ways. 
</p>
        <h3>HTTP POST
</h3>
        <p>
This is probably one of the easiest ways to upload your file submitting your file
over HTTP POST. Simple call https://www.pc2paper.co.uk/uploadfileapi.aspx?fileName=myfileName.pdf
</p>
        <p>
In the headers of your HTTP POST place the following 
</p>
        <ul>
          <li>
username - This will be your PC2Paper username or API key</li>
          <li>
password - This will be your PC2Paper password or API secret</li>
        </ul>
        <p>
You will recieve a response that contains the GUID for your PDF and how many pages
it has.
</p>
        <h3>JSON PDF File Upload
</h3>
        <p>
          <a title="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/UploadDocument" href="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/UploadDocument">https://www.pc2paper.co.uk/lettercustomerapi.svc/json/UploadDocument</a>
        </p>
        <p>
With a JSON file upload you will need to convert what ever file you are uploading
into an integer array. This can usually be done by converting your file into a <a href="http://stackoverflow.com/a/15227045/1437386" target="_blank">byte
array and then into an integer array</a>. 
</p>
        <div class="csharpcode">
          <pre class="alt">{</pre>
          <pre>
            <span class="str">"filename"</span>:<span class="str">"myfile.pdf"</span>,</pre>
          <pre class="alt">
            <span class="str">"username"</span>:<span class="str">"yourusername"</span>,</pre>
          <pre>
            <span class="str">"password"</span>:<span class="str">"yourpassword"</span>,</pre>
          <pre class="alt">
            <span class="str">"fileContent"</span>:[37,80,68,70,45,49,46,53,13,10,37...]</pre>
          <pre>}</pre>
        </div>
        <p>
        </p>
        <p>
After successfully uploading your PDF file you should receive a response similar to
the following.
</p>
        <div class="csharpcode">
          <pre class="alt">{</pre>
          <pre>
            <span class="str">"d"</span>: {</pre>
          <pre class="alt">
            <span class="str">"__type"</span>: <span class="str">"UploadedFileResult:#PC2Paper.Entity.Public.Letters"</span>,</pre>
          <pre>
            <span class="str">"ErrorMessages"</span>: <span class="kwrd">null</span>,</pre>
          <pre class="alt">
            <span class="str">"FileCreatedGUID"</span>: <span class="str">"648b6725-a3c6-4396-b28a-33e86589aa4b"</span>,</pre>
          <pre>
            <span class="str">"Status"</span>: <span class="str">"OK"</span></pre>
          <pre class="alt">  }</pre>
          <pre>}</pre>
        </div>
        <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
Store the FileCreatedGUID somewhere as you will need this to attach it to your letter. 
</p>
        <h3>
        </h3>
        <h3>SOAP PDF File Upload
</h3>
        <p>
If you would prefer to upload your PDF file over SOAP instead of JSON you can use
this endpoint.
</p>
        <p>
          <a title="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsd" href="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsd">https://www.pc2paper.co.uk/lettercustomerapi.svc?wsd<font face="Verdana"></font></a>
        </p>
        <p>
          <font face="Verdana">You can find a <a href="http://www.pc2paper.org/PermaLink,guid,a43dd01b-dc79-4c93-b084-7dbc8e498cd9.aspx" target="_blank">PHP
example</a> and <a href="http://www.pc2paper.org/PermaLink,guid,9f5c80c4-4a76-446b-84ac-117244726334.aspx" target="_blank">C#
example</a> of how to use our SOAP API to upload a file. </font>
        </p>
        <h3>Using an uploaded PDF file in your letter
</h3>
        <p>
After you have uploaded your PDF file using one of the two methods above you will
be provided with a FileCreatedGUID for each file you upload. Construct the JSON for
your letter as before but include an array of File GUIDs you would like to attach
in the FileAttachementGUIDs field. 
</p>
        <div class="csharpcode">
          <pre class="alt">{</pre>
          <pre>
            <span class="str">"letterForPosting"</span>:</pre>
          <pre class="alt">    {</pre>
          <pre>
            <span class="str">"SourceClient"</span> : <span class="str">"My PC2Paper
Client"</span>,</pre>
          <pre class="alt">
            <span class="str">"Addresses"</span> :[</pre>
          <pre>        {<span class="str">"ReceiverName"</span>: <span class="str">"John Smith"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressLine1"</span> : <span class="str">"1
Acme Road"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressLine2"</span> : <span class="str">"My
Street"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressTownCityOrLine3"</span> : <span class="str">"Town"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressCountyStateOrLine4"</span> : <span class="str">"County"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressPostCode"</span> : <span class="str">"Postcode"</span>}</pre>
          <pre>        ],</pre>
          <pre class="alt">
            <span class="str">"ReceiverCountryCode"</span> :1,</pre>
          <pre>
            <span class="str">"Postage"</span>:31,</pre>
          <pre class="alt">
            <span class="str">"Paper"</span>:1,</pre>
          <pre>
            <span class="str">"Envelope"</span>:11,</pre>
          <pre class="alt">
            <span class="str">"Extras"</span>:0,</pre>
          <pre>
            <span class="str">"LetterBody"</span> : <span class="str">"Dear Peter, 
<br />
Please find my letter attached"</span>,</pre>
          <pre class="alt">
            <span class="str">"FileAttachementGUIDs"</span>:[<span class="str">"648b6725-a3c6-4396-b28a-33e86589aa4b"</span>]</pre>
          <pre>
          </pre>
          <pre class="alt">    },</pre>
          <pre>
            <span class="str">"username"</span> : <span class="str">"your username"</span>,</pre>
          <pre class="alt">
            <span class="str">"password"</span> : <span class="str">"yourpassword"</span></pre>
          <pre>
          </pre>
          <pre class="alt">
          </pre>
          <pre>}</pre>
        </div>
        <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
You should receive the following response after submitting a successful letter. 
</p>
        <div class="csharpcode">
          <pre class="alt">{</pre>
          <pre>
            <span class="str">"d"</span>: {</pre>
          <pre class="alt">
            <span class="str">"__type"</span>: <span class="str">"LetterForPostingResult:#PC2Paper.Entity.Public.Letters"</span>,</pre>
          <pre>
            <span class="str">"CostOfLetter"</span>: 2.02,</pre>
          <pre class="alt">
            <span class="str">"ErrorMessages"</span>: <span class="kwrd">null</span>,</pre>
          <pre>
            <span class="str">"FundsLeftInYourAccount"</span>: 160.54,</pre>
          <pre class="alt">
            <span class="str">"LetterId"</span>: <span class="str">"71566"</span>,</pre>
          <pre>
            <span class="str">"Status"</span>: <span class="str">"OK"</span></pre>
          <pre class="alt">  }</pre>
          <pre>}</pre>
        </div>
        <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <h3>Sending a letter to more than one person
</h3>
        <p>
If you would like to send the same letter to more than one person. Just add more people
to the Addresses array.
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="str">"Addresses"</span> :[</pre>
          <pre>        {<span class="str">"ReceiverName"</span>: <span class="str">"John Smith"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressLine1"</span> : <span class="str">"1
Acme Road"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressLine2"</span> : <span class="str">"My
Street"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressTownCityOrLine3"</span> : <span class="str">"Town"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressCountyStateOrLine4"</span> : <span class="str">"County"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressPostCode"</span> : <span class="str">"Postcode"</span>},</pre>
          <pre>
          </pre>
          <pre class="alt">         {<span class="str">"ReceiverName"</span>: <span class="str">"Bob
Smith"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressLine1"</span> : <span class="str">"The
Gables"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressLine2"</span> : <span class="str">"Another
Road"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressTownCityOrLine3"</span> : <span class="str">"Town"</span>,</pre>
          <pre class="alt">
            <span class="str">"ReceiverAddressCountyStateOrLine4"</span> : <span class="str">"County"</span>,</pre>
          <pre>
            <span class="str">"ReceiverAddressPostCode"</span> : <span class="str">"ZZ1
0ZZ"</span>}</pre>
          <pre class="alt">        ]</pre>
        </div>
        <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
      </body>
      <title>PC2Paper JSON Interface v1.0</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,0e1b08fd-56af-409d-bd30-6b66bb6a0c00.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,0e1b08fd-56af-409d-bd30-6b66bb6a0c00.aspx</link>
      <pubDate>Sun, 31 Jul 2016 17:59:08 GMT</pubDate>
      <description>&lt;p&gt;
Below is an example of using our JSON API to send a letter. 
&lt;/p&gt;
&lt;p&gt;
Our JSON API has exactly the same fields as our SOAP API and uses the same functionality
as our &lt;a href="http://www.pc2paper.org/PermaLink,guid,9f5c80c4-4a76-446b-84ac-117244726334.aspx" target="_blank"&gt;SOAP
API&lt;/a&gt;.
&lt;/p&gt;
&lt;p align="left"&gt;
In the example below we are sending a letter to one person with the body included
as free text. You may also use HTML to format the body of your letter. The JSON below
could quite easily be used straight from JavaScript or from nodejs, but could just
as well be used from almost any coding language. The endpoint to post your JSON to
is &lt;a title="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting" href="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting"&gt;https://www.pc2paper.co.uk/lettercustomerapi.svc/json/SendSubmitLetterForPosting&lt;/a&gt;
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;{&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"letterForPosting"&lt;/span&gt;:&lt;/pre&gt;
&lt;pre class="alt"&gt;    {&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"SourceClient"&lt;/span&gt; : &lt;span class="str"&gt;"My App name
1"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"Addresses"&lt;/span&gt; :[&lt;/pre&gt;
&lt;pre&gt;        {&lt;span class="str"&gt;"ReceiverName"&lt;/span&gt;: &lt;span class="str"&gt;"John Smith"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressLine1"&lt;/span&gt; : &lt;span class="str"&gt;"1
Acme Road"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressLine2"&lt;/span&gt; : &lt;span class="str"&gt;"My
Street"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressTownCityOrLine3"&lt;/span&gt; : &lt;span class="str"&gt;"Town"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressCountyStateOrLine4"&lt;/span&gt; : &lt;span class="str"&gt;"County"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressPostCode"&lt;/span&gt; : &lt;span class="str"&gt;"Postcode"&lt;/span&gt;}&lt;/pre&gt;
&lt;pre&gt;        ],&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverCountryCode"&lt;/span&gt; :1,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"Postage"&lt;/span&gt;:31,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"Paper"&lt;/span&gt;:1,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"Envelope"&lt;/span&gt;:1,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"Extras"&lt;/span&gt;:0,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"LetterBody"&lt;/span&gt; : &lt;span class="str"&gt;"Dear Peter, 
&lt;br&gt;
Please find my letter attached"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"IncludeSenderAddressOnEnvelope"&lt;/span&gt; : &lt;span class="kwrd"&gt;true&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"SenderAddress"&lt;/span&gt; : &lt;span class="str"&gt;"22 Acme
Acres\n Acme Town"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"YourRef"&lt;/span&gt; : &lt;span class="str"&gt;"MyRef001"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;        &lt;/pre&gt;
&lt;pre class="alt"&gt;    },&lt;/pre&gt;
&lt;pre&gt;     &lt;span class="str"&gt;"username"&lt;/span&gt; : &lt;span class="str"&gt;"yourusername"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"password"&lt;/span&gt; : &lt;span class="str"&gt;"yourpassword"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;
In the above examples you will notice we use a ReceiverCountryCode you can lookup
the code to use for the country you are sending to &lt;a href="https://www.pc2paper.co.uk/downloads/country.csv" target="_blank"&gt;here&lt;/a&gt;.
In the above example the country code 1 represents the UK.
&lt;/p&gt;
&lt;p&gt;
For the postage options you can lookup the options you would like to use by using
our &lt;a href="https://www.pc2paper.co.uk/send-letters/postage-prices.aspx" target="_blank"&gt;postage
calculator&lt;/a&gt;. The postage calculator will list the API options at the bottom of
the page for you after you make your selection. In the example above we have chosen
Postage 31 (UK Second Class), Paper 1 (Black and White 80 gsm), Envelope 1 (Standard
DL). If you would like the ability to lookup your own postage options, you can use
our &lt;a href="https://www.pc2paper.co.uk/api-and-developers/letter-pricing-api.aspx" target="_blank"&gt;letter
pricing API&lt;/a&gt; which you can find out more about &lt;a href="https://www.pc2paper.co.uk/api-and-developers/letter-pricing-api.aspx" target="_blank"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
If you'd like to include PDF's as attachment's to your letter, you can upload these
and use the unique id's the website gives you to attach them to your letter. 
&lt;/p&gt;
&lt;p&gt;
You can upload PDF's one of three ways. 
&lt;/p&gt;
&lt;h3&gt;HTTP POST
&lt;/h3&gt;
&lt;p&gt;
This is probably one of the easiest ways to upload your file submitting your file
over HTTP POST. Simple call https://www.pc2paper.co.uk/uploadfileapi.aspx?fileName=myfileName.pdf
&lt;/p&gt;
&lt;p&gt;
In the headers of your HTTP POST place the following 
&lt;ul&gt;
&lt;li&gt;
username - This will be your PC2Paper username or API key&lt;/li&gt;
&lt;li&gt;
password - This will be your PC2Paper password or API secret&lt;/li&gt;
&lt;/ul&gt;
&gt;
&lt;p&gt;
You will recieve a response that contains the GUID for your PDF and how many pages
it has.
&lt;/p&gt;
&lt;h3&gt;JSON PDF File Upload
&lt;/h3&gt;
&lt;p&gt;
&lt;a title="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/UploadDocument" href="https://www.pc2paper.co.uk/lettercustomerapi.svc/json/UploadDocument"&gt;https://www.pc2paper.co.uk/lettercustomerapi.svc/json/UploadDocument&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
With a JSON file upload you will need to convert what ever file you are uploading
into an integer array. This can usually be done by converting your file into a &lt;a href="http://stackoverflow.com/a/15227045/1437386" target="_blank"&gt;byte
array and then into an integer array&lt;/a&gt;. 
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;{&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"filename"&lt;/span&gt;:&lt;span class="str"&gt;"myfile.pdf"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"username"&lt;/span&gt;:&lt;span class="str"&gt;"yourusername"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"password"&lt;/span&gt;:&lt;span class="str"&gt;"yourpassword"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"fileContent"&lt;/span&gt;:[37,80,68,70,45,49,46,53,13,10,37...]&lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
After successfully uploading your PDF file you should receive a response similar to
the following.
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;{&lt;/pre&gt;
&lt;pre&gt;  &lt;span class="str"&gt;"d"&lt;/span&gt;: {&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"__type"&lt;/span&gt;: &lt;span class="str"&gt;"UploadedFileResult:#PC2Paper.Entity.Public.Letters"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"ErrorMessages"&lt;/span&gt;: &lt;span class="kwrd"&gt;null&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"FileCreatedGUID"&lt;/span&gt;: &lt;span class="str"&gt;"648b6725-a3c6-4396-b28a-33e86589aa4b"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"Status"&lt;/span&gt;: &lt;span class="str"&gt;"OK"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;  }&lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;p&gt;
Store the FileCreatedGUID somewhere as you will need this to attach it to your letter. 
&lt;/p&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;SOAP PDF File Upload
&lt;/h3&gt;
&lt;p&gt;
If you would prefer to upload your PDF file over SOAP instead of JSON you can use
this endpoint.
&lt;/p&gt;
&lt;p&gt;
&lt;a title="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsd" href="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsd"&gt;https://www.pc2paper.co.uk/lettercustomerapi.svc?wsd&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Verdana"&gt;You can find a &lt;a href="http://www.pc2paper.org/PermaLink,guid,a43dd01b-dc79-4c93-b084-7dbc8e498cd9.aspx" target="_blank"&gt;PHP
example&lt;/a&gt; and &lt;a href="http://www.pc2paper.org/PermaLink,guid,9f5c80c4-4a76-446b-84ac-117244726334.aspx" target="_blank"&gt;C#
example&lt;/a&gt; of how to use our SOAP API to upload a file. &lt;/font&gt;
&lt;/p&gt;
&lt;h3&gt;Using an uploaded PDF file in your letter
&lt;/h3&gt;
&lt;p&gt;
After you have uploaded your PDF file using one of the two methods above you will
be provided with a FileCreatedGUID for each file you upload. Construct the JSON for
your letter as before but include an array of File GUIDs you would like to attach
in the FileAttachementGUIDs field. 
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;{&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"letterForPosting"&lt;/span&gt;:&lt;/pre&gt;
&lt;pre class="alt"&gt;    {&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"SourceClient"&lt;/span&gt; : &lt;span class="str"&gt;"My PC2Paper
Client"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"Addresses"&lt;/span&gt; :[&lt;/pre&gt;
&lt;pre&gt;        {&lt;span class="str"&gt;"ReceiverName"&lt;/span&gt;: &lt;span class="str"&gt;"John Smith"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressLine1"&lt;/span&gt; : &lt;span class="str"&gt;"1
Acme Road"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressLine2"&lt;/span&gt; : &lt;span class="str"&gt;"My
Street"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressTownCityOrLine3"&lt;/span&gt; : &lt;span class="str"&gt;"Town"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressCountyStateOrLine4"&lt;/span&gt; : &lt;span class="str"&gt;"County"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressPostCode"&lt;/span&gt; : &lt;span class="str"&gt;"Postcode"&lt;/span&gt;}&lt;/pre&gt;
&lt;pre&gt;        ],&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverCountryCode"&lt;/span&gt; :1,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"Postage"&lt;/span&gt;:31,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"Paper"&lt;/span&gt;:1,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"Envelope"&lt;/span&gt;:11,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"Extras"&lt;/span&gt;:0,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"LetterBody"&lt;/span&gt; : &lt;span class="str"&gt;"Dear Peter, 
&lt;br&gt;
Please find my letter attached"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"FileAttachementGUIDs"&lt;/span&gt;:[&lt;span class="str"&gt;"648b6725-a3c6-4396-b28a-33e86589aa4b"&lt;/span&gt;]&lt;/pre&gt;
&lt;pre&gt;        &lt;/pre&gt;
&lt;pre class="alt"&gt;    },&lt;/pre&gt;
&lt;pre&gt;     &lt;span class="str"&gt;"username"&lt;/span&gt; : &lt;span class="str"&gt;"your username"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"password"&lt;/span&gt; : &lt;span class="str"&gt;"yourpassword"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;    &lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;p&gt;
You should receive the following response after submitting a successful letter. 
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;{&lt;/pre&gt;
&lt;pre&gt;  &lt;span class="str"&gt;"d"&lt;/span&gt;: {&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"__type"&lt;/span&gt;: &lt;span class="str"&gt;"LetterForPostingResult:#PC2Paper.Entity.Public.Letters"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"CostOfLetter"&lt;/span&gt;: 2.02,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"ErrorMessages"&lt;/span&gt;: &lt;span class="kwrd"&gt;null&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"FundsLeftInYourAccount"&lt;/span&gt;: 160.54,&lt;/pre&gt;
&lt;pre class="alt"&gt;    &lt;span class="str"&gt;"LetterId"&lt;/span&gt;: &lt;span class="str"&gt;"71566"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;    &lt;span class="str"&gt;"Status"&lt;/span&gt;: &lt;span class="str"&gt;"OK"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;  }&lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;h3&gt;Sending a letter to more than one person
&lt;/h3&gt;
&lt;p&gt;
If you would like to send the same letter to more than one person. Just add more people
to the Addresses array.
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt; &lt;span class="str"&gt;"Addresses"&lt;/span&gt; :[&lt;/pre&gt;
&lt;pre&gt;        {&lt;span class="str"&gt;"ReceiverName"&lt;/span&gt;: &lt;span class="str"&gt;"John Smith"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressLine1"&lt;/span&gt; : &lt;span class="str"&gt;"1
Acme Road"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressLine2"&lt;/span&gt; : &lt;span class="str"&gt;"My
Street"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressTownCityOrLine3"&lt;/span&gt; : &lt;span class="str"&gt;"Town"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressCountyStateOrLine4"&lt;/span&gt; : &lt;span class="str"&gt;"County"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressPostCode"&lt;/span&gt; : &lt;span class="str"&gt;"Postcode"&lt;/span&gt;},&lt;/pre&gt;
&lt;pre&gt;        &lt;/pre&gt;
&lt;pre class="alt"&gt;         {&lt;span class="str"&gt;"ReceiverName"&lt;/span&gt;: &lt;span class="str"&gt;"Bob
Smith"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressLine1"&lt;/span&gt; : &lt;span class="str"&gt;"The
Gables"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressLine2"&lt;/span&gt; : &lt;span class="str"&gt;"Another
Road"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressTownCityOrLine3"&lt;/span&gt; : &lt;span class="str"&gt;"Town"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;        &lt;span class="str"&gt;"ReceiverAddressCountyStateOrLine4"&lt;/span&gt; : &lt;span class="str"&gt;"County"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;        &lt;span class="str"&gt;"ReceiverAddressPostCode"&lt;/span&gt; : &lt;span class="str"&gt;"ZZ1
0ZZ"&lt;/span&gt;}&lt;/pre&gt;
&lt;pre class="alt"&gt;        ]&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;</description>
      <category>Developers</category>
    </item>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=a43dd01b-dc79-4c93-b084-7dbc8e498cd9</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,a43dd01b-dc79-4c93-b084-7dbc8e498cd9.aspx</pingback:target>
      <dc:creator>Rob Forber</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We've had several requests for an example on using our SOAP API, so decided to throw
one together for you to get an idea of how it works.
</p>
        <p>
The example below will send PDF documents as a letter with a cover letter which is
written as a formatted HTML string (see the LetterBody attribute below).
</p>
        <p align="left">
To make more use of this example and to adapt it to your needs you may need to look
at the Letter Pricing API along with the country code list which can all be found <a href="http://www.pc2paper.co.uk/apis.asp" target="_blank">here</a>. 
</p>
        <p align="left">
If you would like us to advise you on what are the best options to use for postage
and paper usage please <a href="http://www.pc2paper.co.uk/contactus.asp" target="_blank">contact
us</a>. 
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 1: </span>&lt;?php</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 2: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 3: </span>$client = <span class="kwrd">new</span> SoapClient(<span class="str">"https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl"</span>);</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 4: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 5: </span>
            <span class="rem">// Your PC2Paper
Username and Password go below</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 6: </span>$pc2paperUsername = <span class="str">"username"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 7: </span>$pc2paperPassword = <span class="str">"password"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 8: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 9: </span>
            <span class="rem">//First we upload
a PDF we wish to attach to our letter</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 10: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 11: </span>$file = file_get_contents(<span class="str">"C:\tempfiles\mytestfile.pdf"</span>);</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 12: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 13: </span>
            <span class="rem">//We give the pdf
a friendly name</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 14: </span>$parametersUpload-&gt;filename = <span class="str">"mytestFile.pdf"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 15: </span>$parametersUpload-&gt;fileContent
= $file;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 16: </span>$parametersUpload-&gt;username=$pc2paperUsername;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 17: </span>$parametersUpload-&gt;password=$pc2paperPassword;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 18: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 19: </span>
            <span class="rem">//We submit our
PDF to PC2Paper</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 20: </span>$uploadedFileResult = $client-&gt;UploadDocument($parametersUpload);</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 21: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 22: </span>
            <span class="rem">// Not the above return value
contains the following</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 23: </span>
            <span class="rem">// $uploadedFileResult-&gt;UploadDocumentResult-&gt;ErrorMessages
(A a string array of any errors that took place)</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 24: </span>
            <span class="rem">// $uploadedFileResult-&gt;UploadDocumentResult-&gt;FileCreatedGUID
(The created files GUID)0</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 25: </span>
            <span class="rem">// $uploadedFileResult-&gt;UploadDocumentResult-&gt;Status
(OK or ERROR, if error check ErrorMessages array</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 26: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 27: </span>
            <span class="rem">//After our PDF
has been submited we get a GUID which we store in an array to use with our letter
below.</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 28: </span>
            <span class="rem">//Note you can attach multiple
PDF's to your letter by adding to this array.</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 29: </span>$fileGuidArray = array($uploadedFileResult-&gt;UploadDocumentResult-&gt;FileCreatedGUID);</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 30: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 31: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 32: </span>
            <span class="rem">// ********** The actual Letter.</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 33: </span>
            <span class="rem">// We put an address
together</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 34: </span>$address-&gt;ReceiverName = <span class="str">"Tom
Smith"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 35: </span>$address-&gt;ReceiverAddressLine1
= <span class="str">"Line 1 "</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 36: </span>$address-&gt;ReceiverAddressLine2 = <span class="str">"Line
2"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 37: </span>$address-&gt;ReceiverAddressTownCityOrLine3
= <span class="str">"My Town"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 38: </span>$address-&gt;ReceiverAddressCountyStateOrLine4
= <span class="str">"County"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 39: </span>$address-&gt;ReceiverAddressPostCode
= <span class="str">"ZZ1 2ZZ"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 40: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 41: </span>
            <span class="rem">// Add the address
to an address array</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 42: </span>$addressArray = array($address);</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 43: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 44: </span>
            <span class="rem">//Add the address array to our
letter</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 45: </span>$letter-&gt;Addresses = $addressArray
;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 46: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 47: </span>
            <span class="rem">//Setup our postage
options (use the LetterPosting API for these values </span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 48: </span>
            <span class="rem">//or ask us and we will be happy
to provide the values based on your needs)</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 49: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 50: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 51: </span>
            <span class="rem">// 1=UK , 240=US
for a list of more please refer to country.csv file from the API section of our website.</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 52: </span>$letter-&gt;ReceiverCountryCode = 1; </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 53: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 54: </span>$letter-&gt;IncludeSenderAddressOnEnvelope = <span class="kwrd">true</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 55: </span>$letter-&gt;Postage = 3; <span class="rem">//UK
First Class</span></pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 56: </span>$letter-&gt;Paper = 1; <span class="rem">// B&amp;W
Single Sides print</span></pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 57: </span>$letter-&gt;Extras = 0;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 58: </span>$letter-&gt;Envelope = 1; <span class="rem">//Simple
DL envelope</span></pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 59: </span>$letter-&gt;Pages = 2;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 60: </span>$letter-&gt;FileAttachementGUIDs = $fileGuidArray;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 61: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 62: </span>$letter-&gt;SenderAddress = <span class="str">"Peter
Smith\nMy Town"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 63: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 64: </span>
            <span class="rem">//This is the cover letter of
your letter. Leave this null if you do not want a cover letter</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 65: </span>
            <span class="rem">//You may use formatted
HTML in here to format your letter.</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 66: </span>$letter-&gt;LetterBody = <span class="str">"&lt;p&gt;Hi
Tom,&lt;/p&gt; &lt;p&gt;This is a letter sent from PHP!&lt;/p&gt;"</span>;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 67: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 68: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 69: </span>$parameters-&gt;letterForPosting =
$letter;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 70: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 71: </span>
            <span class="rem">// Your PC2Paper
username and password</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 72: </span>$parameters-&gt;username = $pc2paperUsername;</pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 73: </span>$parameters-&gt;password = $pc2paperPassword;</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 74: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 75: </span>$result = $client-&gt;SendSubmitLetterForPosting($parameters);</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 76: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 77: </span>
            <span class="rem">// The return object
will give you the following</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 78: </span>
            <span class="rem">// $result-&gt;SendSubmitLetterForPostingResult-&gt;CostOfLetter</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 79: </span>
            <span class="rem">// $result-&gt;SendSubmitLetterForPostingResult-&gt;ErrorMessages
(any errors that took place)</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 80: </span>
            <span class="rem">// $result-&gt;SendSubmitLetterForPostingResult-&gt;FundsLeftInYourAccount</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 81: </span>
            <span class="rem">// $result-&gt;SendSubmitLetterForPostingResult-&gt;LetterId</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 82: </span>
            <span class="rem">// $result-&gt;SendSubmitLetterForPostingResult-&gt;Status
(OK if everything went ok or ERROR, if error check the ErrorMessages array)</span>
          </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 83: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 84: </span> </pre>
        </div>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 85: </span>print_r($result);</pre>
        </div>
        <div class="csharpcode">
          <pre>
            <span class="lnum"> 86: </span>?&gt;</pre>
        </div>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
      </body>
      <title>Sending a letter via PC2Paper’s SOAP API using PHP</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,a43dd01b-dc79-4c93-b084-7dbc8e498cd9.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,a43dd01b-dc79-4c93-b084-7dbc8e498cd9.aspx</link>
      <pubDate>Wed, 21 Aug 2013 20:02:50 GMT</pubDate>
      <description>&lt;p&gt;
We've had several requests for an example on using our SOAP API, so decided to throw
one together for you to get an idea of how it works.
&lt;/p&gt;
&lt;p&gt;
The example below will send PDF documents as a letter with a cover letter which is
written as a formatted HTML string (see the LetterBody attribute below).
&lt;/p&gt;
&lt;p align="left"&gt;
To make more use of this example and to adapt it to your needs you may need to look
at the Letter Pricing API along with the country code list which can all be found &lt;a href="http://www.pc2paper.co.uk/apis.asp" target="_blank"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;p align="left"&gt;
If you would like us to advise you on what are the best options to use for postage
and paper usage please &lt;a href="http://www.pc2paper.co.uk/contactus.asp" target="_blank"&gt;contact
us&lt;/a&gt;. 
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 1: &lt;/span&gt;&amp;lt;?php&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 2: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 3: &lt;/span&gt;$client = &lt;span class="kwrd"&gt;new&lt;/span&gt; SoapClient(&lt;span class="str"&gt;&amp;quot;https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 4: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 5: &lt;/span&gt;&lt;span class="rem"&gt;// Your PC2Paper
Username and Password go below&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 6: &lt;/span&gt;$pc2paperUsername = &lt;span class="str"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 7: &lt;/span&gt;$pc2paperPassword = &lt;span class="str"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 8: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 9: &lt;/span&gt;&lt;span class="rem"&gt;//First we upload
a PDF we wish to attach to our letter&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 10: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 11: &lt;/span&gt;$file = file_get_contents(&lt;span class="str"&gt;&amp;quot;C:\tempfiles\mytestfile.pdf&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 12: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 13: &lt;/span&gt;&lt;span class="rem"&gt;//We give the pdf
a friendly name&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 14: &lt;/span&gt;$parametersUpload-&amp;gt;filename = &lt;span class="str"&gt;&amp;quot;mytestFile.pdf&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 15: &lt;/span&gt;$parametersUpload-&amp;gt;fileContent
= $file;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 16: &lt;/span&gt;$parametersUpload-&amp;gt;username=$pc2paperUsername;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 17: &lt;/span&gt;$parametersUpload-&amp;gt;password=$pc2paperPassword;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 18: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 19: &lt;/span&gt;&lt;span class="rem"&gt;//We submit our
PDF to PC2Paper&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 20: &lt;/span&gt;$uploadedFileResult = $client-&amp;gt;UploadDocument($parametersUpload);&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 21: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 22: &lt;/span&gt;&lt;span class="rem"&gt;// Not the above return value
contains the following&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 23: &lt;/span&gt;&lt;span class="rem"&gt;// $uploadedFileResult-&amp;gt;UploadDocumentResult-&amp;gt;ErrorMessages
(A a string array of any errors that took place)&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 24: &lt;/span&gt;&lt;span class="rem"&gt;// $uploadedFileResult-&amp;gt;UploadDocumentResult-&amp;gt;FileCreatedGUID
(The created files GUID)0&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 25: &lt;/span&gt;&lt;span class="rem"&gt;// $uploadedFileResult-&amp;gt;UploadDocumentResult-&amp;gt;Status
(OK or ERROR, if error check ErrorMessages array&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 26: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 27: &lt;/span&gt;&lt;span class="rem"&gt;//After our PDF
has been submited we get a GUID which we store in an array to use with our letter
below.&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 28: &lt;/span&gt;&lt;span class="rem"&gt;//Note you can attach multiple
PDF's to your letter by adding to this array.&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 29: &lt;/span&gt;$fileGuidArray = array($uploadedFileResult-&amp;gt;UploadDocumentResult-&amp;gt;FileCreatedGUID);&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 30: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 31: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 32: &lt;/span&gt;&lt;span class="rem"&gt;// ********** The actual Letter.&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 33: &lt;/span&gt;&lt;span class="rem"&gt;// We put an address
together&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 34: &lt;/span&gt;$address-&amp;gt;ReceiverName = &lt;span class="str"&gt;&amp;quot;Tom
Smith&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 35: &lt;/span&gt;$address-&amp;gt;ReceiverAddressLine1
= &lt;span class="str"&gt;&amp;quot;Line 1 &amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 36: &lt;/span&gt;$address-&amp;gt;ReceiverAddressLine2 = &lt;span class="str"&gt;&amp;quot;Line
2&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 37: &lt;/span&gt;$address-&amp;gt;ReceiverAddressTownCityOrLine3
= &lt;span class="str"&gt;&amp;quot;My Town&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 38: &lt;/span&gt;$address-&amp;gt;ReceiverAddressCountyStateOrLine4
= &lt;span class="str"&gt;&amp;quot;County&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 39: &lt;/span&gt;$address-&amp;gt;ReceiverAddressPostCode
= &lt;span class="str"&gt;&amp;quot;ZZ1 2ZZ&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 40: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 41: &lt;/span&gt;&lt;span class="rem"&gt;// Add the address
to an address array&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 42: &lt;/span&gt;$addressArray = array($address);&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 43: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 44: &lt;/span&gt;&lt;span class="rem"&gt;//Add the address array to our
letter&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 45: &lt;/span&gt;$letter-&amp;gt;Addresses = $addressArray
;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 46: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 47: &lt;/span&gt;&lt;span class="rem"&gt;//Setup our postage
options (use the LetterPosting API for these values &lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 48: &lt;/span&gt;&lt;span class="rem"&gt;//or ask us and we will be happy
to provide the values based on your needs)&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 49: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 50: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 51: &lt;/span&gt;&lt;span class="rem"&gt;// 1=UK , 240=US
for a list of more please refer to country.csv file from the API section of our website.&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 52: &lt;/span&gt;$letter-&amp;gt;ReceiverCountryCode = 1; &lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 53: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 54: &lt;/span&gt;$letter-&amp;gt;IncludeSenderAddressOnEnvelope = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 55: &lt;/span&gt;$letter-&amp;gt;Postage = 3; &lt;span class="rem"&gt;//UK
First Class&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 56: &lt;/span&gt;$letter-&amp;gt;Paper = 1; &lt;span class="rem"&gt;// B&amp;amp;W
Single Sides print&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 57: &lt;/span&gt;$letter-&amp;gt;Extras = 0;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 58: &lt;/span&gt;$letter-&amp;gt;Envelope = 1; &lt;span class="rem"&gt;//Simple
DL envelope&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 59: &lt;/span&gt;$letter-&amp;gt;Pages = 2;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 60: &lt;/span&gt;$letter-&amp;gt;FileAttachementGUIDs = $fileGuidArray;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 61: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 62: &lt;/span&gt;$letter-&amp;gt;SenderAddress = &lt;span class="str"&gt;&amp;quot;Peter
Smith\nMy Town&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 63: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 64: &lt;/span&gt;&lt;span class="rem"&gt;//This is the cover letter of
your letter. Leave this null if you do not want a cover letter&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 65: &lt;/span&gt;&lt;span class="rem"&gt;//You may use formatted
HTML in here to format your letter.&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 66: &lt;/span&gt;$letter-&amp;gt;LetterBody = &lt;span class="str"&gt;&amp;quot;&amp;lt;p&amp;gt;Hi
Tom,&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;This is a letter sent from PHP!&amp;lt;/p&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 67: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 68: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 69: &lt;/span&gt;$parameters-&amp;gt;letterForPosting =
$letter;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 70: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 71: &lt;/span&gt;&lt;span class="rem"&gt;// Your PC2Paper
username and password&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 72: &lt;/span&gt;$parameters-&amp;gt;username = $pc2paperUsername;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 73: &lt;/span&gt;$parameters-&amp;gt;password = $pc2paperPassword;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 74: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 75: &lt;/span&gt;$result = $client-&amp;gt;SendSubmitLetterForPosting($parameters);&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 76: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 77: &lt;/span&gt;&lt;span class="rem"&gt;// The return object
will give you the following&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 78: &lt;/span&gt;&lt;span class="rem"&gt;// $result-&amp;gt;SendSubmitLetterForPostingResult-&amp;gt;CostOfLetter&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 79: &lt;/span&gt;&lt;span class="rem"&gt;// $result-&amp;gt;SendSubmitLetterForPostingResult-&amp;gt;ErrorMessages
(any errors that took place)&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 80: &lt;/span&gt;&lt;span class="rem"&gt;// $result-&amp;gt;SendSubmitLetterForPostingResult-&amp;gt;FundsLeftInYourAccount&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 81: &lt;/span&gt;&lt;span class="rem"&gt;// $result-&amp;gt;SendSubmitLetterForPostingResult-&amp;gt;LetterId&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 82: &lt;/span&gt;&lt;span class="rem"&gt;// $result-&amp;gt;SendSubmitLetterForPostingResult-&amp;gt;Status
(OK if everything went ok or ERROR, if error check the ErrorMessages array)&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 83: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 84: &lt;/span&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 85: &lt;/span&gt;print_r($result);&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 86: &lt;/span&gt;?&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;</description>
      <category>Developers</category>
      <category>PC2Paper API</category>
    </item>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=9f5c80c4-4a76-446b-84ac-117244726334</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,9f5c80c4-4a76-446b-84ac-117244726334.aspx</pingback:target>
      <dc:creator>Karen Nutton</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We've just released a beta version of our new SOAP API which harnesses many of the
features found in our recently launched Letter 2.0 writing interface.
</p>
        <p>
The API enables you to:
</p>
        <ul>
          <li>
Send the same letter to multiple recipient 
</li>
          <li>
Attach multiple PDF's to a letter 
</li>
          <li>
Add a cover (written in HTML) with or without PDF's 
</li>
        </ul>
        <p>
More documentation will follow soon, but for now here is an example for using the
API.
</p>
        <p>
The endpoint for the service can be found here <a href="https://www.pc2paper.co.uk/lettercustomerapi.svc">https://www.pc2paper.co.uk/lettercustomerapi.svc</a><br />
to access the WSDL simply go here <a href="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl">https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl</a></p>
        <p>
Please note the service endpoint talks about <strong>svcutil.exe</strong>, this is
only applicable to Microsoft WCF users. Please also note that SOAP is a widely used
XML-based protocol, it is assumed at all times that the developer is aware of SOAP
or has used it. It is beyond the scope of this article to explain SOAP. If you are
using .NET you can take advantage of the features available to you in WCF, if not
you can still use the service as a bog standard soap service from any of the popular
languages such as PHP, C#, Ruby, Delphi, Java etc. by just using the WSDL (<a href="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl">https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl</a> )
</p>
        <p>
The example in this article uses C#, we will cover using the service from other languages
in future, for now here are some links about SOAP in those languages.
</p>
        <ul>
          <li>
PHP - <a href="http://php.net/manual/en/book.soap.php">http://php.net/manual/en/book.soap.php</a></li>
          <li>
Java - <a href="http://axis.apache.org/axis/index.html">http://axis.apache.org/axis/index.html</a></li>
          <li>
RUBY - <a href="https://github.com/rubiii/savon">https://github.com/rubiii/savon</a></li>
        </ul>
        <p>
The following example illustrates how to upload a PDF attachment and write a cover
letter with our new API the sample below is in C# using Visual Studio .NET. More examples
in other languages will follow.
</p>
        <p>
Firstly add a new service reference to your project, ensure you use https in the service
address as below.
</p>
        <p>
          <a href="http://www.pc2paper.org/content/binary/Windows-Live-Writer/PC2Paper-Letter-SOAP_13E3C/image_2.png">
            <img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://www.pc2paper.org/content/binary/Windows-Live-Writer/PC2Paper-Letter-SOAP_13E3C/image_thumb.png" width="414" height="339" />
          </a>
        </p>
        <p>
The code for the example is below. As with our other interfaces, in order to get the
correct envelope, paper, print type and postage type please refer to our <a href="http://www.pc2paper.co.uk/LetterPricingAPI.pdf" target="_blank">Letter
Pricing API</a> or contact us with your requirements and we will be more than happy
to provide suitable values for you.
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 1: </span>
            <span class="kwrd">using</span> System;</pre>
          <pre>
            <span class="lnum"> 2: </span>
            <span class="kwrd">using</span> System.IO;</pre>
          <pre class="alt">
            <span class="lnum"> 3: </span>
            <span class="kwrd">using</span> System.Text;</pre>
          <pre>
            <span class="lnum"> 4: </span>
            <span class="kwrd">using</span> PC2PaperLetterCustomerAPIExample.PC2PaperAPI;</pre>
          <pre class="alt">
            <span class="lnum"> 5: </span>
          </pre>
          <pre>
            <span class="lnum"> 6: </span>
            <span class="kwrd">namespace</span> PC2PaperLetterCustomerAPIExample</pre>
          <pre class="alt">
            <span class="lnum"> 7: </span>{</pre>
          <pre>
            <span class="lnum"> 8: </span>
            <span class="kwrd">static</span>
            <span class="kwrd">class</span> Program</pre>
          <pre class="alt">
            <span class="lnum"> 9: </span> {</pre>
          <pre>
            <span class="lnum"> 10: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 11: </span>
            <span class="kwrd">static</span>
            <span class="kwrd">void</span> Main()</pre>
          <pre>
            <span class="lnum"> 12: </span> {</pre>
          <pre class="alt">
            <span class="lnum"> 13: </span> SendLetter();</pre>
          <pre>
            <span class="lnum"> 14: </span> }</pre>
          <pre class="alt">
            <span class="lnum"> 15: </span>
          </pre>
          <pre>
            <span class="lnum"> 16: </span>
            <span class="kwrd">static</span>
            <span class="kwrd">void</span> SendLetter()</pre>
          <pre class="alt">
            <span class="lnum"> 17: </span> {</pre>
          <pre>
            <span class="lnum"> 18: </span>
            <span class="rem">//Your PC2Paper username and
password go here.</span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 19: </span>
            <span class="kwrd">string</span> username
= <span class="str">"yourusername"</span>;</pre>
          <pre>
            <span class="lnum"> 20: </span>
            <span class="kwrd">string</span> password = <span class="str">"yourpassword"</span>;</pre>
          <pre class="alt">
            <span class="lnum"> 21: </span>
          </pre>
          <pre>
            <span class="lnum"> 22: </span> var pc2PaperAPI = <span class="kwrd">new</span> PC2PaperAPI.LetterCustomerAPIClient();</pre>
          <pre class="alt">
            <span class="lnum"> 23: </span>
          </pre>
          <pre>
            <span class="lnum"> 24: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 25: </span>
            <span class="rem">//1. First we upload
the files we want to attach to our letter</span>
          </pre>
          <pre>
            <span class="lnum"> 26: </span>
            <span class="rem">// If you don't want to attach
any files you can leave this step out.</span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 27: </span>
            <span class="rem">// NOTE: You can
also upload files async if using WCF Async methods are enables so you don't hang a
UI thread for example.</span>
          </pre>
          <pre>
            <span class="lnum"> 28: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 29: </span>
            <span class="rem">// You can add
as many PDF's as you want in this way. Just remember to grab the GUID's from each
submit to the server.</span>
          </pre>
          <pre>
            <span class="lnum"> 30: </span>
            <span class="rem">// below we are only attaching
one.</span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 31: </span> var fileContent =</pre>
          <pre>
            <span class="lnum"> 32: </span> LoadBinaryFileAsByteArray(</pre>
          <pre class="alt">
            <span class="lnum"> 33: </span>
            <span class="str">@"c:\temp\testPDF.pdf"</span>);</pre>
          <pre>
            <span class="lnum"> 34: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 35: </span>
          </pre>
          <pre>
            <span class="lnum"> 36: </span>
            <span class="kwrd">string</span> fileName = <span class="str">"testPDF.pdf"</span>;</pre>
          <pre class="alt">
            <span class="lnum"> 37: </span>
          </pre>
          <pre>
            <span class="lnum"> 38: </span> var uploadDocumentResults = pc2PaperAPI.UploadDocument(fileName,
fileContent, username, password);</pre>
          <pre class="alt">
            <span class="lnum"> 39: </span>
          </pre>
          <pre>
            <span class="lnum"> 40: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 41: </span>
            <span class="kwrd">if</span>(uploadDocumentResults.Status!=<span class="str">"OK"</span>)</pre>
          <pre>
            <span class="lnum"> 42: </span> {</pre>
          <pre class="alt">
            <span class="lnum"> 43: </span>
            <span class="rem">// Oops an error
took place.</span>
          </pre>
          <pre>
            <span class="lnum"> 44: </span> Console.WriteLine(uploadDocumentResults.ErrorMessages.ToString());</pre>
          <pre class="alt">
            <span class="lnum"> 45: </span>
            <span class="kwrd">return</span>;</pre>
          <pre>
            <span class="lnum"> 46: </span> }</pre>
          <pre class="alt">
            <span class="lnum"> 47: </span>
          </pre>
          <pre>
            <span class="lnum"> 48: </span>
            <span class="rem">//2. Create a letter to attach
out PDF to.</span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 49: </span> var letter = <span class="kwrd">new</span> LetterForPosting();</pre>
          <pre>
            <span class="lnum"> 50: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 51: </span> letter.Addresses = <span class="kwrd">new</span> LetterAddressForPosting[]</pre>
          <pre>
            <span class="lnum"> 52: </span> {</pre>
          <pre class="alt">
            <span class="lnum"> 53: </span>
            <span class="kwrd">new</span> LetterAddressForPosting()</pre>
          <pre>
            <span class="lnum"> 54: </span> {</pre>
          <pre class="alt">
            <span class="lnum"> 55: </span> ReceiverName = <span class="str">"Tom
Smith"</span>,</pre>
          <pre>
            <span class="lnum"> 56: </span> ReceiverAddressLine1 = <span class="str">"Acme
Co"</span>,</pre>
          <pre class="alt">
            <span class="lnum"> 57: </span> ReceiverAddressLine2 = <span class="str">"2
Acme Street"</span>,</pre>
          <pre>
            <span class="lnum"> 58: </span> ReceiverAddressTownCityOrLine3 = <span class="str">"Acme
Town"</span>,</pre>
          <pre class="alt">
            <span class="lnum"> 59: </span> ReceiverAddressCountyStateOrLine4
= <span class="str">"State"</span>,</pre>
          <pre>
            <span class="lnum"> 60: </span> ReceiverAddressPostCode = <span class="str">"ZN12
9xn"</span></pre>
          <pre class="alt">
            <span class="lnum"> 61: </span> }</pre>
          <pre>
            <span class="lnum"> 62: </span> };</pre>
          <pre class="alt">
            <span class="lnum"> 63: </span>
          </pre>
          <pre>
            <span class="lnum"> 64: </span> letter.ReceiverCountryCode = 1;</pre>
          <pre class="alt">
            <span class="lnum"> 65: </span>
          </pre>
          <pre>
            <span class="lnum"> 66: </span> letter.Envelope = 1;</pre>
          <pre class="alt">
            <span class="lnum"> 67: </span> letter.Postage = 3; <span class="rem">//UK
First Class</span></pre>
          <pre>
            <span class="lnum"> 68: </span> letter.Paper = 1;</pre>
          <pre class="alt">
            <span class="lnum"> 69: </span> letter.Extras = 0;</pre>
          <pre>
            <span class="lnum"> 70: </span> letter.SenderAddress = <span class="str">"Peter
Smith\n 72 Some Road \n Some Town \n P23 123"</span>;</pre>
          <pre class="alt">
            <span class="lnum"> 71: </span> letter.Pages = 1;</pre>
          <pre>
            <span class="lnum"> 72: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 73: </span>
            <span class="rem">// We are also
putting a cover letter onto our letter. (The cover letter will always be in front)</span>
          </pre>
          <pre>
            <span class="lnum"> 74: </span>
            <span class="rem">// Leave the LetterBody line
out if you do not wish to include one.</span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 75: </span> var bodyOfLetter = <span class="kwrd">new</span> StringBuilder();</pre>
          <pre>
            <span class="lnum"> 76: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 77: </span> bodyOfLetter.Append(<span class="str">"<p>
Dear Tom
</p>
"</span>);</pre>
          <pre>
            <span class="lnum"> 78: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 79: </span> bodyOfLetter.Append(<span class="str">"<p>
How are you? I'm sending you a letter via the PC2Paper API
</p>
"</span>);</pre>
          <pre>
            <span class="lnum"> 80: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 81: </span> bodyOfLetter.Append(<span class="str">"<p>
Regards,<br />
Peter
</p>
"</span>);</pre>
          <pre>
            <span class="lnum"> 82: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 83: </span> letter.LetterBody = bodyOfLetter.ToString();</pre>
          <pre>
            <span class="lnum"> 84: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 85: </span>
            <span class="rem">// delete this
line if you only wish to send a cover letter</span>
          </pre>
          <pre>
            <span class="lnum"> 86: </span> letter.FileAttachementGUIDs = <span class="kwrd">new</span><span class="kwrd">string</span>[]
{ uploadDocumentResults.FileCreatedGUID};</pre>
          <pre class="alt">
            <span class="lnum"> 87: </span>
          </pre>
          <pre>
            <span class="lnum"> 88: </span> var letterSendingResult = pc2PaperAPI.SendSubmitLetterForPosting(letter,
username, password);</pre>
          <pre class="alt">
            <span class="lnum"> 89: </span>
          </pre>
          <pre>
            <span class="lnum"> 90: </span> Console.WriteLine(<span class="str">"Result:"</span> +
letterSendingResult.Status + <span class="str">" with letter id:"</span> + letterSendingResult.LetterId);</pre>
          <pre class="alt">
            <span class="lnum"> 91: </span>
          </pre>
          <pre>
            <span class="lnum"> 92: </span> }</pre>
          <pre class="alt">
            <span class="lnum"> 93: </span>
          </pre>
          <pre>
            <span class="lnum"> 94: </span>
            <span class="kwrd">static</span>
            <span class="kwrd">byte</span>[]
LoadBinaryFileAsByteArray(<span class="kwrd">string</span> filename)</pre>
          <pre class="alt">
            <span class="lnum"> 95: </span> {</pre>
          <pre>
            <span class="lnum"> 96: </span> var binReader = <span class="kwrd">new</span></pre>
          <pre class="alt">
            <span class="lnum"> 97: </span> BinaryReader(File.Open(filename,
FileMode.Open,</pre>
          <pre>
            <span class="lnum"> 98: </span> FileAccess.Read));</pre>
          <pre class="alt">
            <span class="lnum"> 99: </span> binReader.BaseStream.Position = 0;</pre>
          <pre>
            <span class="lnum"> 100: </span>
            <span class="kwrd">byte</span>[] binFile =</pre>
          <pre class="alt">
            <span class="lnum"> 101: </span> binReader.ReadBytes(Convert.ToInt32(binReader.BaseStream.Length));</pre>
          <pre>
            <span class="lnum"> 102: </span> binReader.Close();</pre>
          <pre class="alt">
            <span class="lnum"> 103: </span>
          </pre>
          <pre>
            <span class="lnum"> 104: </span>
            <span class="kwrd">return</span> binFile;</pre>
          <pre class="alt">
            <span class="lnum"> 105: </span> }</pre>
          <pre>
            <span class="lnum"> 106: </span>
          </pre>
          <pre class="alt">
            <span class="lnum"> 107: </span> }</pre>
          <pre>
            <span class="lnum"> 108: </span>}</pre>
        </div>
        <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
        </p>
        <p>
If you have any questions, please let us know.
</p>
      </body>
      <title>PC2Paper SOAP Letter API v1.0 beta</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,9f5c80c4-4a76-446b-84ac-117244726334.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,9f5c80c4-4a76-446b-84ac-117244726334.aspx</link>
      <pubDate>Mon, 05 Aug 2013 22:01:56 GMT</pubDate>
      <description>&lt;p&gt;
We've just released a beta version of our new SOAP API which harnesses many of the
features found in our recently launched Letter 2.0 writing interface.
&lt;/p&gt;
&lt;p&gt;
The API enables you to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Send the same letter to multiple recipient 
&lt;/li&gt;
&lt;li&gt;
Attach multiple PDF's to a letter 
&lt;/li&gt;
&lt;li&gt;
Add a cover (written in HTML) with or without PDF's 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
More documentation will follow soon, but for now here is an example for using the
API.
&lt;/p&gt;
&lt;p&gt;
The endpoint for the service can be found here &lt;a href="https://www.pc2paper.co.uk/lettercustomerapi.svc"&gt;https://www.pc2paper.co.uk/lettercustomerapi.svc&lt;/a&gt; 
&lt;br /&gt;
to access the WSDL simply go here &lt;a href="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl"&gt;https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Please note the service endpoint talks about &lt;strong&gt;svcutil.exe&lt;/strong&gt;, this is
only applicable to Microsoft WCF users. Please also note that SOAP is a widely used
XML-based protocol, it is assumed at all times that the developer is aware of SOAP
or has used it. It is beyond the scope of this article to explain SOAP. If you are
using .NET you can take advantage of the features available to you in WCF, if not
you can still use the service as a bog standard soap service from any of the popular
languages such as PHP, C#, Ruby, Delphi, Java etc. by just using the WSDL (&lt;a href="https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl"&gt;https://www.pc2paper.co.uk/lettercustomerapi.svc?wsdl&lt;/a&gt; )
&lt;/p&gt;
&lt;p&gt;
The example in this article uses C#, we will cover using the service from other languages
in future, for now here are some links about SOAP in those languages.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
PHP - &lt;a href="http://php.net/manual/en/book.soap.php"&gt;http://php.net/manual/en/book.soap.php&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Java - &lt;a href="http://axis.apache.org/axis/index.html"&gt;http://axis.apache.org/axis/index.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
RUBY - &lt;a href="https://github.com/rubiii/savon"&gt;https://github.com/rubiii/savon&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The following example illustrates how to upload a PDF attachment and write a cover
letter with our new API the sample below is in C# using Visual Studio .NET. More examples
in other languages will follow.
&lt;/p&gt;
&lt;p&gt;
Firstly add a new service reference to your project, ensure you use https in the service
address as below.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.pc2paper.org/content/binary/Windows-Live-Writer/PC2Paper-Letter-SOAP_13E3C/image_2.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://www.pc2paper.org/content/binary/Windows-Live-Writer/PC2Paper-Letter-SOAP_13E3C/image_thumb.png" width="414" height="339" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The code for the example is below. As with our other interfaces, in order to get the
correct envelope, paper, print type and postage type please refer to our &lt;a href="http://www.pc2paper.co.uk/LetterPricingAPI.pdf" target="_blank"&gt;Letter
Pricing API&lt;/a&gt; or contact us with your requirements and we will be more than happy
to provide suitable values for you.
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 1: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 2: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 3: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 4: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; PC2PaperLetterCustomerAPIExample.PC2PaperAPI;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 5: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 6: &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; PC2PaperLetterCustomerAPIExample&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 7: &lt;/span&gt;{&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 8: &lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 9: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 10: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 11: &lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main()&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 12: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 13: &lt;/span&gt; SendLetter();&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 14: &lt;/span&gt; }&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 15: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 16: &lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; SendLetter()&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 17: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 18: &lt;/span&gt; &lt;span class="rem"&gt;//Your PC2Paper username and
password go here.&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 19: &lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; username
= &lt;span class="str"&gt;"yourusername"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 20: &lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; password = &lt;span class="str"&gt;"yourpassword"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 21: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 22: &lt;/span&gt; var pc2PaperAPI = &lt;span class="kwrd"&gt;new&lt;/span&gt; PC2PaperAPI.LetterCustomerAPIClient();&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 23: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 24: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 25: &lt;/span&gt; &lt;span class="rem"&gt;//1. First we upload
the files we want to attach to our letter&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 26: &lt;/span&gt; &lt;span class="rem"&gt;// If you don't want to attach
any files you can leave this step out.&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 27: &lt;/span&gt; &lt;span class="rem"&gt;// NOTE: You can
also upload files async if using WCF Async methods are enables so you don't hang a
UI thread for example.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 28: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 29: &lt;/span&gt; &lt;span class="rem"&gt;// You can add
as many PDF's as you want in this way. Just remember to grab the GUID's from each
submit to the server.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 30: &lt;/span&gt; &lt;span class="rem"&gt;// below we are only attaching
one.&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 31: &lt;/span&gt; var fileContent =&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 32: &lt;/span&gt; LoadBinaryFileAsByteArray(&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 33: &lt;/span&gt; &lt;span class="str"&gt;@"c:\temp\testPDF.pdf"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 34: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 35: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 36: &lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; fileName = &lt;span class="str"&gt;"testPDF.pdf"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 37: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 38: &lt;/span&gt; var uploadDocumentResults = pc2PaperAPI.UploadDocument(fileName,
fileContent, username, password);&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 39: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 40: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 41: &lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt;(uploadDocumentResults.Status!=&lt;span class="str"&gt;"OK"&lt;/span&gt;)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 42: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 43: &lt;/span&gt; &lt;span class="rem"&gt;// Oops an error
took place.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 44: &lt;/span&gt; Console.WriteLine(uploadDocumentResults.ErrorMessages.ToString());&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 45: &lt;/span&gt; &lt;span class="kwrd"&gt;return&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 46: &lt;/span&gt; }&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 47: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 48: &lt;/span&gt; &lt;span class="rem"&gt;//2. Create a letter to attach
out PDF to.&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 49: &lt;/span&gt; var letter = &lt;span class="kwrd"&gt;new&lt;/span&gt; LetterForPosting();&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 50: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 51: &lt;/span&gt; letter.Addresses = &lt;span class="kwrd"&gt;new&lt;/span&gt; LetterAddressForPosting[]&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 52: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 53: &lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; LetterAddressForPosting()&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 54: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 55: &lt;/span&gt; ReceiverName = &lt;span class="str"&gt;"Tom
Smith"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 56: &lt;/span&gt; ReceiverAddressLine1 = &lt;span class="str"&gt;"Acme
Co"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 57: &lt;/span&gt; ReceiverAddressLine2 = &lt;span class="str"&gt;"2
Acme Street"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 58: &lt;/span&gt; ReceiverAddressTownCityOrLine3 = &lt;span class="str"&gt;"Acme
Town"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 59: &lt;/span&gt; ReceiverAddressCountyStateOrLine4
= &lt;span class="str"&gt;"State"&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 60: &lt;/span&gt; ReceiverAddressPostCode = &lt;span class="str"&gt;"ZN12
9xn"&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 61: &lt;/span&gt; }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 62: &lt;/span&gt; };&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 63: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 64: &lt;/span&gt; letter.ReceiverCountryCode = 1;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 65: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 66: &lt;/span&gt; letter.Envelope = 1;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 67: &lt;/span&gt; letter.Postage = 3; &lt;span class="rem"&gt;//UK
First Class&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 68: &lt;/span&gt; letter.Paper = 1;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 69: &lt;/span&gt; letter.Extras = 0;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 70: &lt;/span&gt; letter.SenderAddress = &lt;span class="str"&gt;"Peter
Smith\n 72 Some Road \n Some Town \n P23 123"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 71: &lt;/span&gt; letter.Pages = 1;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 72: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 73: &lt;/span&gt; &lt;span class="rem"&gt;// We are also
putting a cover letter onto our letter. (The cover letter will always be in front)&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 74: &lt;/span&gt; &lt;span class="rem"&gt;// Leave the LetterBody line
out if you do not wish to include one.&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 75: &lt;/span&gt; var bodyOfLetter = &lt;span class="kwrd"&gt;new&lt;/span&gt; StringBuilder();&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 76: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 77: &lt;/span&gt; bodyOfLetter.Append(&lt;span class="str"&gt;"&lt;p&gt;
Dear Tom
&lt;/p&gt;
"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 78: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 79: &lt;/span&gt; bodyOfLetter.Append(&lt;span class="str"&gt;"&lt;p&gt;
How are you? I'm sending you a letter via the PC2Paper API
&lt;/p&gt;
"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 80: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 81: &lt;/span&gt; bodyOfLetter.Append(&lt;span class="str"&gt;"&lt;p&gt;
Regards,&lt;br /&gt;
Peter
&lt;/p&gt;
"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 82: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 83: &lt;/span&gt; letter.LetterBody = bodyOfLetter.ToString();&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 84: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 85: &lt;/span&gt; &lt;span class="rem"&gt;// delete this
line if you only wish to send a cover letter&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 86: &lt;/span&gt; letter.FileAttachementGUIDs = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[]
{ uploadDocumentResults.FileCreatedGUID};&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 87: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 88: &lt;/span&gt; var letterSendingResult = pc2PaperAPI.SendSubmitLetterForPosting(letter,
username, password);&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 89: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 90: &lt;/span&gt; Console.WriteLine(&lt;span class="str"&gt;"Result:"&lt;/span&gt; +
letterSendingResult.Status + &lt;span class="str"&gt;" with letter id:"&lt;/span&gt; + letterSendingResult.LetterId);&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 91: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 92: &lt;/span&gt; }&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 93: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 94: &lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;byte&lt;/span&gt;[]
LoadBinaryFileAsByteArray(&lt;span class="kwrd"&gt;string&lt;/span&gt; filename)&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 95: &lt;/span&gt; {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 96: &lt;/span&gt; var binReader = &lt;span class="kwrd"&gt;new&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 97: &lt;/span&gt; BinaryReader(File.Open(filename,
FileMode.Open,&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 98: &lt;/span&gt; FileAccess.Read));&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 99: &lt;/span&gt; binReader.BaseStream.Position = 0;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 100: &lt;/span&gt; &lt;span class="kwrd"&gt;byte&lt;/span&gt;[] binFile =&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 101: &lt;/span&gt; binReader.ReadBytes(Convert.ToInt32(binReader.BaseStream.Length));&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 102: &lt;/span&gt; binReader.Close();&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 103: &lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 104: &lt;/span&gt; &lt;span class="kwrd"&gt;return&lt;/span&gt; binFile;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 105: &lt;/span&gt; }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 106: &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 107: &lt;/span&gt; }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt; 108: &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
If you have any questions, please let us know.
&lt;/p&gt;</description>
      <category>Developers</category>
    </item>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=ad196757-3453-4cc0-b0d6-2853359581fa</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,ad196757-3453-4cc0-b0d6-2853359581fa.aspx</pingback:target>
      <dc:creator>Lora Tyler</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The PC2Paper API documentation has been updated to version 3. The API now enables
you to associate costs from our Letter Pricing API with letters. There is also a .NET
C# example of how to use the XML RPC interface for sending PDF documents.
</p>
        <p>
To find out more <a href="http://www.pc2paper.co.uk/apis.asp" target="_blank">click
here..</a></p>
      </body>
      <title>PC2Paper API Version 3 update</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,ad196757-3453-4cc0-b0d6-2853359581fa.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,ad196757-3453-4cc0-b0d6-2853359581fa.aspx</link>
      <pubDate>Mon, 04 May 2009 14:27:07 GMT</pubDate>
      <description>&lt;p&gt;
The PC2Paper API documentation has been updated to version 3. The API now enables
you to associate costs from our Letter Pricing API with letters. There is also a .NET
C# example of how to use the XML RPC interface for sending PDF documents.
&lt;/p&gt;
&lt;p&gt;
To find out more &lt;a href="http://www.pc2paper.co.uk/apis.asp" target="_blank"&gt;click
here..&lt;/a&gt;
&lt;/p&gt;</description>
      <category>Developers</category>
      <category>PC2Paper API</category>
    </item>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=b8c8f185-2762-415c-a6df-44c7af50c609</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,b8c8f185-2762-415c-a6df-44c7af50c609.aspx</pingback:target>
      <dc:creator>Rob Forber</dc:creator>
      <title>PC2Paper Letter Pricing API released</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,b8c8f185-2762-415c-a6df-44c7af50c609.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,b8c8f185-2762-415c-a6df-44c7af50c609.aspx</link>
      <pubDate>Fri, 12 Dec 2008 17:43:41 GMT</pubDate>
      <description>PC2Paper have released a new Letter Pricing API.</description>
      <category>Developers</category>
      <category>News</category>
      <category>PC2Paper API</category>
    </item>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=ab26da73-29dc-4650-a304-dc592b7f10d5</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,ab26da73-29dc-4650-a304-dc592b7f10d5.aspx</pingback:target>
      <dc:creator>Lora Tyler</dc:creator>
      <title>PC2Paper Developers</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,ab26da73-29dc-4650-a304-dc592b7f10d5.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,ab26da73-29dc-4650-a304-dc592b7f10d5.aspx</link>
      <pubDate>Sat, 18 Aug 2007 09:24:05 GMT</pubDate>
      <description>We have now launched a Developer API section...</description>
      <category>Developers</category>
      <category>News</category>
      <category>PC2Paper API</category>
    </item>
    <item>
      <trackback:ping>https://www.pc2paper.org/Trackback.aspx?guid=d5f12cc9-d2f4-40ce-a354-4ede3ee545d4</trackback:ping>
      <pingback:server>https://www.pc2paper.org/pingback.aspx</pingback:server>
      <pingback:target>https://www.pc2paper.org/PermaLink,guid,d5f12cc9-d2f4-40ce-a354-4ede3ee545d4.aspx</pingback:target>
      <dc:creator>Karen Nutton</dc:creator>
      <title>PC2Paper API Interfaces</title>
      <guid isPermaLink="false">https://www.pc2paper.org/PermaLink,guid,d5f12cc9-d2f4-40ce-a354-4ede3ee545d4.aspx</guid>
      <link>https://www.pc2paper.org/PermaLink,guid,d5f12cc9-d2f4-40ce-a354-4ede3ee545d4.aspx</link>
      <pubDate>Wed, 09 May 2007 15:10:03 GMT</pubDate>
      <description>Integrate your business letter sending with PC2Paper</description>
      <category>Developers</category>
      <category>News</category>
      <category>PC2Paper API</category>
    </item>
  </channel>
</rss>