Megosztás a következőn keresztül:


Űrlapok rögzítése a Customer Insights - Journeys szolgáltatásban

Az űrlaprögzítés olyan meglévő űrlapokból származó beküldések beolvasására szolgál, amelyeket nem a Customer Insights - Journeys űrlapszerkesztő használatával hoztak létre. Az űrlaprögzítés akkor ajánlott, ha a meglévő űrlap a Dynamics 365-től eltérő rendszerekre is küld beküldéseket, vagy ha a meglévő űrlap olyan összetett logikát tartalmaz, amelyet nem lehet könnyen újra létrehozni a Customer Insights - Journeys űrlapszerkesztő. Ha a meglévő űrlap újra létrehozható Customer Insights - Journeys a használatával űrlapszerkesztő, nem ajánlott az űrlaprögzítési funkció használata.

Az űrlaprögzítés ugyanazt az API-t használja a beküldések feldolgozásához, mint a szabványos űrlapok. Ugyanez a biztonsági figyelmeztetés vonatkozik az űrlaprögzítésre is.

Fontos

Az űrlaprögzítéshez fejlesztői segítség szükséges. Mindig egyszerűbb létrehozni egy űrlapot a Customer Insights - Journeys használatával űrlapszerkesztő és beágyazni a meglévő oldalra.

Fontos

Az űrlaprögzítéshez DynamicsMKT_Forms megoldás 1.1.35355-es vagy újabb verziójára van szükség. Próbapéldány kiépítésekor nem mindig lesz automatikusan a legújabb verzió. Győződjön meg róla, hogy frissített Customer Insights - Journeys , mielőtt megkísérli az űrlaprögzítést.

Űrlaprögzítés engedélyezése

Az űrlaprögzítési funkció alapértelmezés szerint le van tiltva. Az Űrlaprögzítés kapcsolót a Beállítások funkcióban engedélyezheti az űrlapok> között>.

Engedélyezze az űrlaprögzítést a funkciókapcsolókban.

Az űrlaprögzítés működése

Az űrlaprögzítés a szabványos Customer Insights - Journeys űrlap benyújtását utánozza. Ha meglévő űrlap Customer Insights - Journeys beküldéseit szeretné összekapcsolni, létre kell hoznia egy űrlapot a Customer Insights - Journeys űrlapszerkesztő használatával. Az űrlap közzététele után beszerezhet egy űrlaprögzítő parancsfájlt, amelyet be kell ágyazni a meglévő űrlapot tartalmazó weblapba. A parancsfájl tartalmazza a meglévő űrlapmezők definícióját, amelyek leképezést tartalmaznak az érdeklődő vagy kapcsolattartó entitás attribútumaira. Az összes beküldést és elemzést láthatja benne Customer Insights - Journeys. Ezt az űrlapot utazásvezénylésben is használhatja a Marketing űrlap elküldve eseményindítóval. Ez az űrlap elküldheti a kapcsolattartó pont hozzájárulását és a kapcsolódó célokat vagy témákat is létrehozhatja vagy frissítheti.

Lépésről lépésre útmutató az űrlapok rögzítéséhez

