Mappature risposte
Creato per:
- Amministratore
Marketo può tradurre i dati ricevuti da un webhook da due tipi di contenuto e restituire questi valori a un campo lead: JSON e XML. Il parametro Campo Marketo utilizzerà sempre il nome API SOAP del campo. Ogni webhook può disporre di un numero illimitato di mapping di risposta, che vengono aggiunti e modificati facendo clic sul pulsante Edit nel riquadro Mapping di risposta del webhook:
Le mappature di risposta vengono create tramite un accoppiamento di un "Attributo di risposta", il percorso della proprietà desiderata nel documento XML o JSON e il "Campo Marketo", che specifica il campo Lead contenente il valore scritto dall'Attributo di risposta.
Le chiavi per le proprietà devono essere costituite da caratteri alfanumerici, trattino (-), carattere di sottolineatura (_), due punti (:) e spazi vuoti a cui accedere tramite le mappature di risposta di Marketo.
Mappature JSON
Le proprietà JSON sono accessibili con la notazione del punto e la notazione dell’array. La notazione della matrice in Marketo non accetta stringhe come input e accetta solo numeri interi. Per recuperare dati da un documento JSON, il tipo di risposta deve essere impostato su JSON:
{ "foo":"bar"}
Per accedere alla proprietà foo
in un mapping di risposta, utilizzare name
della proprietà poiché si trova nel primo livello dell'oggetto JSON, foo
. Ecco come si presenta in Marketo:
Di seguito un esempio più complicato con un array:
{
"profileId" : 1234,
"firstName" : "Jane",
"lastName" : "Doe",
"orders" : [
{
"orderId" : 5678,
"orderDate" : "2015-01-01",
"orderProductId" : "4982"
},
{
"orderId" : 5678,
"orderDate" : "2014-05-07",
"orderProductId" : "4982"
}
]
}
Desideriamo accedere a orderDate dal primo elemento della matrice ordini. Per accedere a questa proprietà, utilizzare: orders[0].orderDate
Mappature XML
È possibile accedere ai valori dai singoli elementi nei documenti XML. Questo utilizza una notazione del punto simile alle mappature JSON. Diamo un’occhiata a questo semplice esempio:
<?xml version="1.0" encoding="UTF-8"?>
<example>
<foo>bar</foo>
</example>
Per accedere alla proprietà foo, utilizzare: example.foo
È necessario fare riferimento all'elemento di esempio prima di accedere a foo
. Per accedere a una proprietà, nel mapping deve essere fatto riferimento a tutti gli elementi della gerarchia. I documenti XML con array sono un po' più complicati. Utilizza l’esempio seguente:
<?xml version="1.0" encoding="UTF-8"?>
<elementList>
<element>
<foo>baz</foo>
</element>
<element>
<foo>bar</foo>
</element>
<element>
<foo>bar</foo>
</element>
</elementList>
Il documento è costituito dall'array principale elementList
, con elementi secondari, che contiene una proprietà: foo
. Ai fini dei mapping di risposta di Marketo, all'array viene fatto riferimento come elementList.element
, pertanto l'accesso ai figli di elementList avviene tramite elementList.element[i]
. Per ottenere il valore di foo dal primo elemento figlio di elementList, utilizziamo questo attributo di risposta: elementList.element[0].foo
. Questo restituisce il valore "baz" al campo designato. Se si tenta di accedere alle proprietà all’interno di elementi che contengono nomi di elementi sia univoci che non univoci, si verifica un comportamento non definito. Ogni elemento deve essere una singola proprietà o un array, i tipi non possono essere combinati.
Tipi
Quando mappi gli attributi ai campi, devi assicurarti che il tipo nella risposta del webhook sia compatibile con il campo di destinazione. Ad esempio, se il valore nella risposta è una stringa e il campo selezionato è di tipo intero, il valore non viene scritto. Leggi di Tipi di campo.