Exigo Web Services API v3.5.27

ProcessTransaction

Commits multiple requests in one step. All business rules are checked before commit and it is a commit-all or fail-all.

In your application, you may come across several instances where multiple method calls are needed to complete a single data entry.

An example of this may be you are creating a new customer, generating a new order, applying a new payment and setting up a new auto order. In this scenario, it would be undesirable to have saved the customer, saved the order, but when you went to apply the payment, you received an error. You would now have a half-committed transaction. If you corrected the issue with the payment then resubmitted from the start, you would now have duplicate customers and orders. Hence the need for transactional support.

This works by allowing you to create and post all your requests into a transactional "envelope". The server will then check all business rules before attempting to commit to the database. If all business rules pass, it then commits all data at once using a single database transaction. This guarantees that even if there is a sql exception, all will get rolled back cleanly. If an exception is encountered, you can safely correct the input that caused it and safely re-commit the request.

Input Properties

TransactionalRequest
PropertyData TypeNotes
TransactionRequestsApiRequest[]
ApiRequest
PropertyData TypeNotes

Output Properties

TransactionalResponse
PropertyData TypeNotes
TransactionResponsesApiResponse[]
ApiResponse
PropertyData TypeNotes

SOAP Request

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /3.0/ExigoApi.asmx HTTP/1.1
Host: api.exigo.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://api.exigo.com/ProcessTransaction"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ApiAuthentication xmlns="http://api.exigo.com/"> <LoginName>string</LoginName> <Password>string</Password> <Company>string</Company> <Identity>string</Identity> <RequestTimeUtc>dateTime</RequestTimeUtc> <Signature>string</Signature> </ApiAuthentication> </soap:Header> <soap:Body> <TransactionalRequest xmlns="http://api.exigo.com/"> <TransactionRequests> <ApiRequest /> </TransactionRequests> </TransactionalRequest> </soap:Body> </soap:Envelope>

SOAP Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ProcessTransactionResult xmlns="http://api.exigo.com/"> <TransactionResponses> <ApiResponse> <Result> <Status>Success or Failure</Status> <Errors> <string>string</string> </Errors> <TransactionKey>string</TransactionKey> </Result> </ApiResponse> </TransactionResponses> </ProcessTransactionResult> </soap:Body> </soap:Envelope>

C#

VB.Net

PHP

Note: PHP is not officially supported.

Java

Note: Java is not officially supported.

CSV

This method does not support csv output.