Partekatu honen bidez:


Kapturatu inprimakiak Customer Insights - Journeys-en

Inprimakiaren harrapaketa Customer Insights - Journeys inprimaki-editore erabiliz sortu ez diren inprimakietatik bidalketak lortzeko erabiltzen da. Inprimakiak harrapatzea gomendatzen da lehendik duzun inprimakiak bidalketak Dynamics 365 ez beste sistemetara bidaltzen baditu edo lehendik dagoen inprimakiak Customer Insights - Journeys inprimaki-editore-en erraz birsortu ezin den logika konplexua badu. Lehendik dagoen inprimakia Customer Insights - Journeys inprimaki-editore erabiliz birsortu badaiteke, ez da ez da gomendatzen inprimakiak harrapatzeko eginbidea erabiltzea.

Inprimaki-kapturak inprimaki estandarren API bera erabiltzen du bidalketak prozesatzeko. Inprimakiak harrapatzeko segurtasun-oharra berdinak aplikatzen dira.

Garrantzitsua da

Inprimakiak harrapatzeko garatzaileen laguntza behar da. Beti errazagoa da inprimaki bat sortzea Customer Insights - Journeys inprimaki-editore erabiliz eta lehendik duzun orrian txertatzea.

Garrantzitsua da

Inprimakiak harrapatzeko DynamicsMKT_Forms soluzioaren 1.1.35355 bertsioa edo handiagoa behar du. Probako instantzia bat hornitzean, ez duzu beti azken bertsioa automatikoki izango. Ziurtatu Customer Insights - Journeys inprimakiak harrapatzen saiatu aurretik eguneratu duzula.

Gaitu inprimakiak harrapatzea

Inprimakiak harrapatzeko eginbidea lehenespenez desgaituta dago. Inprimakiak harrapatzea aktibatzeko aukera dezakezu Ezarpenak>Ezaugarrien etengailuak>Inprimakiak.

Gaitu inprimakiak harrapatzea funtzio-aldagailuetan.

Inprimakiak harrapatzea nola funtzionatzen duen

Inprimakiak harrapatzea inprimaki estandar Customer Insights - Journeys a bidaltzea imitatzen du. Lehendik duzun inprimakiaren bidalketak Customer Insights - Journeys-ra lotzeko, inprimaki bat sortu behar duzu Customer Insights - Journeys inprimaki-editore erabiliz. Inprimaki hori argitaratzen duzunean, formularioa harrapatzeko script bat lor dezakezu, eta hori lehendik dagoen inprimakia duen web orrian txertatu behar da. Scriptak lehendik dauden inprimaki-eremuen esleipenaren definizioa barne hartzen du liderra edo kontaktu-entitatearen atributuetan. Customer Insights - Journeysbarruan bidalketa eta analisi guztiak ikus ditzakezu. Inprimaki hau bidaia orkestratzeko ere erabil dezakezu Bidalitako marketin-inprimakia abiarazlearekin. Inprimaki bidalketa honek Harremanetarako Puntuaren Adostasuna eta lotutako Helburu edo Gaiak ere sor edo egunera ditzake.

Inprimakiak harrapatzeko gida urratsez urrats

Inprimaki-kaptura sortzea Customer Insights - Journeys inprimaki-editore-en

  1. Harrapaketa-inprimakiaren script berri bat sortzeko, joan Customer Insights - Journeys>Kanalak>Inprimakiak ra eta hautatu Berria . komando-barran.

  2. Eman izena formularioari eta aukeratu entzule egokia. Helburu-publikoa aukeratzea garrantzitsua da. Inprimakiaren harrapatzeko script eremua->atributuen mapak aukeratutako xede-publikoaren (entitatearen) atributuetarako soilik dago erabilgarri.

  3. Gehitu mapatu nahi dituzun eremu guztiak lehendik dituzun inprimaki-eremuetara. Urrats hau ez da derrigorrezkoa; eremu > atributua mapaketa inprimaki harrapatzeko kodean definitzen da. Eremu egokiak inprimakian gehitzeak atributuen mapak egiteko leku-markak sortzen ditu inprimakiaren harrapaketa gidoian, maparen definizioa erraztuz.

  4. Gehitu adostasun-elementuak Xedea edo Gaia bezalakoak osatzeko eta konfiguratzeko. Lortu informazio gehiago e-posta eta testu-mezuen baimena nola kudeatu Customer Insights - Journeys atalean.

    Garrantzitsua da

    Adostasunaren definizioa inprimaki-editore atalean egin behar da. Kode zati kaptura inprimakian egindako baimen-ezarpenetan egindako aldaketak ez dira aintzat hartuko.

  5. Gehitu Bidali botoia. Bidali botoia beharrezkoa da inprimakia argitaratu aurretik baliozkotzeko.

  6. Argitaratu inprimakia pantailaren goiko eskuineko izkinan dagoen Argitaratu botoia erabiliz. Kopiatu kode zati inprimakiaren kaptura eta txertatu kode zati zure web orrian dagoen formularioarekin edo eman kode zati zure garatzaileari. Kode zati-ek dagoeneko dokumentaziorako esteka bat dauka zure garatzailea gidatzeko.

    Gehitu baimen-elementua formularioari.

    Garrantzitsua da

    Lehendik dagoen inprimakia ostatatzen den domeinu-izena gaituta egon behar da kanpoko inprimakien ostalaritzarako, bestela ez da inprimakiaren bidalketa jasoko. Lortu informazio gehiago domeinu-autentifikazioariri buruz.

Harrapatzeko script-a zure orrian eta maparen definizioan txertatzea

