- Joined
- Jan 29, 2018
- Messages
- 2
- Reaction score
- 0
I'm working on integrating with a custom app created in FileMaker Pro using the XML file. I would like some help with the authentication step.
FileMaker requires the header:
Content-Type "application/json”.
and a JSON payload via POST of the following variables:
[ "user" ;
[ "password" ;
[ "layout" ;
Here is the XML I"m using with edits to hide the actual data:
<Crm Name="CentralCommand" Version="1">
<Number Prefix="Off"/>
<Connection MaxConcurrentRequests="1"/>
<Parameters />
<Authentication Type="Scenario">
<Value>FMToken</Value>
</Authentication>
<Scenarios>
<Scenario id="FMToken">
<Request Url="https://fm.URL" RequestType="POST" Message="{"user":"userName","password":"Password","layout":"Client3cx"}" ResponseType="Json"/>
<Rules />
<Variables>
<Variable Name="token">token</Variable>
</Variables>
<Outputs>
<Output Type="HeaderName" Value="FM-Data-token"/>
<Output Type="HeaderValue" Value="[token]"/>
</Outputs>
</Scenario>
<Scenario>
<Request Url="https://fm.URL" RequestType="POST" Message="{"query":[{"cPhone3cx": "[Number]"}] }" ResponseType="Json"/>
<Rules />
<Variables>
<Variable Name="FirstName">data[0].fieldData.NameF</Variable>
<Variable Name="LastName">data[0].fieldData.NameL</Variable>
<Variable Name="Email">data[0].fieldData.Email</Variable>
<Variable Name="ClientID">data[0].fieldData.CLIENT::__ID</Variable>
<Variable Name="PhoneMobile">data[0].fieldData.PhoneMobile</Variable>
<Variable Name="PhoneBusiness">data[0].fieldData.PhoneWork</Variable>
<Variable Name="CompanyName">data[0].fieldData.CLIENT::ClientName</Variable>
</Variables>
<Outputs AllowEmpty="False">
<Output Type="FirstName" Value="[FirstName]" />
<Output Type="LastName" Value="[LastName]" />
<Output Type="Email" Value="" />
<Output Type="PhoneMobile" Value="[PhoneMobile]" />
<Output Type="PhoneBusiness" Value="[PhoneBusiness]" />
<Output Type="CompanyName" Value="[CompanyName]" />
<Output Type="ContactURL" Value="FMP://fm.URL]" />
</Outputs>
</Scenario>
</Scenarios>
</Crm>
Here's the log that I got when testing
2018/02/17 07:21:00.343|31310|0003|Trc|Request starting HTTP/1.0 GET [URL='http://tbd3cx.mn.3cx.us/api/CrmList/test?num=61228882626&ext=%3CExt%3E']http://domainName/api/CrmList/test?num=61228882626&ext=%3CExt%3E[/URL]
2018/02/17 07:21:00.346|31310|0003|Trc|AuthenticationScheme: Cookies was successfully authenticated.
2018/02/17 07:21:00.347|31310|0003|Trc|AuthenticationScheme: Cookies was successfully authenticated.
2018/02/17 07:21:00.349|31310|0003|Trc|Webclient was not authenticated. Failure message: No principal.
2018/02/17 07:21:00.349|31310|0003|Trc|Authorization was successful for user: voipadmin.
2018/02/17 07:21:00.350|31310|0003|Trc|Authorization was successful for user: voipadmin.
2018/02/17 07:21:00.351|31310|0003|Trc|Executing action method ManagementConsoleJS.Controllers.CrmListController.Test (ManagementConsoleJS) with arguments (61228882626, <Ext>) - ModelState is Valid
2018/02/17 07:21:00.352|31310|0003|Trc|Executing ObjectResult, writing value Microsoft.AspNetCore.Mvc.ControllerContext.
2018/02/17 07:21:00.352|31310|0003|Trc|Executed action ManagementConsoleJS.Controllers.CrmListController.Test (ManagementConsoleJS) in 5.5961ms
2018/02/17 07:21:00.352|31310|0003|Trc|Request finished in 9.6472ms 204
2018/02/17 07:28:33.841|31310|0014|Trc|Request starting HTTP/1.0 GET [URL='http://tbd3cx.mn.3cx.us/api/CrmList/test?num=6122802760&ext=%3CExt%3E']http://domainName/api/CrmList/test?num=6122802760&ext=%3CExt%3E[/URL]
2018/02/17 07:28:33.853|31310|0014|Trc|AuthenticationScheme: Cookies signed out.
2018/02/17 07:28:33.854|31310|0014|Trc|Request finished in 12.9816ms 401
FileMaker requires the header:
Content-Type "application/json”.
and a JSON payload via POST of the following variables:
[ "user" ;
[ "password" ;
[ "layout" ;
Here is the XML I"m using with edits to hide the actual data:
<Crm Name="CentralCommand" Version="1">
<Number Prefix="Off"/>
<Connection MaxConcurrentRequests="1"/>
<Parameters />
<Authentication Type="Scenario">
<Value>FMToken</Value>
</Authentication>
<Scenarios>
<Scenario id="FMToken">
<Request Url="https://fm.URL" RequestType="POST" Message="{"user":"userName","password":"Password","layout":"Client3cx"}" ResponseType="Json"/>
<Rules />
<Variables>
<Variable Name="token">token</Variable>
</Variables>
<Outputs>
<Output Type="HeaderName" Value="FM-Data-token"/>
<Output Type="HeaderValue" Value="[token]"/>
</Outputs>
</Scenario>
<Scenario>
<Request Url="https://fm.URL" RequestType="POST" Message="{"query":[{"cPhone3cx": "[Number]"}] }" ResponseType="Json"/>
<Rules />
<Variables>
<Variable Name="FirstName">data[0].fieldData.NameF</Variable>
<Variable Name="LastName">data[0].fieldData.NameL</Variable>
<Variable Name="Email">data[0].fieldData.Email</Variable>
<Variable Name="ClientID">data[0].fieldData.CLIENT::__ID</Variable>
<Variable Name="PhoneMobile">data[0].fieldData.PhoneMobile</Variable>
<Variable Name="PhoneBusiness">data[0].fieldData.PhoneWork</Variable>
<Variable Name="CompanyName">data[0].fieldData.CLIENT::ClientName</Variable>
</Variables>
<Outputs AllowEmpty="False">
<Output Type="FirstName" Value="[FirstName]" />
<Output Type="LastName" Value="[LastName]" />
<Output Type="Email" Value="" />
<Output Type="PhoneMobile" Value="[PhoneMobile]" />
<Output Type="PhoneBusiness" Value="[PhoneBusiness]" />
<Output Type="CompanyName" Value="[CompanyName]" />
<Output Type="ContactURL" Value="FMP://fm.URL]" />
</Outputs>
</Scenario>
</Scenarios>
</Crm>
Here's the log that I got when testing
2018/02/17 07:21:00.343|31310|0003|Trc|Request starting HTTP/1.0 GET [URL='http://tbd3cx.mn.3cx.us/api/CrmList/test?num=61228882626&ext=%3CExt%3E']http://domainName/api/CrmList/test?num=61228882626&ext=%3CExt%3E[/URL]
2018/02/17 07:21:00.346|31310|0003|Trc|AuthenticationScheme: Cookies was successfully authenticated.
2018/02/17 07:21:00.347|31310|0003|Trc|AuthenticationScheme: Cookies was successfully authenticated.
2018/02/17 07:21:00.349|31310|0003|Trc|Webclient was not authenticated. Failure message: No principal.
2018/02/17 07:21:00.349|31310|0003|Trc|Authorization was successful for user: voipadmin.
2018/02/17 07:21:00.350|31310|0003|Trc|Authorization was successful for user: voipadmin.
2018/02/17 07:21:00.351|31310|0003|Trc|Executing action method ManagementConsoleJS.Controllers.CrmListController.Test (ManagementConsoleJS) with arguments (61228882626, <Ext>) - ModelState is Valid
2018/02/17 07:21:00.352|31310|0003|Trc|Executing ObjectResult, writing value Microsoft.AspNetCore.Mvc.ControllerContext.
2018/02/17 07:21:00.352|31310|0003|Trc|Executed action ManagementConsoleJS.Controllers.CrmListController.Test (ManagementConsoleJS) in 5.5961ms
2018/02/17 07:21:00.352|31310|0003|Trc|Request finished in 9.6472ms 204
2018/02/17 07:28:33.841|31310|0014|Trc|Request starting HTTP/1.0 GET [URL='http://tbd3cx.mn.3cx.us/api/CrmList/test?num=6122802760&ext=%3CExt%3E']http://domainName/api/CrmList/test?num=6122802760&ext=%3CExt%3E[/URL]
2018/02/17 07:28:33.853|31310|0014|Trc|AuthenticationScheme: Cookies signed out.
2018/02/17 07:28:33.854|31310|0014|Trc|Request finished in 12.9816ms 401