VB.NET: Send A Letter With SendLetter()
- Create a new Console Application project and add a web reference
- Copy the entire code below, delete anything written in your application and paste the code there
- Replace the values of the Const lines with your details:
- Replace MyUsername and MyPassword with your PostalMethods user details.
- Replace MyDescription with your own text to help you identify this letter in your activity log (optional).
- Replace MyFileExtension with the extension of the document you are using for this test.
- Replace MyPathToFile with a path to your test PDF file. Remember, for method SendLetter you must use a document where the recipient's address already appears so it will show through the envelope window. You can use one of our Sample Letter Documents.
- MyWorkMode determines if your letter will be sent as Production, Development or will use your user's default Work Mode setting. Read more about Production and Development Work Modes.
- Start your application. It will start, encode your document as Base64 and send a letter to the PostalMethods SendLetter Web Service method. If the response is a positive number, you will be able to see your letter in the PostalMethods Control Panel.
If the response is negative number, check the Web Service Status Codes section.
That's it - you have successfully sent a letter to PostalMethods. Congratulations.
Imports System.IO Module Module1 Sub Main() Const MyUsername As String = "MyUsername" Const MyPassword As String = "MyPassword" Const MyDescription As String = "Sending a letter using VB.NET" Const MyFileExtension As String = "pdf" Const MyPathToFile As String = "C:\MyFile.pdf" Const MyWorkMode As com.postalmethods.api.WorkMode = com.postalmethods.api.WorkMode.Default Dim objPM As New com.postalmethods.api.PostalWS() Dim lngResult As Long ' ' Read your binary document. In this example: C:\MyFile.pdf ' Dim objFR As FileStream objFR = New FileStream(MyPathToFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) Dim B(objFR.Length - 1) As Byte objFR.Read(B, 0, B.Length) objFR.Close() objFR = Nothing ' ' Invoke the SendLetter method ' lngResult = objPM.SendLetter( _ MyUsername, _ MyPassword, _ MyDescription, _ MyFileExtension, _ B, _ MyWorkMode) ' ' Check response status ' If lngResult > 0 Then ' ' A positive value means the message was successfully queued for processing. ' The PostalMethods Letter ID is returned. ' Console.WriteLine("LetterID is: " & lngResult) Else ' ' A negative value means an error occurred. ' See the PostalMethods Status Codes: http://www.postalmethods.com/statuscodes#webservice. ' Console.WriteLine("Error is:" & lngResult) End If ' In debug mode, the following lines prevent your console application from closing automatically upon termination Console.WriteLine("Hit ENTER to terminate application") Console.ReadLine() End Sub End Module