VB.NET: Send A Letter With SendLetter()

Instructions

  1. Create a new Console Application project and add a web reference
  2. Copy the entire code below, delete anything written in your application and paste the code there
  3. 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.
  4. 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.
  5. 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