3CX API integration issue

basics

Silver Partner
Basic Certified
Joined
Mar 4, 2009
Messages
2
Reaction score
0
We have detected an anomaly on a CRM integration in development using the API and the 3CX integration wizard.

The issue is that we cannot receive the POST call from 3CX at the end of the call, the one that contains the return data of the conversation

I attach the markdown file with all the details of the problem

Thanks in advance for anyone who can provide us with some information
 

Attachments

Known issue with U6. ReportCall doesn't trigger if a lookup scenario didn't return any output.

Will be fixed in U7.
 
Thanks for reply
Do you have any date for the release of the U7 ?
 
Hi guys,

we have the same problem with a custom CRM template created form scratch.

we have tried to force a value for EntityID and EntityType but the ReportCall scenario didn't triger.

Part of our code is here:

XML:
  <Scenarios>
<Scenario Id="" Type="REST" EntityId="Contact" EntityOrder="">
<Request SkipIf="" Url="https://example.com/apirest/3cx/search.php?number=[Number]" MessagePasses="0" Message="" RequestContentType="" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
<Rules>
<Rule Type="Any" Ethalon="">contact.id</Rule>
</Rules>
<Variables>
<Variable Name="ContactID" LookupValue="" Path="contact.id">
<Filter />
</Variable>
<Variable Name="FirstName" LookupValue="" Path="contact.firstname">
<Filter />
</Variable>
<Variable Name="LastName" LookupValue="" Path="contact.lastname">
<Filter />
</Variable>
<Variable Name="CompanyName" LookupValue="" Path="contact.company">
<Filter />
</Variable>
<Variable Name="Email" LookupValue="" Path="contact.email">
<Filter />
</Variable>
<Variable Name="PhoneBusiness" LookupValue="" Path="contact.businessphone">

<Filter />

</Variable>

<Variable Name="PhoneBusiness2" LookupValue="" Path="contact.businessphone2">

<Filter />

</Variable>

<Variable Name="PhoneMobile" LookupValue="" Path="contact.mobilephone">

<Filter />

</Variable>

<Variable Name="PhoneMobile2" LookupValue="" Path="contact.mobilephone2">

<Filter />

</Variable>

<Variable Name="CustomValue" LookupValue="" Path="contact.customvalue">

<Filter />

</Variable>

<Variable Name="EntityId" LookupValue="" Path="contact.id">

<Filter />

</Variable>

<Variable Name="EntityType" LookupValue="" Path="contact.id">

<Filter />

</Variable>

</Variables>

<Outputs AllowEmpty="false">

<Output Type="ContactID" Passes="0" Value="[ContactID]" />

<Output Type="FirstName" Passes="0" Value="[FirstName]" />

<Output Type="LastName" Passes="0" Value="[LastName]" />

<Output Type="CompanyName" Passes="0" Value="[CompanyName]" />

<Output Type="Email" Passes="0" Value="[Email]" />

<Output Type="PhoneBusiness" Passes="0" Value="[PhoneBusiness]" />

<Output Type="PhoneBusiness2" Passes="0" Value="[PhoneBusiness2]" />

<Output Type="PhoneMobile" Passes="0" Value="[PhoneMobile]" />

<Output Type="PhoneMobile2" Passes="0" Value="[PhoneMobile2]" />

<Output Type="CustomValue" Passes="0" Value="[CustomValue]" />

<Output Type="ContactUrl" Passes="0" Value="https://example.com/apiRest/3cx/search.php?ContactID=[ContactID]" />

<Output Type="EntityId" Passes="0" Value="[EntityId]" />

<Output Type="EntityType" Passes="0" Value="[EntityType]" />

</Outputs>

</Scenario>

<Scenario Id="LookupByPhone" Type="REST" EntityId="" EntityOrder="">

<Request SkipIf="" Url="https://example.com/apirest/3cx/search.php?number=[Number]" MessagePasses="0" Message="" RequestContentType="" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />

<Rules>

<Rule Type="Any" Ethalon="">contact.id</Rule>

</Rules>

