Syncro Repairshopr integration

Status
Not open for further replies.

ElementalWindX

Bronze Partner
Advanced Certified
Joined
Oct 24, 2018
Messages
367
Reaction score
40
Trying to continue the thread from this... https://www.3cx.com/community/threads/crm-syncro-repairshopr-callerid-and-journal.72360/

I've implemented the xml in that thread. The outgoing calls are logging just fine, however the incoming calls are not logging at all. Would anyone have any idea what could be missing from that xml to not log incoming calls?

Thanks.

Code:
<?xml version="1.0"?>
<Crm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Country="GB" Name="Syncro" Version="1">
  <Number Prefix="Off" MaxLength="11" />
  <Connection MaxConcurrentRequests="2" />
  <Parameters>
    <Parameter Name="APIkey" Type="String" Parent="General Configuration" Editor="String" Title="API Key:" />
    <Parameter Name="ReportCallEnabled" Type="Boolean" Editor="String" Title="Enable Call Journaling" Default="True" />
    <Parameter Name="Domain" Type="String" Editor="String" Title="Domain:" />
  </Parameters>
  <Authentication Type="Basic">
    <Value>[APIkey]:X</Value>
  </Authentication>
  <Scenarios>
    <Scenario Id="" Type="REST">
      <Request SkipIf="" Url="https://[Domain].syncromsp.com/api/v1/customers?query=[Number]&amp;api_key=[APIkey]" MessagePasses="1" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
      <Rules>
        <Rule Type="Number">customers.phone</Rule>
      </Rules>
      <Variables>
        <Variable Name="ContactID" Path="customers.id">
          <Filter />
        </Variable>
        <Variable Name="FirstName" Path="customers.firstname">
          <Filter />
        </Variable>
        <Variable Name="LastName" Path="customers.lastname">
          <Filter />
        </Variable>
        <Variable Name="CompanyName" Path="customers.business_name">
          <Filter />
        </Variable>
        <Variable Name="Email" Path="customers.email">
          <Filter />
        </Variable>
        <Variable Name="PhoneBusiness" Path="customers.phone">
          <Filter />
        </Variable>
        <Variable Name="PhoneMobile" Path="customers.mobile">
          <Filter />
        </Variable>
      </Variables>
      <Outputs Next="" AllowEmpty="false">
        <Output Type="ContactID" Passes="1" Value="[ContactID]" />
        <Output Type="FirstName" Passes="1" Value="[FirstName]" />
        <Output Type="LastName" Passes="1" Value="[LastName]" />
        <Output Type="CompanyName" Passes="1" Value="[CompanyName]" />
        <Output Type="Email" Passes="1" Value="[Email]" />
        <Output Type="PhoneBusiness" Passes="1" Value="[PhoneBusiness]" />
        <Output Type="PhoneMobile" Passes="1" Value="[PhoneMobile]" />
        <Output Type="ContactUrl" Passes="1" Value="https://[Domain].syncromsp.com/customers/[ContactID]" />
      </Outputs>
    </Scenario>
    <Scenario Id="ReportCall" Type="REST">
      <Request SkipIf="[ReportCallEnabled]!=True||[CallType]!=Inbound" Url="https://[Domain].syncromsp.com/api/callerid.json/?did=[Number]&amp;api_key=[APIkey]" MessagePasses="1" RequestContentType="application/x-www-form-urlencoded" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
      <Variables />
      <Outputs Next="ReportCallMissed" AllowEmpty="true" />
    </Scenario>
    <Scenario Id="ReportCallMissed" Type="REST">
      <Request SkipIf="[ReportCallEnabled]!=True||[CallType]!=Missed" Url="https://[Domain].syncromsp.com/api/callerid.json/?did=[Number]&amp;api_key=[APIkey]" MessagePasses="1" RequestContentType="application/x-www-form-urlencoded" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
      <Variables />
      <Outputs Next="ReportCallOutbound" AllowEmpty="true" />
    </Scenario>
    <Scenario Id="ReportCallOutbound" Type="REST">
      <Request SkipIf="[ReportCallEnabled]!=True||[CallType]!=Outbound" Url="https://[Domain].syncromsp.com/api/callerid.json/?did=[Number]&amp;outbound=true&amp;api_key=[APIkey]" MessagePasses="1" RequestContentType="application/x-www-form-urlencoded" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
      <Variables />
      <Outputs Next="ReportCallNotanswered" AllowEmpty="true" />
    </Scenario>
    <Scenario Id="ReportCallNotanswered" Type="REST">
      <Request SkipIf="[ReportCallEnabled]!=True||[CallType]!=Notanswered" Url="https://[Domain].syncromsp.com/api/callerid.json/?did=[Number]&amp;outbound=true&amp;api_key=[APIkey]" MessagePasses="1" RequestContentType="application/x-www-form-urlencoded" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
      <Variables />
      <Outputs AllowEmpty="false" />
    </Scenario>
  </Scenarios>
</Crm>
 
Are you receiving calls through a queue? Please note that missed calls through a queue are not logged.
 
Are you receiving calls through a queue? Please note that missed calls through a queue are not logged.
Initial call hits a digital recept. Then if they press one it goes to a call queue. So the initial call doesn't get logged when hitting the digital receptionist? That seems very counter intuitive. Same with going to a queue. Any way to work around this?

What if I set the initial call to go to a dummy extension that then goes to the digi receptionist?

Thanks.
 
Only calls that ring at extensions will be logged. If the call is handled by a system extension (Digital Receptionist, Queue, etc.) and doesn't reach an extension, then it will not be logged.

Also, for queue calls, only calls that ring at a single extension are logged. If you use the RingAll strategy, then these calls will not be reported to the CRM.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
112,323
Messages
591,896
Members
165,474
Latest member
costionofrei