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.
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
Harrapaketa-inprimakiaren script berri bat sortzeko, joan Customer Insights - Journeys>Kanalak>Inprimakiak ra eta hautatu Berria . komando-barran.
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.
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.
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.
Gehitu Bidali botoia. Bidali botoia beharrezkoa da inprimakia argitaratu aurretik baliozkotzeko.
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.
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:
- Lortu orrialdeko inprimakiaren elementuaren erreferentzia.
- Definitu inprimaki-eremuen mapa eremuetan (entitate-atributuak) hemen Customer Insights - Journeys.
- Definitu adostasun-eremuen mapa adostasun-ereduan Customer Insights - Journeys.
- 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>
3. Definitu adostasun eremuen mapaketa
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.
Adostasun-balioak ez dira behar bezala eguneratzen
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.