ColdFusion: Get The Status Of A Letter with GetStatus()

Instructions

  1. Make sure your ColdFusion environment is ready and create a new CFM page.
  2. Copy the entire code below and paste the code in the CFM page.
  3. Replace the values of the cfset lines with your details:
    • Replace MyUsername and MyPassword with your PostalMethods user details.
    • Replace MyResponseID with a single ID of one of your sent mail items, multiple IDs (ID1,ID2,ID3) or a range of IDs (ID1-ID2)
  4. Start your application. If the response is -3000, you will see the status report. If the response is any other number, check the Web Service Status Codes section.
<!--- /************* Settings  Begin ****************/ --->
 
<cfset webserviceUrl = 'https://api.postalmethods.com/2009-02-26/PostalWS.asmx?WSDL'>
<cfset MyUsername = 'MyUsername'>
<cfset MyPassword = 'MyPassword'>
<!---
	check documentation for GetStatus (http://www.postalmethods.com/method/2009-02-26/GetStatus)
--->
<cfset MyResponseID = 'MyResponseID'>
<!---
	for more details, check http://www.postalmethods.com/statuscodes#webservice
	-3000 means successfully received Web Service request
--->
<cfset ResultCodeOK = '-3000'>
 
<!--- /************* Settings  End ******************/ --->
 
<cfinvoke
	webservice="#webserviceUrl#"
	method="GetStatus"
	returnVariable="GetStatusResult">
		<cfinvokeargument name="Username" value="#MyUsername#">
		<cfinvokeargument name="Password" value="#MyPassword#">
		<cfinvokeargument name="Id" value="#MyResponseID#">
</cfinvoke>
 
 
<cfoutput>
<cfif GetStatusResult.getResultCode() eq ResultCodeOK>
 
	Transaction details for transactions <b>#MyResponseID#</b><br>
 
	<cfset resultItems = GetStatusResult.getStatuses().getLetterStatusAndDesc()>
	<cfloop from="1" to="#ArrayLen( resultItems )#" index="i">
		<cfset currentItem = resultItems[i]>
 
		ID:<b>#currentItem.getID()#</b><br>
		Status:<a href="http://www.postalmethods.com/resources/reference/status-codes"><b>#currentItem.getStatus()#</b></a><br>
		Description: <b>#currentItem.getDescription()#</b><br>
		LastUpdateTime:<b>#currentItem.getLastUpdateTime()#</b><br>
		<br>
	</cfloop>
<cfelse>
	GetStatus failed on error <a href="http://www.postalmethods.com/resources/reference/status-codes">#GetStatusResult.getResultCode()#</a>
</cfif>
 
</cfoutput>