<Variables>

<Variable Name="ContactID" LookupValue="" Path="contact.id">

<Filter />

</Variable>

<Variable Name="FirstName" LookupValue="" Path="contact.firstname">

<Filter />

</Variable>

<Variable Name="LastName" LookupValue="" Path="contact.lastname">

<Filter />

</Variable>

<Variable Name="CompanyName" LookupValue="" Path="contact.company">

<Filter />

</Variable>

<Variable Name="Email" LookupValue="" Path="contact.email">

<Filter />

</Variable>

<Variable Name="PhoneBusiness" LookupValue="" Path="contact.businessphone">

<Filter />

</Variable>

<Variable Name="PhoneBusiness2" LookupValue="" Path="contact.businessphone2">

<Filter />

</Variable>

<Variable Name="PhoneMobile" LookupValue="" Path="contact.mobilephone">

<Filter />

</Variable>

<Variable Name="PhoneMobile2" LookupValue="" Path="contact.mobilephone2">

<Filter />

</Variable>

<Variable Name="CustomValue" LookupValue="" Path="contact.customvalue">

<Filter />

</Variable>

<Variable Name="EntityId" LookupValue="" Path="contact.id">

<Filter />

</Variable>

<Variable Name="EntityType" LookupValue="" Path="contact.id">

<Filter />

</Variable>

</Variables>

<Outputs AllowEmpty="false">

<Output Type="ContactID" Passes="0" Value="[ContactID]" />

<Output Type="FirstName" Passes="0" Value="[FirstName]" />

<Output Type="LastName" Passes="0" Value="[LastName]" />

<Output Type="CompanyName" Passes="0" Value="[CompanyName]" />

<Output Type="Email" Passes="0" Value="[Email]" />

<Output Type="PhoneBusiness" Passes="0" Value="[PhoneBusiness]" />

<Output Type="PhoneBusiness2" Passes="0" Value="[PhoneBusiness2]" />

<Output Type="PhoneMobile" Passes="0" Value="[PhoneMobile]" />

<Output Type="PhoneMobile2" Passes="0" Value="[PhoneMobile2]" />

<Output Type="CustomValue" Passes="0" Value="[CustomValue]" />

<Output Type="ContactUrl" Passes="0" Value="https://example.com/apiRest/3cx/search.php?ContactID=[ContactID]" />

<Output Type="EntityId" Passes="0" Value="[EntityId]" />

<Output Type="EntityType" Passes="0" Value="[EntityType]" />

</Outputs>

</Scenario>

<Scenario Id="ReportCall" Type="REST" EntityId="" EntityOrder="">

<Request SkipIf="" Url="https://example.com/apirest/3cx/createcall.php" MessagePasses="0" Message="" RequestContentType="" RequestEncoding="UrlEncoded" RequestType="Post" ResponseType="PlainText">

<PostValues Key="" If="" SkipIf="">

<Value Key="calltype" If="" SkipIf="" Passes="1" Type="String">[CallType]</Value>

<Value Key="calldirection" If="" SkipIf="" Passes="1" Type="String">[CallDirection]</Value>

<Value Key="contactnumber" If="" SkipIf="" Passes="1" Type="String">[Number]</Value>

<Value Key="agentextension" If="" SkipIf="" Passes="1" Type="String">[Agent]</Value>

<Value Key="calldatetime" If="" SkipIf="" Passes="1" Type="String">[CallStartTimeLocal]</Value>

<Value Key="callduration" If="" SkipIf="" Passes="1" Type="String">[Duration]</Value>

<Value Key="callestablished" If="" SkipIf="" Passes="1" Type="String">[CallEstablishedTimeLocal]</Value>

<Value Key="callend" If="" SkipIf="" Passes="1" Type="String">[CallEndTimeLocal]</Value>

<Value Key="callestablishedUTC" If="" SkipIf="" Passes="1" Type="String">[CallEstablishedTimeUTC]</Value>

<Value Key="callestablishedUTCmillis" If="" SkipIf="" Passes="1" Type="String">[CallEstablishedTimeUTCMillis]</Value>

