Query
Il modello per le opportunità di query segue da vicino quello dell'API lead con la restrizione aggiunta che il parametro filterType
accetta i campi elencati nell'array searchableFields
o della chiamata di descrizione corrispondente, o dedupeFields. Se si utilizzano campi opportunità personalizzati, nella matrice searchableFields verranno elencati solo i campi opportunità personalizzati di tipo String o Integer.
GET /rest/v1/opportunities.json?filterType=marketoGUID&filterValues=dff23271-f996-47d7-984f-f2676861b5fa&dff23271-f996-47d7-984f-f2676861b5fc,dff23271-f996-47d7-984f-f2676861b5fb
{
"requestId":"e42b#14272d07d78",
"success":true,
"result":[
{
"seq":0,
"marketoGUID":"dff23271-f996-47d7-984f-f2676861b5fa ",
"externalOpportunityId":"19UYA31581L000000",
"name":"Chairs",
"description":"Chairs",
"amount":"1604.47",
"source":"Inbound Sales Call/Email"
},
{
"seq":1,
"marketoGUID":"dff23271-f996-47d7-984f-f2676861b5fc ",
"externalOpportunityId":"29UYA31581L000000",
"name":"Big Dog Day Care-Phase12",
"description":"Big Dog Day Care-Phase12",
"amount":"1604.47",
"source":"Email"
}
]
}
È inoltre possibile includere i parametri di query facoltativi fields
, per la restituzione di campi opportunità aggiuntivi, nextPageToken
, per il paging attraverso set di dimensioni maggiori del batch, batchSize
, che per impostazione predefinita ha un massimo di 300. Quando si richiede un elenco di fields
, se un particolare campo è richiesto ma non restituito, il valore è implicitamente nullo.
Crea e aggiorna
Le opportunità seguono da vicino il pattern API dei lead, con alcune limitazioni. I valori disponibili per action
sono: createOnly, createOrUpdate e updateOnly. Quando si utilizza la modalità createOnly o createOrUpdate, il campo externalOpportunityId deve essere incluso in ogni record. Per la modalità updateOnly è possibile utilizzare marketoGUID o externalOpportunityId. La modalità predefinita è createOrUpdate se non specificata.
Il parametro lookupField
dell'API lead non è disponibile e viene sostituito dal parametro dedupeBy, valido solo se action è updateOnly. I valori disponibili per dedupeBy sono "dedupeFields" o "idField" specificati dalla chiamata di descrizione rispettivamente come externalOpportunityId e marketoGUID. Se dedupeBy non è specificato, per impostazione predefinita viene utilizzata la modalità dedupeFields. Il campo "name" non può essere nullo.
È possibile inviare fino a 300 record alla volta.
POST /rest/v1/opportunities.json
{
"action":"createOrUpdate",
"dedupeBy":"dedupeFields",
"input":[
{
"externalOpportunityId":"19UYA31581L000000",
"name":"Chairs",
"description":"Chairs",
"amount":"1604.47",
"source":"Inbound Sales Call/Email"
},
{
"externalOpportunityId":"29UYA31581L000000",
"name":"Big Dog Day Care-Phase12",
"description":"Big Dog Day Care-Phase12",
"amount":"1604.47",
"source":"Email"
}
]
}
{
"requestId":"e42b#14272d07d78",
"success":true,
"result":[
{
"seq":0,
"status":"updated",
"marketoGUID":"dff23271-f996-47d7-984f-f2676861b5fb"
},
{
"seq":1,
"status":"created",
"marketoGUID":"cff23271-f996-47d7-984f-f2676861b5fb"
}
]
}
L'API risponderà con marketoGUID
per ogni record, nonché con un campo status
, che indica l'esito positivo o negativo di ogni record e un campo seq
utilizzato per correlare i record inviati, in base all'ordine della risposta. Il numero nel campo è l’indice del record inviato nella richiesta.
Campi
L’oggetto company contiene un set di campi. Ogni definizione di campo è composta da un insieme di attributi che descrivono il campo. Esempi di attributi sono nome visualizzato, nome API e dataType. Questi attributi sono noti collettivamente come metadati.
I seguenti endpoint consentono di eseguire query sui campi dell’oggetto aziendale. Queste API richiedono che l'utente API proprietario abbia un ruolo con una o entrambe le autorizzazioni Read-Write Schema Standard Field
o Read-Write Schema Custom Field
.
Campi query
La query dei campi dell’opportunità è semplice. Puoi eseguire query in un singolo campo aziendale per nome API o nel set di tutti i campi aziendali.
Per nome
L'endpoint Ottieni campo opportunità per nome recupera i metadati per un singolo campo nell'oggetto aziendale. Il parametro di percorso fieldApiName
richiesto specifica il nome API del campo. La risposta è simile all'endpoint Describe Opportunity ma contiene metadati aggiuntivi, ad esempio l'attributo isCustom
, che indica se il campo è un campo personalizzato.
GET /rest/v1/opportunities/schema/fields/externalOpportunityId.json
{
"requestId": "12331#17e9779cb4b",
"result": [
{
"displayName": "SFDC Oppty Id",
"name": "externalOpportunityId",
"description": null,
"dataType": "string",
"length": 50,
"isHidden": false,
"isHtmlEncodingInEmail": true,
"isSensitive": false,
"isCustom": false,
"isApiCreated": false
}
],
"success": true
}
Sfogliare
L'endpoint Get Opportunity Fields recupera i metadati per tutti i campi nell'oggetto società. Per impostazione predefinita, vengono restituiti al massimo 300 record. È possibile utilizzare il parametro di query batchSize
per ridurre questo numero. Se l'attributo moreResult
è true, significa che sono disponibili altri risultati. Continua a chiamare questo endpoint fino a quando l’attributo moreResult restituisce false, il che significa che non sono disponibili risultati. I nextPageToken
restituiti da questa API devono essere sempre riutilizzati per la successiva iterazione di questa chiamata.
GET /rest/v1/opportunities/schema/fields.json?batchSize=5
{
"requestId": "b4a#17e995b31da",
"result": [
{
"displayName": "SFDC Oppty Id",
"name": "externalOpportunityId",
"description": null,
"dataType": "string",
"length": 50,
"isHidden": false,
"isHtmlEncodingInEmail": true,
"isSensitive": false,
"isCustom": false,
"isApiCreated": false
},
{
"displayName": "Name",
"name": "name",
"description": null,
"dataType": "string",
"length": 255,
"isHidden": false,
"isHtmlEncodingInEmail": true,
"isSensitive": false,
"isCustom": false,
"isApiCreated": false
},
{
"displayName": "Description",
"name": "description",
"description": null,
"dataType": "string",
"length": 2000,
"isHidden": false,
"isHtmlEncodingInEmail": true,
"isSensitive": false,
"isCustom": false,
"isApiCreated": false
},
{
"displayName": "Type",
"name": "type",
"description": null,
"dataType": "string",
"length": 255,
"isHidden": false,
"isHtmlEncodingInEmail": true,
"isSensitive": false,
"isCustom": false,
"isApiCreated": false
},
{
"displayName": "Stage",
"name": "stage",
"description": null,
"dataType": "string",
"length": 255,
"isHidden": false,
"isHtmlEncodingInEmail": true,
"isSensitive": false,
"isCustom": false,
"isApiCreated": false
}
],
"success": true,
"nextPageToken": "E5ZONGE4SAHALYYW6FS25KB5BM======",
"moreResult": true
}