No Output when variable path not existing

Status
Not open for further replies.

smart-it-up-at

Forum User
Joined
Sep 2, 2021
Messages
1
Reaction score
0
Hi,
I struggle a bit with the XML-Template. Purpose is to look up a contact by phone number.

The Request:
Code:
https://cnam.herold.at/v1/phone/+43508021?format=xml&return=1&fields=all

The Response:
XML:
Response when result is a company:

<?xml version="1.0" encoding="UTF-8"?>
<results>
  <result>
    <source>yp</source>
    <name>Niederösterreichische Nachrichten</name>
    <street>Gutenbergstr</street>
    <housenumber>12</housenumber>
    <postalcode>3100</postalcode>
    <city>Sankt Pölten</city>
    <phone>+435080210</phone>
    <web>https://www.noen.at</web>
    <id>341347</id>
  </result>
</results>

Response when result is a person:

<?xml version="1.0" encoding="UTF-8"?>
<results>
  <result>
    <source>wp</source>
    <name>B***</name>
    <firstname>A***</firstname>
    <street>Some Street Name</street>
    <housenumber>7</housenumber>
    <postalcode>1000</postalcode>
    <city>Wien</city>
    <phone>+431*****</phone>
    <id>7*****</id>
  </result>
</results>

source=yp stands for "yellow pages" (companies). The second possible source is "white pages" (people).
When I query a phone number resulting in a person's contact, there's no problem. When I query a phone number resultin in a company's contact, there is no Output in 3CX Template Generator. The variable is filled correctly and of course the "FirstName" is empty, as there is none for a company. But the Output keeps empty.
1631106753670.png
1631106765024.png

My XML-scheme looks like this:
XML:
...
  <Scenarios>
    <Scenario Id="" Type="REST">
      <Request SkipIf="" Url="https://cnam.herold.at/v1/phone/[Number]?format=xml&amp;return=1&amp;fields=all" MessagePasses="0" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Xml" />
      <Rules>
        <Rule Type="Any">result.id</Rule>
      </Rules>
      <Variables>
        <Variable Name="ContactID" Path="result.id">
          <Filter />
        </Variable>
        <Variable Name="Name" Path="result.name">
          <Filter />
        </Variable>
        <Variable Name="Email" Path="result.id">
          <Filter />
        </Variable>
        <Variable Name="PhoneBusiness" Path="result.phone">
          <Filter />
        </Variable>
        <Variable Name="Source" Path="result.source">
          <Filter />
        </Variable>
        <Variable Name="FirstName" Path="result.firstname">
          <Filter />
        </Variable>
      </Variables>
      <Outputs Next="" AllowEmpty="true">
        <Output Type="Herold+ContactID" Passes="1" Value="[ContactID]" />
        <Output Type="CompanyName" Passes="1" Value="[IIf([Source]==&quot;yp&quot;,[Name],&quot;&quot;)]" />
        <Output Type="Email" Passes="1" Value="" />
        <Output Type="PhoneBusiness" Passes="1" Value="[PhoneBusiness]" />
        <Output Type="ContactUrl" Passes="1" Value="https://www.herold.at/telefonbuch/telefon_[[PhoneBusiness].Replace(&quot;+43&quot;,&quot;0&quot;)]/" />
        <Output Type="EntityId" Passes="1" Value="Herold+[ContactID]" />
        <Output Type="EntityType" Passes="1" Value="Contacts" />
        <Output Type="FirstName" Passes="1" Value="[Iif([Source]==&quot;wp&quot;,[FirstName],&quot;&quot;)]" />
        <Output Type="LastName" Passes="1" Value="[IIf([Source]==&quot;wp&quot;,[Name],&quot;&quot;)]" />
      </Outputs>
    </Scenario>
  </Scenarios>
</Crm>

Could anyone provide a solution for the missing output?

Thanke you very much!
 
Last edited:
Status
Not open for further replies.