<Value Key="LineBreak" If="" SkipIf="" Passes="2" Type="String">[LineBreak]</Value>

<Value Key="Summary" If="" SkipIf="" Passes="2" Type="String">[Summary]</Value>

<Value Key="Transcription" If="" SkipIf="" Passes="2" Type="String">[Transcription]</Value>

<Value Key="RecordingUrl" If="" SkipIf="" Passes="2" Type="String">[RecordingUrl]</Value>

<Value Key="RecordingHyperLink" If="" SkipIf="" Passes="2" Type="String">[RecordingHyperLink]</Value>

</PostValues>

</Request>

<Variables />

<Outputs Next="" AllowEmpty="true" />

</Scenario>

<Scenario Id="ReportCallMissed" Type="REST" EntityId="" EntityOrder="">

<Request SkipIf="" Url="https://example.com/apirest/3cx/createcall.php" MessagePasses="0" Message="" RequestContentType="" RequestEncoding="UrlEncoded" RequestType="Post" ResponseType="PlainText">

<PostValues Key="" If="" SkipIf="">
<Value Key="calltype" If="" SkipIf="" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" If="" SkipIf="" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="contactnumber" If="" SkipIf="" Passes="1" Type="String">[Number]</Value>
<Value Key="agentextension" If="" SkipIf="" Passes="1" Type="String">[Agent]</Value>
<Value Key="calldatetime" If="" SkipIf="" Passes="1" Type="String">[CallStartTimeLocal]</Value>
<Value Key="callduration" If="" SkipIf="" Passes="1" Type="String">[Duration]</Value>
<Value Key="callestablished" If="" SkipIf="" Passes="1" Type="String">[CallEstablishedTimeLocal]</Value>
<Value Key="callend" If="" SkipIf="" Passes="1" Type="String">[CallEndTimeLocal]</Value>
<Value Key="callestablishedUTC" If="" SkipIf="" Passes="1" Type="String">[CallEstablishedTimeUTC]</Value>
<Value Key="callestablishedUTCmillis" If="" SkipIf="" Passes="1" Type="String">[CallEstablishedTimeUTCMillis]</Value>
<Value Key="LineBreak" If="" SkipIf="" Passes="2" Type="String">[LineBreak]</Value>
<Value Key="Summary" If="" SkipIf="" Passes="2" Type="String">[Summary]</Value>
<Value Key="Transcription" If="" SkipIf="" Passes="2" Type="String">[Transcription]</Value>
<Value Key="RecordingUrl" If="" SkipIf="" Passes="2" Type="String">[RecordingUrl]</Value>
<Value Key="RecordingHyperLink" If="" SkipIf="" Passes="2" Type="String">[RecordingHyperLink]</Value>
<Value Key="subject" If="" SkipIf="" Passes="2" Type="String">[Subject]</Value>
<Value Key="InboundCallText" If="" SkipIf="" Passes="2" Type="String">[InboundCallText]</Value>
<Value Key="MissedCallText" If="" SkipIf="" Passes="2" Type="String">[MissedCallText]</Value>
<Value Key="OutboundCallText" If="" SkipIf="" Passes="2" Type="String">[OutboundCallText]</Value>
<Value Key="NotAnsweredOutboundCallText" If="" SkipIf="" Passes="2" Type="String">[NotAnsweredOutboundCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs Next="" AllowEmpty="false" />
</Scenario>



Thanks in advance if anyone can help us to triger the ReportCall scenario.



regards,

Joel.
 
Remove the EntityId attribute of the empty ID scenario. Those should be empty when not using the EntityOrder. This is the phone lookup scenario.

The other LookupByPhone will not trigger nor work. The other one is LookupByEmail with as variable.

Make those changes and try again.
 
@ConceptsWeb thanks for your suggestions... now the CRM integrations works and the reportCall scenario is being trigered.

;):):D
 

Latest Posts

Forum statistics

Threads
111,973
Messages
590,075
Members
164,895
Latest member
jasonkkrause