Az űrlaprögzítés létrehozása a Customer Insights - Journeys űrlapszerkesztő

  1. Új rögzítési űrlapparancsfájl létrehozásához nyissa meg a Csatornaűrlapok Customer Insights - Journeys>>lapot , és válassza az Új lehetőséget a parancssávon.

  2. Nevezze el az űrlapot, és válassza ki a megfelelő célközönség. Fontos a cél célközönség kiválasztása. Az űrlaprögzítési parancsfájl mezőattribútum-leképezése> csak a kiválasztott cél célközönség (entitás) attribútumaihoz érhető el.

  3. Adja hozzá az összes mezőt, amelyet le szeretne képezni a meglévő űrlapmezőkhöz. Ez a lépés nem kötelező; A mezőattribútum-leképezés > az űrlaprögzítési kódban van definiálva. A megfelelő mezők hozzáadása az űrlaphoz helyőrzőket hoz létre az attribútumleképezéshez az űrlaprögzítő parancsfájlban, megkönnyítve a leképezés definícióját.

  4. Adjon hozzá hozzájárulási elemeket, például a Cél vagy a témakör az űrlaphoz és konfiguráláshoz. További információ az e-mailekhez és szöveges üzenetekhez Customer Insights - Journeys való hozzájárulás kezeléséről.

    Fontos

    A hozzájárulás definícióját a űrlapszerkesztő kell elvégezni. Az űrlaprögzítési kód kódrészlet megadott hozzájárulási beállítások módosításait a rendszer figyelmen kívül hagyja.

  5. Adjon hozzá egy Küldés gombot. A küldés gomb szükséges az űrlap sikeres érvényesítéséhez a közzététel előtt.

  6. Tegye közzé az űrlapot a képernyő jobb felső sarkában található Közzététel gombbal. Másolja ki az űrlaprögzítési kódot kódrészlet, és ágyazza be a kódot kódrészlet a weboldalára a meglévő űrlappal, vagy adja át a kódot kódrészlet a fejlesztőnek. A kód már tartalmaz egy dokumentációra mutató hivatkozást kódrészlet, amely útmutatást nyújt a fejlesztőnek.

    Adja hozzá a hozzájárulási elemet az űrlaphoz.

    Fontos

    A tartománynevet, ahol a meglévő űrlapot tárolja, engedélyezni kell a külső űrlaptároláshoz, különben az űrlapküldés nem lesz rögzítve. További információ a tartományhitelesítésről.

A rögzítési szkript beágyazása az oldalba és a leképezési definícióba

Az előző lépésben másolt kód kódrészlet sablon, és az adott használati esethez kell igazítani. Le kell cserélnie a létrehozott sablonban megjelölt ***Please fill*** összes elemet, és módosítania kell a logikát a forgatókönyvhöz.

A meglévő űrlapküldést a rendszer egy JavaScript API-n keresztül küldi el Customer Insights - Journeys , amely definiálva van a fájlban FormCapture.bundle.js , és szerepel a kódrészlet.

Az űrlaprögzítés beállítása a következő lépésekből áll:

  1. Szerezze be az űrlapelemre mutató hivatkozást az oldalon.
  2. Határozza meg az űrlapmezők leképezését a mezőkön (entitásattribútumokon) Customer Insights - Journeys.
  3. Adja meg a hozzájárulási modell hozzájárulási mezőinek leképezését itt Customer Insights - Journeys.
  4. Küldje el az űrlap elküldését a címre Customer Insights - Journeys.

1. Hivatkozás kérése az űrlapelemre

Az űrlapelemre mutató hivatkozás lekéréséhez használhatja a waitForElement segítő funkciót. Dinamikusan renderelt elemekkel is működik, és ígéretet ad vissza, amely akkor oldódik fel, ha az adott választóval rendelkező elem megtalálható az oldalon. A választókra vonatkozó hivatkozásért CSS tekintse meg ezt a dokumentációt.

Példa:

<form id="form1">
...
</form>

<script>
d365mktformcapture.waitForElement("#form1").then(form => {
  ...
});
</script>

2. Az űrlapmezők leképezésének meghatározása

Az űrlap mezőit le kell képezni a megfelelő mezőkre (entitásattribútumokra). Customer Insights - Journeys A leképezés a függvényben d365mktformcapture.serializeForm(form, mappings) van definiálva.

Példa:

<form id="form1">
  <p>FirstName: <input type="text" name="firstName"/></p>
</form>

<script>
d365mktformcapture.waitForElement("#form1").then(form => {
  const mappings = [
    {
      FormFieldName: "firstName",
      DataverseFieldName: "firstname",
    },
  ];

  ...
  
  const serializedForm = d365mktformcapture.serializeForm(form, mappings);
  // console.log(JSON.stringify(serializedForm)); // NOTE: enable for debugging
  const payload = serializedForm.SerializedForm.build();
});
</script>