Aurreko urratsean kopiatutako kode zati txantiloia da eta erabilera-kasu zehatzera egokitu behar da. Sortutako txantiloian ***Please fill*** gisa markatutako elementu guztiak ordezkatu eta logika zure eszenatokira egokitu behar dituzu.

Lehendik duzun inprimakia bidaltzen duzun Customer Insights - Journeys JavaScript API bat erabiliz, fitxategian definitua FormCapture.bundle.js eta kode zati-n sartzen da.

Inprimakiak harrapatzeko konfigurazioak urrats hauek ditu:

  1. Lortu orrialdeko inprimakiaren elementuaren erreferentzia.
  2. Definitu inprimaki-eremuen mapa eremuetan (entitate-atributuak) hemen Customer Insights - Journeys.
  3. Definitu adostasun-eremuen mapa adostasun-ereduan Customer Insights - Journeys.
  4. Bidali formularioa bidaltzeko helbide honetara Customer Insights - Journeys.

1. Lortu inprimaki-elementuari erreferentzia bat

Inprimaki-elementuari erreferentzia bat lortzeko, waitForElement funtzio laguntzailea erabil dezakezu. Era berean, dinamikoki errendatutako elementuekin funtzionatzen du eta emandako hautatzailea duen elementua orrialdean aurkitzen denean ebazten den promesa itzultzen du. CSS Hautatzaileen erreferentziarako, ikus dokumentazio hau.

Adibidez:

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

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

2. Definitu inprimaki-eremuen mapak

Inprimakiko eremuak dagozkien eremuekin (entitate-atributuak) mapatu behar dira Customer Insights - Journeysn. Mapeatzea d365mktformcapture.serializeForm(form, mappings) funtzioan definitzen da.

Adibidez:

<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>

Parametroa form aurreko atalean azaldutako waitForElement funtzioak berreskuratzen du. Parametroa mappings ondoko egiturako elementuak dituen array bat da:

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
}

Funtzioa sinkronoa da eta serializazioaren emaitza itzultzen du kontratu honekin:

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
}

Ziurtatu FormFieldMappingResults-k itzultzen dituen errore guztiak kudeatzen dituzula. Karga erabilgarria sor dezakezu Customer Insights - Journeys serializedForm.SerializedForm.build() deituz.

2.1 OptionSet eremuen mapaketa

OptionSet eremuetarako, Customer Insights - Journeys-n gorde behar den balioaren mapa zehaztu behar duzu. Inprimakiko OptionSet eremuen balioak mapa ditzakezu DataverseFieldValue propietatean.

Adibidez:

<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 Bilaketa-eremuen mapaketa
Ezarri bilaketa-eremuaren balio lehenetsia

Bilaketa-eremuetarako mapa-logikan balio estatikoak (lehenetsiak) erabil ditzakezu. Eremuaren izena eta Customer Insights - Journeysn gorde behar den balioa zehaztu behar dituzu.

Adibidez:

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

<script>
  ...
  const mappings = [
    {
        DataverseFieldName: "currency",
        DataverseFieldValue: "{\"Id\":\"ffffd6c1-b32d-ee11-bdf3-6045bded6105\",\"LogicalName\":\"transactioncurrency\"}"
    },
  ];
  ...
</script>
Mapeatu bilaketa-eremuaren balioa zure inprimakiko eremu batera

Bilaketa-eremuaren balioa lehendik dagoen inprimaki-eremuan dagokien balio batekin ere mapa dezakezu.

Adibidez:

<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 Aukera anitzeko eremuen balioak mapatzea

multi-select Eremuetarako, Customer Insights - Journeys-n gorde behar den balioaren mapa zehaztu behar duzu. Lehendik dagoen inprimakiaren hautapen anitzeko eremuen balioak mapa ditzakezu DataverseFieldValue propietatean.

Adibidez:

  <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>

Baimen-eremuak inprimaki-editore in Customer Insights - Journeys atalean konfiguratu behar dira. DataverseFieldName eta DataverseFieldValue mapeak horren arabera sortzen dira automatikoki.

Adibidez:

<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. Bidali formularioa helbide honetara Customer Insights - Journeys

Inprimakiari erreferentzia bat lortu ondoren, mapak definitu eta inprimakia serializatzen dituzunean, gertaera-entzule bat gehi dezakezu submit gertaerara eta bidali d365mktformcapture.submitForm(captureConfig, payload) funtzioa erabiliz. Dei honek promesa bat itzultzen du, eta erroreak catch logikan kudea daitezke.

Garrantzitsua da

Baliozkotze pertsonalizatua edo Captcha egiaztapena baduzu, ziurtatu inprimakia Customer Insights - Journeys ra bidaltzen duzula baliozkotze arrakastatsua izanez gero soilik (adibidez, egiaztatu isDefaultPrevented n. submit gertaera edo esplizituki deitu submitForm balioztapena gainditu ondoren soilik)

Adibidez:

<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>

Arazoak konpontzea

Bidalketa amaierako deiak huts egin du CORS errore batekin

Jatorrien arteko baliabideak partekatzeak (CORS) inprimakiak bidaltzeko harrapatzea huts egin dezake. Gaitu zure domeinua kanpoko inprimakien ostalaritzarako. Lortu informazio gehiago domeinu-autentifikazioariri buruz.

Ziurtatu inprimaki-editore-en dagozkien baimen-eremuak konfiguratu dituzula (ikus Inprimakiaren atzematea sortzea Customer Insights - Journeys inprimaki-editore atalean) eta Argitalpen-prozesuan sortutako mapaketa zuzenak erabili ditugu.