Overview
This connector pulls transaction exports from Artez Interactive’s WebGet service and lands them in your data lake. Each run requests the next export file available for your organization, parses the XML payload, flattens key attributes, and stores several nested sections (e.g., payment, donation, tribute, monthly plan, constituent) as JSON. After a successful load in production, the connector confirms receipt to prevent the same file from being re-delivered.
Authentication & Setup
Required settings:
Organization ID (
organizationId)Username (
userName)Password (
password)App Environment (
app_env) — when set toproduction, the connector will acknowledge completed exportsXML Version — fixed to
xml1_9in requests
API Endpoints and HTTP Methods
Service endpoint:
Base URL:
https://secure.e2rm.com/webgetservice/export.asmx
getNextNewExportFile — GET
HTTP method:
GETURL:
https://secure.e2rm.com/webgetservice/export.asmx/getNextNewExportFilePurpose:
Pulls the next available export file from Artez Interactive. This is the main data-extraction call; the connector uses it to retrieve a batch of transactions to process into thetransactions_v2table.Parameters (query string):
organizationIduserNamepasswordXMLVersion(e.g.,xml1_9)
All parameters are sent as query parameters on the GET request (no request body). The response is XML and is parsed into transactions; if only a single <Transaction> is returned, the connector normalizes it into an array of one transaction before processing.
setExportIsSuccessful — GET
HTTP method:
GETURL:
https://secure.e2rm.com/webgetservice/export.asmx/setExportIsSuccessfulPurpose:
Acknowledges receipt of the export file that was just processed. This tells Artez Interactive that the export has been successfully consumed, so it won’t be returned again on subsequent calls. The connector only calls this method when running in the production environment and only if anexportIDwas present on the response.Parameters (query string):
organizationIduserNamepasswordexportID(theexportIDreturned bygetNextNewExportFile)
As with the export call, all parameters are sent as query string values on the GET request. No response body is used beyond basic success/failure.
Sync Strategy
Pull-next export workflow
Request the next file using
getNextNewExportFilewith your credentials andXMLVersion=xml1_9.Parse the payload. If the export contains a single
<Transaction>, it is normalized to a list so it can be processed uniformly.Write records to the destination.
Acknowledge in production: after processing, if an
exportIDwas returned andapp_env=production, callsetExportIsSuccessfulto confirm receipt. This prevents re-delivery of the same file.
Incrementality & state
The source queues exports; each call returns the next file, so incrementality is handled by the service itself.
When no file is available, the connector emits a
record_countmetric of 0 and exits the run. There is no local bookmark because the export acknowledgment is the deduplication mechanism.
Deletes
No delete propagation is emitted for these exports. The connector writes only the records present in the returned file(s).
Error handling & parsing
Non-200 responses raise a clear failure.
XML responses are parsed and, if needed, repaired and re-parsed to tolerate minor formatting issues.
The connector logs and surfaces minimal request context to aid troubleshooting.
Primary Keys & Indexes
Unique key (per record):
transactionidIndexed fields:
exportid,transactionid,eventid,locationid,locationtypeid,constituentid
These are used for identity, merge/upsert efficiency, and common filtering patterns.
Metrics
After each run, the connector emits a per-table record_count metric with the total number of records written. If no export file is available, the count is 0.
Known Limitations & Behavior
Single stream: the connector currently exposes only the
transactions_v2stream.No in-run pagination: export files are delivered whole by the service. If multiple transactions are present, each becomes a row.
Production acknowledgment: the receipt confirmation is only issued when
app_env=production. In non-production environments, files are processed but not acknowledged.Schema stability: the mapped column set is fixed in the connector; if Artez adds new nodes, they will not appear automatically without an update to the mapping.
Null semantics: if a mapped path points to a complex object/array (rather than a scalar), the value is written as
null. JSON blocks capture the nested detail as a whole.
Request Parameters (for reference)
Each request to the service includes:
organizationId,userName,password, and (for the fetch call)XMLVersion=xml1_9.On successful fetch, the response contains attributes like
exportIDandcount; the connector usesexportIDfor the production acknowledgment call.