A paramétert form az waitForElement előző szakaszban ismertetett függvény olvassa be. A paraméter mappings egy tömb, amely a következő struktúra elemeit tartalmazza:

export interface IFormFieldMapping {
    FormFieldName?: string; // name of form field
    DataverseFieldName: string; // name of field on Dynamics 365 side
    DataverseFieldValue?: string | IFormValueMapping[]; // optional - either a fixed value or a value mapping
}

export interface IFormValueMapping {
    FormValue: string; // form field value
    DataverseValue: string; // mapped value for that form field value that will be sent to Dynamics 365
}

A függvény szinkron, és a szerializálás eredményét adja vissza a következő szerződéssel:

export interface IFormSerializationResult {
    FormFieldMappingResults: IFormFieldMappingResult[]; // Status for each of the defined mappings
    SerializedForm: IFormSerializationBuilder; // The serialized form
}

export interface IFormFieldMappingResult {
    Mapping: IFormFieldMapping; // The defined mapping
    FormFieldMappingStatus: FormFieldMappingStatus; // Status of the mapping (see below for status values)
    Message: string; // Optional - an error/warning message for the mapping
}

export enum FormFieldMappingStatus {
    Success = 0,
    NotFound = 1,
    Error = 2
}

Győződjön meg arról, hogy kezeli az összes hibát, amelyet a FormFieldMappingResults. Az adattartalmat Customer Insights - Journeys hívással serializedForm.SerializedForm.build() hozhatja létre.

2.1 OptionSet mezők leképezése

Mezők esetén OptionSet meg kell határoznia a leképezést a megfelelő értékhez, amelyet tárolni Customer Insights - Journeys kell. A meglévő űrlap OptionSet mezőértékeit leképezheti a DataverseFieldValue tulajdonságban.

Példa:

<form id="form1">
  <p>Radio: <input type="radio" name="radioInput" value="option1"/><input type="radio" name="radioInput" value="option2"/></p>
</form>

<script>
  ...
  const mappings = [
    {
        FormFieldName: "radioInput",
        DataverseFieldName: "dvradioInput",
        DataverseFieldValue: [ 
            { FormValue: "option1", DataverseValue: "1" }, 
            { FormValue: "option2", DataverseValue: "2" },
        ]
    },
  ];
  ...
</script>
2.2 Keresőmezők leképezése
A keresőmező alapértelmezett értékének beállítása

A keresőmezők leképezési logikájában statikus (alapértelmezett) értékeket használhat. Meg kell határoznia a mező nevét és a tárolni Customer Insights - Journeys kívánt értéket.

Példa:

<form id="form1">
  ...
</form>

<script>
  ...
  const mappings = [
    {
        DataverseFieldName: "currency",
        DataverseFieldValue: "{\"Id\":\"ffffd6c1-b32d-ee11-bdf3-6045bded6105\",\"LogicalName\":\"transactioncurrency\"}"
    },
  ];
  ...
</script>
A keresőmező értékének leképezése az űrlap egy mezőjére

A keresőmező értékét a meglévő űrlapmező megfelelő értékére is leképezheti.

Példa:

<form id="form1">
  <p>Radio: <input type="radio" name="currency" value="usd"/><input type="radio" name="currency" value="eur"/></p>
</form>

<script>
  ...
  const mappings = [
    {
        FormFieldName: "currency",
        DataverseFieldName: "transactioncurrencyid",
        DataverseFieldValue: [ 
              { FormValue: "usd", DataverseValue: "{\"Id\":\"cd2cff48-08a3-ea11-a813-000d3a0a82b4\",\"LogicalName\":\"transactioncurrency\"}", }, 
              { FormValue: "eur", DataverseValue: "{\"Id\":\"91f1a052-259c-4719-a3ae-3a1d2987a3ed\",\"LogicalName\":\"transactioncurrency\"}", }, 
        ]
    },
  ];
  ...
</script>
2.3 Többszörös kijelöléses mezőértékek leképezése

