Examples
The following page covers various examples of connectors you can build with the JSON API tool. Some show read only, and some show reading and writing.
If after looking through the examples you're still uncertain on how you would do something, please reach out to us using our support@simego.com email.
OAuth2 Authorization Code with Certificate Flow
This example shows connecting to the Dynamics CRM/Dataverse API using OAuth2 client_credentials flow authenticated with a certificate thumbprint rather than a client secret.
It also demonstrates OData V4 paging using PagingRequest with a next-path to follow the @odata.nextLink URL returned in each response.
<Connector name="Dynamics365" description="" version="1.0">
<Authentication>
<HttpHeader name="OData-Version" value="4.0" />
<HttpHeader name="OData-MaxVersion" value="4.0" />
<HttpHeader name="Prefer" value="odata.maxpagesize=10" />
<OAuth2 token-url="https://login.microsoftonline.com/3a7b2c91-f4e8-4d3b-a17c-8e5f09d62b1a/oauth2/v2.0/token" client-id="b84f1d62-09e3-4a5c-b291-7d3e80f14c27" grant-type="client_credentials" scope="https://instance.api.crm4.dynamics.com/.default" thumbprint="A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2" />
</Authentication>
<Datasources>
<Datasource name="accounts">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="accountid" data-type="System.Guid" />
<Column name="name" data-type="System.String" />
<Column name="etag" data-type="System.String" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest path="value" next="https://instance.api.crm4.dynamics.com/api/data/v9.2/accounts?$select=accountid,name" next-path="$.['@odata.nextLink']">
<Fetch url="{PagingRequest.Next}">
<DataTableTransform path="value">
<ColumnMap path="$.['@odata.etag']" to="etag" />
</DataTableTransform>
</Fetch>
</PagingRequest>
</Action>
</Datasource>
</Datasources>
</Connector>
Simple Connector - Sunrise and Sunset
The below connector example shows connecting to a simple API for returning sunrise and sunset data for a longitude and latitude.
<Connector name="Sunrise and Sunset" description="Returns the sunrise and sunset for a longitude and latitude." version="1.0">
<Parameters>
<Parameter name="url" value="https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400" />
</Parameters>
<Datasources>
<Datasource name="Sunset-Sunrise">
<Actions>
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="sunrise" type="System.String" />
<Column name="sunset" type="System.String" />
<Column name="solar_noon" type="System.String" />
<Column name="day_length" type="System.String" />
<Column name="civil_twilight_begin" type="System.String" />
<Column name="civil_twilight_end" type="System.String" />
<Column name="nautical_twilight_begin" type="System.String" />
<Column name="nautical_twilight_end" type="System.String" />
<Column name="astronomical_twilight_begin" type="System.String" />
<Column name="astronomical_twilight_end" type="System.String" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<Fetch method="GET" url="{url}">
<DataTableTransform path="results" />
</Fetch>
</Action>
</Actions>
</Datasource>
</Datasources>
</Connector>
Graph API
The below example shows querying the Microsoft Graph API using OAuth2 authorization_code flow. It includes two datasources: reading a list of users via a GET request, and retrieving calendar availability via a POST request to the getSchedule endpoint — demonstrating how to post body content to the Graph API.
<Connector name="MS Graph API" description="Test querying Graph API via JSON API" version="1.0">
<Parameters>
<Parameter name="url" value="https://graph.microsoft.com/beta" />
<Parameter name="authorize-url" value="https://login.microsoftonline.com/3a7b2c91-f4e8-4d3b-a17c-8e5f09d62b1a/oauth2/v2.0/authorize" />
<Parameter name="token-url" value="https://login.microsoftonline.com/3a7b2c91-f4e8-4d3b-a17c-8e5f09d62b1a/oauth2/v2.0/token" />
<Parameter name="client-id" value="b84f1d62-09e3-4a5c-b291-7d3e80f14c27" />
<Parameter name="client-secret" value="" />
<Parameter name="scope" value="https://graph.microsoft.com/.default offline_access" />
</Parameters>
<Authentication>
<OAuth2 authorise-url="{authorize-url}" token-url="{token-url}" client-id="{client-id}" client-secret="{client-secret}" grant-type="authorization_code" scope="{scope}" prompt="select_account" />
<HttpHeader name="OData-Version" value="4.0" />
<HttpHeader name="OData-MaxVersion" value="4.0" />
</Authentication>
<Datasources>
<Datasource name="users">
<Actions>
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="id" type="System.String" />
<Column name="givenName" type="System.String" />
<Column name="mail" type="System.String" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<Fetch method="GET" url="{url}/users">
<DataTableTransform path="value" />
</Fetch>
</Action>
</Actions>
</Datasource>
<Datasource name="getSchedule">
<Actions>
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="scheduleId" type="System.String" />
<Column name="scheduleItems" type="JToken" />
<Column name="workingHours" type="JToken" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<Fetch method="POST" url="{url}/me/calendar/getSchedule">
<BodyContent content-type="application/json">
{"schedules": ["sean@simego.com"],
"startTime": {
"dateTime": "2019-03-15T09:00:00",
"timeZone": "Pacific Standard Time"
},
"endTime": {
"dateTime": "2019-03-15T18:00:00",
"timeZone": "Pacific Standard Time"
},
"availabilityViewInterval": 60}
</BodyContent>
<DataTableTransform path="value" />
</Fetch>
</Action>
</Actions>
</Datasource>
</Datasources>
</Connector>
OData V4
This example shows how to connect to a simple OData V4 feed. It also demonstrates how to use ColumnMap to extract a value from a nested JSON object — in this case pulling the street address out of the AddressInfo array into a flat AddressLine1 column.
<Connector name="ODataV4 Sample" description="Connect to an OData V4 Feed" version="1.0">
<Parameters>
</Parameters>
<Datasources>
<Datasource name="People">
<Actions>
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="UserName" type="System.String" unique="true" allownull="false" />
<Column name="FirstName" type="System.String" length="255" />
<Column name="LastName" type="System.String" />
<Column name="Emails" type="JArray" />
<Column name="AddressLine1" type="System.String" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<Fetch method="GET" url="https://services.odata.org/TripPinRESTierService/People">
<DataTableTransform path="value">
<ColumnMap path="AddressInfo[0].Address" to="AddressLine1" />
</DataTableTransform>
</Fetch>
</Action>
</Actions>
</Datasource>
</Datasources>
</Connector>
Read from a File
This example shows how to read data directly from a local JSON file using ReadFile instead of making an API request.
It covers two patterns: a straightforward flat read where the JSON maps directly to columns, and capturing the raw JSON token into a JToken column for scenarios where you need to preserve or process nested data.
<Connector name="My_API" description="" version="1.0">
<Datasources>
<Datasource name="fxrates">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="Currency" data-type="System.String" key="true" />
<Column name="Rate" data-type="System.Decimal" />
<Column name="__json" data-type="JToken" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<ReadFile path="fxrates.json">
<DataTableTransform>
<ColumnMap path="$" to="__json" />
</DataTableTransform>
</ReadFile>
</Action>
</Datasource>
</Datasources>
</Connector>
Reading Data from SharePoint OData V4
This example shows how to read list data from SharePoint Online via its OData V4 feed.
It uses OAuth2 authorization_code flow with a SharePoint-specific scope, and sets the required OData-Version and OData-MaxVersion headers.
The static schema map reflects the full set of system columns returned by the SharePoint API.
<Connector name="SharePoint OData" description="Connect to an OData V4 Feed" version="1.0">
<Parameters>
<Parameter name="url" value="https://company.sharepoint.com/test/_api/lists/funds/items" />
</Parameters>
<Authentication>
<OAuth2 authorise-url="https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize" token-url="https://login.microsoftonline.com/organizations/oauth2/v2.0/token" client-id="b84f1d62-09e3-4a5c-b291-7d3e80f14c27" grant-type="authorization_code" scope="https://company.sharepoint.com/AllSites.Manage" prompt="select_account" />
<HttpHeader name="OData-Version" value="4.0" />
<HttpHeader name="OData-MaxVersion" value="4.0" />
</Authentication>
<Datasources>
<Datasource name="funds">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="@odata.type" data-type="System.String" />
<Column name="@odata.id" data-type="System.Guid" />
<Column name="@odata.etag" data-type="System.String" />
<Column name="@odata.editLink" data-type="System.String" />
<Column name="FileSystemObjectType" data-type="System.Int32" />
<Column name="ID" data-type="System.Int32" />
<Column name="ServerRedirectedEmbedUri" data-type="System.Int32" />
<Column name="ServerRedirectedEmbedUrl" data-type="System.String" />
<Column name="ContentTypeId" data-type="System.String" />
<Column name="OData__ColorTag" data-type="System.Int32" />
<Column name="ComplianceAssetId" data-type="System.Int32" />
<Column name="Title" data-type="System.String" />
<Column name="Funds_x0020_Control_x0020_AreaId" data-type="System.Int32" />
<Column name="Created" data-type="System.DateTime" />
<Column name="AuthorId" data-type="System.Int32" />
<Column name="Modified" data-type="System.DateTime" />
<Column name="EditorId" data-type="System.Int32" />
<Column name="OData__CopySource" data-type="System.Int32" />
<Column name="CheckoutUserId" data-type="System.Int32" />
<Column name="OData__UIVersionString" data-type="System.Decimal" />
<Column name="GUID" data-type="System.Guid" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<Fetch url="{url}">
<TraceElement />
<DataTableTransform path="value" />
</Fetch>
</Action>
</Datasource>
</Datasources>
</Connector>
Reading from the Simego Webstore (Ouvvi Demo Site)
TThis example shows reading data from our Ouvvi demo site. It demonstrates two key techniques: paging using PagingRequest with a page counter and a nextpage path, and dynamic schema where the schema is fetched directly from the API using a ForEach loop to build the column list rather than defining it statically.
<Connector name="Simego Web API Connector" description="Connect to Simego Web API" version="1.0">
<Parameters>
<Parameter name="URL" value="https://demo.online.simego.com" />
<Parameter name="PageSize" value="10" />
<Parameter name="ClientID" value="demo" />
<Parameter name="ClientSecret" value="simego" />
</Parameters>
<Authentication>
<OAuth2 token-url="{URL}/oauth/token" client-id="{ClientID}" client-secret="{ClientSecret}" grant-type="client_credentials" scope="" />
</Authentication>
<Datasources>
<Datasource name="Products">
<Action name="GetDataSchema">
<Fetch url="{URL}/app/list/{Datasource.Name}/Schema">
<ForEach path="Columns">
<Column name="$Name" datatype="$DataType" allownull="$AllowNull" length="$MaxLength" unique="$Unique" />
</ForEach>
</Fetch>
</Action>
<Action name="GetDataTable">
<PagingRequest path="data" start="1" next-path="nextpage">
<Fetch url="{URL}/app/list/{Datasource.Name}?limit={PageSize}&page={PagingRequest.Page}">
<DataTableTransform path="data" />
</Fetch>
</PagingRequest>
</Action>
</Datasource>
<Datasource name="Suppliers">
<Action name="GetDataSchema">
<Fetch url="{URL}/app/list/{Datasource.Name}/Schema">
<ForEach path="Columns">
<Column name="$Name" datatype="$DataType" allownull="$AllowNull" length="$MaxLength" unique="$Unique" />
</ForEach>
</Fetch>
</Action>
<Action name="GetDataTable">
<PagingRequest path="data" start="1" next-path="nextpage">
<Fetch url="{URL}/app/list/{Datasource.Name}?limit={PageSize}&page={PagingRequest.Page}">
<DataTableTransform path="data" />
</Fetch>
</PagingRequest>
</Action>
</Datasource>
</Datasources>
</Connector>
Two-Step Requests With Paging (OAuth2)
This example shows connecting to a REST API using OAuth2 authentication with two requests. First it returns a list of suppliers, then it loops through the suppliers and returns a list of products for each supplier.
<Connector name="Simego Web API Connector" description="Connect to Simego Web API" version="1.0">
<Parameters>
<Parameter name="URL" value="https://demo.online.simego.com" />
<Parameter name="PageSize" value="10" />
<Parameter name="ClientID" value="demo" />
<Parameter name="ClientSecret" value="simego" />
</Parameters>
<Authentication>
<OAuth2 token-url="{URL}/oauth/token" client-id="{ClientID}" client-secret="{ClientSecret}" grant-type="client_credentials" />
</Authentication>
<Datasources>
<Datasource name="Products">
<Action name="GetDataSchema">
<!-- Define Static Schema for this Datasource -->
<StaticSchemaMap>
<Column name="ProductID" data-type="System.Int32" />
<Column name="SupplierID" data-type="System.Int32" />
<Column name="ProductName" data-type="System.String" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<!-- First get a List of Supplier ID values -->
<Fetch url="{URL}/app/list/suppliers?columns=SupplierID&limit=1000">
<!-- For Each SupplierID get the related Products -->
<ForEach path="data">
<!-- Handle Paging for the Product List -->
<PagingRequest path="data" start="1" next-path="nextpage">
<Fetch url="{URL}/app/list/products?filter=SupplierID%20eq%20{$SupplierID}&limit={PageSize}&page={PagingRequest.Page}">
<DataTableTransform path="data" />
</Fetch>
</PagingRequest>
</ForEach>
</Fetch>
</Action>
</Datasource>
</Datasources>
</Connector>
Paged Read and Write API Connection
This example shows four different strategies for handling paging when reading from an API, as well as how to configure the default writer to add, update, and delete records.
The four paging strategies covered are: next page (following a URL returned in the response), indexed (using start and end index values), skip and take (incrementing by a count offset), and page counter (incrementing a page number with a next page token). Each datasource also demonstrates a different writer configuration using AddItem, UpdateItem, and DeleteItem with POST, PUT, and DELETE methods respectively.
<Connector name="PagedAPI_Test" description="" version="1.0">
<Parameters>
<Parameter name="URL" value="http://myapi.com" />
<Parameter name="PageSize" value="10" />
</Parameters>
<Authentication></Authentication>
<Datasources>
<Datasource name="products_next_path">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="ProductID" data-type="System.Int32" />
<Column name="ProductName" data-type="System.String" />
<Column name="SupplierID" data-type="System.Int32" />
<Column name="CategoryID" data-type="System.Int32" />
<Column name="QuantityPerUnit" data-type="System.String" />
<Column name="UnitPrice" data-type="System.Decimal" />
<Column name="UnitsInStock" data-type="System.Int32" />
<Column name="UnitsOnOrder" data-type="System.Int32" />
<Column name="ReorderLevel" data-type="System.Int32" />
<Column name="Discontinued" data-type="System.Boolean" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest path="data" next="{URL}/PagedApi?limit={PageSize}" next-path="next">
<Fetch url="{PagingRequest.Next}">
<DataTableTransform path="data" />
</Fetch>
</PagingRequest>
</Action>
</Datasource>
<Datasource name="products_indexed">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="ProductID" data-type="System.Int32" />
<Column name="ProductName" data-type="System.String" />
<Column name="SupplierID" data-type="System.Int32" />
<Column name="CategoryID" data-type="System.Int32" />
<Column name="QuantityPerUnit" data-type="System.String" />
<Column name="UnitPrice" data-type="System.Decimal" />
<Column name="UnitsInStock" data-type="System.Int32" />
<Column name="UnitsOnOrder" data-type="System.Int32" />
<Column name="ReorderLevel" data-type="System.Int32" />
<Column name="Discontinued" data-type="System.Boolean" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest page-size="{PageSize}">
<Fetch url="http://myapi.com/IndexPagedApi?startIndex={PagingRequest.StartPageIndex}&endIndex={PagingRequest.EndPageIndex}">
<DataTableTransform path="" />
</Fetch>
</PagingRequest>
</Action>
</Datasource>
<Datasource name="products_skip_and_take">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="ProductID" data-type="System.Int32" />
<Column name="ProductName" data-type="System.String" />
<Column name="SupplierID" data-type="System.Int32" />
<Column name="CategoryID" data-type="System.Int32" />
<Column name="QuantityPerUnit" data-type="System.String" />
<Column name="UnitPrice" data-type="System.Decimal" />
<Column name="UnitsInStock" data-type="System.Int32" />
<Column name="UnitsOnOrder" data-type="System.Int32" />
<Column name="ReorderLevel" data-type="System.Int32" />
<Column name="Discontinued" data-type="System.Boolean" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest start="0" path="data">
<Fetch url="{URL}/ListApi?skip={PagingRequest.Count}&take={PageSize}">
<DataTableTransform path="data">
<IdentifierColumn data-type="System.Int32" path="ProductID" />
</DataTableTransform>
</Fetch>
</PagingRequest>
</Action>
<Writer name="Callback">
<AddItem url="{URL}/{Datasource.Name}/ListApi" />
<UpdateItem url="{URL}/{Datasource.Name}/ListApi/{Identifier0}" />
<DeleteItem url="{URL}/{Datasource.Name}/ListApi/{Identifier0}" />
</Writer>
</Datasource>
<Datasource name="products_counter">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="ProductID" data-type="System.Int32" />
<Column name="ProductName" data-type="System.String" />
<Column name="SupplierID" data-type="System.Int32" />
<Column name="CategoryID" data-type="System.Int32" />
<Column name="QuantityPerUnit" data-type="System.String" />
<Column name="UnitPrice" data-type="System.Decimal" />
<Column name="UnitsInStock" data-type="System.Int32" />
<Column name="UnitsOnOrder" data-type="System.Int32" />
<Column name="ReorderLevel" data-type="System.Int32" />
<Column name="Discontinued" data-type="System.Boolean" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest start="1" path="data">
<Fetch url="{URL}/PagedApi?limit={PageSize}&page={PagingRequest.Page}">
<DataTableTransform path="data">
<IdentifierColumn data-type="System.Int32" path="ProductID" />
</DataTableTransform>
</Fetch>
</PagingRequest>
</Action>
<Writer name="Default">
<AddItem method="POST" url="{URL}/ListApi" />
<UpdateItem method="PUT" url="{URL}/ListApi/{Identifier0}" />
<DeleteItem method="DELETE" url="{URL}/ListApi/{Identifier0}" />
</Writer>
</Datasource>
<Datasource name="products_next_page">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="ProductID" data-type="System.Int32" />
<Column name="ProductName" data-type="System.String" />
<Column name="SupplierID" data-type="System.Int32" />
<Column name="CategoryID" data-type="System.Int32" />
<Column name="QuantityPerUnit" data-type="System.String" />
<Column name="UnitPrice" data-type="System.Decimal" />
<Column name="UnitsInStock" data-type="System.Int32" />
<Column name="UnitsOnOrder" data-type="System.Int32" />
<Column name="ReorderLevel" data-type="System.Int32" />
<Column name="Discontinued" data-type="System.Boolean" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest path="data" start="1" next-path="nextpage">
<Fetch url="{URL}/PagedApi?limit={PageSize}&page={PagingRequest.Next}">
<DataTableTransform path="data">
<IdentifierColumn data-type="System.Int32" path="ProductID" />
</DataTableTransform>
</Fetch>
</PagingRequest>
</Action>
<Writer name="Default">
<AddItem method="POST" url="{URL}/ListApi" />
<UpdateItem method="PUT" url="{URL}/ListApi/{Identifier0}" />
<DeleteItem method="DELETE" url="{URL}/ListApi/{Identifier0}" />
</Writer>
</Datasource>
<Datasource name="products_next_page_token">
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="ProductID" data-type="System.Int32" />
<Column name="ProductName" data-type="System.String" />
<Column name="SupplierID" data-type="System.Int32" />
<Column name="CategoryID" data-type="System.Int32" />
<Column name="QuantityPerUnit" data-type="System.String" />
<Column name="UnitPrice" data-type="System.Decimal" />
<Column name="UnitsInStock" data-type="System.Int32" />
<Column name="UnitsOnOrder" data-type="System.Int32" />
<Column name="ReorderLevel" data-type="System.Int32" />
<Column name="Discontinued" data-type="System.Boolean" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest path="data" next-path="next">
<Fetch url="{URL}/TokenPagedApi?mode=1&limit={PageSize}&nextpagetoken={PagingRequest.Next}" remove-empty-query-params="true">
<DataTableTransform path="data">
<IdentifierColumn data-type="System.Int32" path="ProductID" />
</DataTableTransform>
</Fetch>
</PagingRequest>
</Action>
<Writer name="Default">
<AddItem method="POST" url="{URL}/ListApi" />
<UpdateItem method="PUT" url="{URL}/ListApi/{Identifier0}" />
<DeleteItem method="DELETE" url="{URL}/ListApi/{Identifier0}" />
</Writer>
</Datasource>
</Datasources>
</Connector>
Connecting to Paddle
An example of reading transaction data from Paddle's API. This example demonstrates POST-based authentication — rather than using a header token or OAuth flow, credentials are passed as form-encoded body parameters (vendor_id and vendor_auth_code) on each POST request to the Paddle API.
<Connector name="Paddle Connector" description="Connect to Paddle API" version="1.0">
<Parameters>
<Parameter name="vendor_id" value="" />
<Parameter name="vendor_auth_code" value="" />
<Parameter name="product_id" value="" />
</Parameters>
<Datasources>
<Datasource name="Products">
<Actions>
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="id" type="System.Int32" unique="true" allownull="false" />
<Column name="name" type="System.String" length="255" />
<Column name="description" type="System.String" />
<Column name="base_price" type="System.Decimal" />
<Column name="sale_price" type="System.Decimal" />
<Column name="currency" type="System.String" length="3" />
<Column name="icon" type="System.String" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<Fetch method="POST" url="https://vendors.paddle.com/api/2.0/product/get_products">
<Body contentType="application/x-www-form-urlencoded">
<Item name="vendor_id" value="{vendor_id}" />
<Item name="vendor_auth_code" value="{vendor_auth_code}" />
</Body>
<DataTableTransform path="response.products" />
</Fetch>
</Action>
</Actions>
</Datasource>
<Datasource name="Transactions">
<Actions>
<Action name="GetDataSchema">
<StaticSchemaMap>
<Column name="order_id" type="System.Int32" unique="true" allownull="false" />
<Column name="checkout_id" type="System.String" length="255" />
<Column name="email" type="System.String" length="500" />
<Column name="amount" type="System.Decimal" />
<Column name="currency" type="System.String" length="3" />
</StaticSchemaMap>
</Action>
<Action name="GetDataTable">
<PagingRequest path="response">
<Fetch method="POST" url="https://vendors.paddle.com/api/2.0/product/{product_id}/transactions?page={PagingRequest.Page}">
<Body contentType="application/x-www-form-urlencoded">
<Item name="vendor_id" value="{vendor_id}" />
<Item name="vendor_auth_code" value="{vendor_auth_code}" />
</Body>
<!--<TraceElement />-->
<DataTableTransform path="response">
<Map>
<ColumnMap path="user.email" to="email" />
</Map>
</DataTableTransform>
</Fetch>
</PagingRequest>
</Action>
</Actions>
</Datasource>
</Datasources>
</Connector>