Mezők esetén multi-select meg kell határoznia a leképezést a megfelelő értékhez, amelyet tárolni Customer Insights - Journeys kell. A tulajdonságban DataverseFieldValue leképezheti a meglévő űrlap többszörös kijelöléses mezőértékeit.

Példa:

  <form id="form1">
    <p>Fieldset: <fieldset name="multiOptionInput">
      <input type="checkbox" name="multiOptionInput" value="100000000">0</input>
      <input type="checkbox" name="multiOptionInput" value="100000001">1</input>
      <input type="checkbox" name="multiOptionInput" value="100000002">2</input>
    </fieldset></p>
  </form>
 
<script>
...
const mappings = [
  {
    FormFieldName: "multiOptionInput",
    DataverseFieldName: "dvmultiOptionInput",
    DataverseFieldValue: [
      { FormValue: "100000000", DataverseValue: "0" },
      { FormValue: "100000001", DataverseValue: "1" },
      { FormValue: "100000002", DataverseValue: "2" },
    ]
  },
];
...
</script>

A hozzájárulási mezőket a űrlapszerkesztő kell konfigurálni Customer Insights - Journeys. A és DataverseFieldName leképezések DataverseFieldValue ennek megfelelően automatikusan jönnek létre.

Példa:

<form id="form1">
  <p>Consent: <input type="checkbox" name="consentField"/></p>
</form>

<script>
  ...
  const mappings = [
    {
        FormFieldName: "consentField",
        DataverseFieldName: "msdynmkt_purposeid;channels;optinwhenchecked",
        DataverseFieldValue: "10000000-0000-0000-0000-000000000004;Email;true",
    },
  ];
  ...
</script>

4. Küldje el az űrlap elküldését a következő címre: Customer Insights - Journeys

Miután lekért egy hivatkozást az űrlapra, definiálta a leképezéseket, és szerializálta az űrlapot, hozzáadhat egy eseményfigyelőt az submit eseményhez, és elküldheti azt a d365mktformcapture.submitForm(captureConfig, payload) függvény használatával. Ez a hívás ígéretet ad vissza, és a hibák a catch logikában kezelhetők.

Fontos

Ha egyéni érvényesítéssel vagy Captcha-ellenőrzéssel rendelkezik, győződjön meg arról, hogy az űrlapot Customer Insights - Journeys csak sikeres érvényesítés esetén küldi el (például ellenőrizze isDefaultPrevented az submit eseményt, vagy explicit módon csak az érvényesítés sikeres teljesítése után hívja submitForm meg)

Példa:

<form id="form1">
  <p>FirstName: <input type="text" name="firstName"/></p>
</form>

<script>
d365mktformcapture.waitForElement("#form1").then(form => {
  const mappings = [
    {
      FormFieldName: "firstName",
      DataverseFieldName: "firstname",
    },
  ];

  form.addEventListener("submit", (e) => {
    const serializedForm = d365mktformcapture.serializeForm(form, mappings);
    // console.log(JSON.stringify(serializedForm)); // NOTE: enable for debugging
    const payload = serializedForm.SerializedForm.build();

    const captureConfig = {
      FormId: "...", // the form id on Dynamics 365 side
      FormApiUrl: "..." // the API url of the Dynamics 365 backend service where the form will be submitted to
    }
    d365mktformcapture.submitForm(captureConfig, payload)
    .catch(e => {
      // error handling
    });
  }, true);
});
</script>

Hibaelhárítás

A beküldési végpont hívása CORS-hibával meghiúsul

Az eredetközi erőforrás-megosztás (CORS) az űrlapküldés rögzítésének sikertelenségét okozhatja. Engedélyezze tartományában a külső űrlapüzemeltetést. További információ a tartományhitelesítésről.

Győződjön meg arról, hogy beállította a megfelelő hozzájárulási mezőket a űrlapszerkesztő (lásd: Az űrlaprögzítés Customer Insights - Journeys létrehozása itt űrlapszerkesztő ben), és hogy a közzétételi folyamat során létrehozott megfelelő leképezéseket használta.