Dijeli putem


Osnovne operacije na segmentima pomoću API-ja za segmentiranje

Napomena

1. rujna 2023. Dynamics 365 Marketing i Dynamics 365 Customer Insights prodavat će se zajedno kao jedan SKU proizvoda pod nazivom Dynamics 365 Customer Insights. Pojedinačne aplikacije preimenovat će se u Dynamics 365 Customer Insights – putovi i Dynamics 365 Customer Insights – podaci. Dodatne informacije potražite u Najčešćim pitanjima o sustavu Dynamics 365 Customer Insights

Nadalje, 1. runja 2023. novi klijenti s aplikacijom Dynamics 365 Marketing dobit će samo značajke marketinga u stvarnom vremenu. Dodatne informacije potražite u Zadana instalacija marketinga u stvarnom vremenu. Mnogo stranica dokumentacije trenutno upućuje na izlazne značajke koje možda nisu dostupne ili funkcioniraju drugačije u marketingu u stvarnom vremenu. Sadržaj dokumentacije ažurirat će se u rujnu kako bi se naznačilo odnosi li se na marketing u stvarnom vremenu ili na izlazni marketing.

Važno

Ovaj se članak odnosi samo na izlazni marketing.

Tržišni segment zbirka je kontakata koje ciljate u nekoj marketinškoj kampanji. U nekim ćete slučajevima ciljati sve kontakte koje imate, ali u većini slučajeva odabrat ćete koga želite ciljati na temelju demografskih ili firmografskih podataka i drugih razmatranja. Više informacija: Rad sa segmentima.

API segmentacije omogućuje programsku interakciju sa zapisima segmenata. API segmentacije koristi standardni Microsoft Dataverse web-API za rukovanje entitetima ili porukama. Dodatne informacije: Korištenje web-API-ja Microsoft Dataverse . Kada kreirate segment, svojstva segmenta pohranjuju se u msdyncrm_segment entitet. Informacije o metapodacima entiteta možete pregledavati pomoću @odata.context odgovora GET .

Napomena

Prije izvođenja operacija trebali biste instalirati Dynamics 365 Customer Insights - Putovanja.

Ova tema pokazuje kako obavljati osnovne operacije na msdyncrm_segment entitetu. Proslijedite sljedeća obavezna polja da biste kreirali segment.

Zaslonski naziv Naziv sheme Vrijednost Obvezno
Ime/naziv msdyncrm_segmentname Naziv segmenta. Da.
Vrsta segmenta msdyncrm_segmenttype Vrsta segmenta. Postoje 3 vrste segmenata:
-Statički 192350001
-Dinamičan 192350000
-Spoj 192350002
Da.
Razlog statusa šifrastanja Trenutno stanje segmenta. Slijede dostupni kodovi stanja:
-Nacrt 192350000
-Živjeti 192350001
-Zaustavljen 192350002
- Going Live 192350006
-Plomba 192350007
Da.
Upit segmenta msdyncrm_query Upit u upitu segmentiranja. Da (samo za dinamičke i složene segmente).

Da biste testirali operacije, možete koristiti alat Poštar. Dodatne informacije: Koristite poštara s web-API-jem.

CRUD operacije na statičkim segmentima

Ovaj odjeljak pokazuje kako izvršiti osnovne CRUD (stvaranje, ažuriranje, dohvaćanje i brisanje) operacija na statičkim segmentima.

Stvori zahtjev

Ovaj zahtjev stvara novi statički segment s dva kontakta i statuscode postavljen je na Draft. Zaglavlje odgovora sadrži URL ovog novostvorenog zapisa (instance entiteta), koji u zagradi uključuje jedinstveni ID (IDPgmenata za ovaj zapis.

Važno

Morate zamijeniti OrgUrl https://<add your environment name, like 'myorg.crm'>.dynamics.com. Naziv okruženja možete dobiti i iz odjeljka Postavke-prilagodbe-resursi>> za razvojne inženjere.

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_segments
{
  "msdyncrm_segmentname": "StaticSegmentApi1",
  "msdyncrm_segmenttype": 192350001,
  "msdyncrm_segmentmemberids": "[\"crm1405f4ba-1ee9-e811-a99d-000d3a35f12f\",\"crm0604cdd1-1ee9-e811-a99d-000d3a35f12f\"]",
  "statuscode": 192350000
}

Važno

Svrha crm prefiksa je nedvosmisleno naznačiti vrstu identifikatora zapisa. To je potrebno kada koristite naslijeđeno rješenje segmentiranja, koje po zadanom koristi drugu vrstu identifikatora.

Zahtjev za ažuriranjem

Pomoću zahtjeva za ažuriranjem ažurirate statuscode statički segment na Going Live (192350006). Kada se zahtjev izvrši, ažurira statuscode se na Live.

PATCH {{OrgUrl}}/api/data/v9.0/msdyncrm_segments({{SegmentId}})
{
  "statuscode": 192350006
}

Dohvati zahtjev

Pomoću zahtjeva za dohvaćanje dohvaćate sve statičke segmente koji se nalaze u Live stanju.

GET {{OrgUrl}}/api/data/v9.0/msdyncrm_segments?$filter=statuscode eq 192350001

Također možete dohvatiti segmente s određenim svojstvima.

GET {{OrgUrl}}/api/data/v9.0/msdyncrm_segments?$select=msdyncrm_segmentid,msdyncrm_segmentname,msdyncrm_segmentquery,msdyncrm_description

Izbriši zahtjev

Pomoću zahtjeva za brisanje brišete stvorenu statički segment.

DELETE {{OrgUrl}}/api/data/v9.0/msdyncrm_segments({{SegmentId}})

CRUD operacije na dinamičkim segmentima

Ovaj odjeljak prikazuje kako izvesti osnovne CRUD (stvaranje, ažuriranje, dohvaćanje i brisanje) operacija na dinamičkim segmentima. Dinamički segmenti temelje se na upitu segmenta (msdyncrm_segmentquery). Dodatne informacije: Definicija upita segmenta.

Stvori zahtjev

Ovaj zahtjev stvara dinamički segment i postavlja statuscode se na Draft.

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_segments
{
    "msdyncrm_segmentname": "Customers with name and email",
    "msdyncrm_segmentquery": "PROFILE(contact, contact_1).FILTER(ISNOTNULL(contact_1.emailaddress1) && ISNOTNULL(contact_1.fullname))",
    "msdyncrm_segmenttype": 192350000,
    "statuscode": 192350000
}

Sljedeći zahtjev stvara dinamički segment s upitom uvjetnog segmenta za dohvaćanje samo kontakata na koje je address1_city polje postavljeno NewYork na ili NewJersey.

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_segments
{
    "msdyncrm_segmentname": "MySegment2",
    "msdyncrm_segmentquery": "PROFILE(contact).FILTER((address1_city == 'NewYork' || address1_city == 'NewJersey'))",
    "msdyncrm_segmenttype": 192350000,
    "statuscode": 192350006
}

Sljedeći zahtjev stvara novi dinamički segment i postavlja statuscode se na Going Live.

POST api/data/v9.0/msdyncrm_segments
{

  "msdyncrm_segmentname": "Customers with name and email",
  "msdyncrm_segmenttype": 192350000,
  "msdyncrm_segmentquery": "PROFILE(contact, contact_1).FILTER(ISNOTNULL(contact_1.emailaddress1) && ISNOTNULL(contact_1.fullname))",
  "statuscode": 192350006
}

Zahtjev za ažuriranjem

Pomoću zahtjeva za ažuriranje ažurirate status dinamički segment na Going Live.

PATCH {{OrgUrl}}/api/data/v9.0/msdyncrm_segments({{SegmentId}})
{
    "statuscode": 192350006
}

Napomena

Preporučuje se da se segmenti ne premještaju izravno u Live stanje.

Dohvati zahtjev

Pomoću zahtjeva za dohvaćanje dohvaćate sve dinamičke segmente koji se nalaze u Stop stanju.

GET {{OrgUrl}}/api/data/v9.0/msdyncrm_segments?$filter=statuscode eq 192350002

Izbriši zahtjev

Pomoću zahtjeva za brisanje brišete dinamički segment koja je stvorena.

DELETE {{OrgUrl}}/api/data/v9.0/msdyncrm_segments({{SegmentId}})

CRUD operacije na složenim segmentima

Ovaj odjeljak prikazuje kako izvršiti osnovne CRUD (stvaranje, ažuriranje, dohvaćanje i brisanje) operacija na složenim segmentima.

Stvori zahtjev

Ovaj zahtjev stvara složeni segment i postavlja statuscode se na Going Live.

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_segments
{
    "msdyncrm_segmentname": "my_compound_segment1",
    "msdyncrm_segmenttype": 192350002,
    "msdyncrm_query":"SEGMENT(segment1) UNION SEGMENT(segment2)",
    "statuscode": 192350006
}

Zahtjev za ažuriranjem

Pomoću zahtjeva za ažuriranjem ažurirate status složeni segment na Stopping.

PATCH {{OrgUrl}}/api/data/v9.0/msdyncrm_segments({{SegmentId}})
{
    "statuscode": 192350007
}

Napomena

Preporučuje se da se segmenti ne premještaju izravno u Stopped stanje.

Dohvati zahtjev

Pomoću zahtjeva za dohvaćanje dohvaćate sve složene segmente koji se nalaze u Stop stanju.

GET {{OrgUrl}}/api/data/v9.0/msdyncrm_segments?$filter=statuscode eq 192350002

Izbriši zahtjev

Pomoću zahtjeva za brisanje brišete složeni segment koja je stvorena.

DELETE {{OrgUrl}}/api/data/v9.0/msdyncrm_segments({{SegmentId}})

Dodavanje/uklanjanje kontakata u statičke segmente

Članovi segmenta mogu se dodati u statičke segmente kontakata ili ukloniti iz njih. Kontakte možete dodavati/uklanjati pružanjem definicije upita ili pružanjem određenih ID-ova kontakata.

Neki od važnih aspekata koje je potrebno uzeti u obzir prilikom izvođenja operacija dodavanja/uklanjanja na članovima segmenata:

  • Samo instance vrste entiteta Kontakt mogu se dodati/ukloniti kao članovi.
  • Ako navedeni ID-ovi kontakata ne postoje, zanemaruju se.
  • Zahtjevi za dodavanje/uklanjanje članova obrađuju se asinkrono.
  • Kontakte možete dodavati/uklanjati pozivanjem krajnja točka više puta, obično u serijama do 20.000 kontakata svaki put.

Dodavanje članova segmenta pružanjem ID-ova

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_SegmentMembersUpdate
{
   "msdyncrm_segmentid": "59AC8BBF-57E7-E811-A9A9-000D3A35F403",
   "msdyncrm_operation": "addByIds",
   "msdyncrm_memberids": "[\"B5672BDB-8899-43CB-9FA1-0AE4DC61DAD3\", \"694E1C8E-F704-4B23-9B07-E65DB1620E47\", \"A4A31E3D-DFCA-4765-8018-3BA7D5E376C7\"]"
}

Uklanjanje članova segmenta unosom ID-ova

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_SegmentMembersUpdate
{
   "msdyncrm_segmentid": "59AC8BBF-57E7-E811-A9A9-000D3A35F403",
   "msdyncrm_operation": "removeByIds",
   "msdyncrm_memberids": "[\"B5672BDB-8899-43CB-9FA1-0AE4DC61DAD3\", \"694E1C8E-F704-4B23-9B07-E65DB1620E47\", \"A4A31E3D-DFCA-4765-8018-3BA7D5E376C7\"]"
}

Dodavanje članova segmenta pružanjem upita

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_SegmentMembersUpdate
{
    "msdyncrm_segmentid": "b5466fbb-2cef-e911-a81d-000d3a6d200c",
    "msdyncrm_operation": "addByQuery",
    "msdyncrm_query": "PROFILE(account, account_1).FILTER(account_1.accountid == '1cc00a15-37ef-e911-a81d-000d3a6d200c').TRAVERSE(contact_account_parentcustomerid, contact_1).FILTER(ISNOTNULL(contact_1.emailaddress1))"
}

Uklanjanje članova segmenta pružanjem upita

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_SegmentMembersUpdate
{
    "msdyncrm_segmentid": "b5466fbb-2cef-e911-a81d-000d3a6d200c",
    "msdyncrm_operation": "removeByQuery",
    "msdyncrm_query": "PROFILE(account, account_1).FILTER(account_1.accountid == '1cc00a15-37ef-e911-a81d-000d3a6d200c').TRAVERSE(contact_account_parentcustomerid, contact_1).FILTER(ISNOTNULL(contact_1.emailaddress1))"
}

Dohvaćanje statusa operacija na čekanju

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_SegmentMembersUpdate
{
    "msdyncrm_segmentid":"b5466fbb-2cef-e911-a81d-000d3a6d200c",
    "msdyncrm_operation":"getState"
}

Dohvati članove segmenta (preporučeno)

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_FetchContactsByQuery
{
    "Query":"(SEGMENT(SEGMENT_CRM_ID_e1fa7fdc5c78ea11a811000d3a8e8fcc)).ORDERBY(fullname ASC).SKIP(0).TAKE(15).SELECT(contactid)",
    "FetchXml":"<fetch version=\"1.0\" output-format=\"xml-platform\" mapping=\"logical\" count=\"15\" page=\"1\" returntotalrecordcount=\"true\"><entity name=\"contact\"><attribute name=\"fullname\"/><attribute name=\"emailaddress1\"/><attribute name=\"company\"/><attribute name=\"parentcustomerid\"/><attribute name=\"contactid\"/><order attribute=\"fullname\" descending=\"false\"/></entity></fetch>","OwningBusinessUnit":"0b4b85cc-7f6c-ea11-a811-000d3a54d359",
    "Scope":270100000,
    "TimeZone":null
}

Važno

Na gornjem primjeru zamijenite SEGMENT_CRM_ID_ce97cb9dbd75ea11a811000d3a8e8fcc nazivom segmenta u pozadinskom sustavu, kao što je to u msdyncrm_segmentqueryname polju vašeg segmenta. Ako vaš segment ima ID ce97cb9d-bd75-ea11-a811-000d3a8e8fcc, ta će vrijednost biti SEGMENT_CRM_ID_ce97cb9dbd75ea11a811000d3a8e8fcc.

Dohvati članove segmenta (zastarjelo)

GET {{OrgUrl}}/api/data/v9.0/contacts?fetchXml=fetch version="1.0" output-format="xml-platform" mapping="logical" returntotalrecordcount="true" page="1" count="5" no-lock="false">
    <entity name="contact">
        <attribute name="fullname"/>
        <attribute name="contactid"/>
        <order attribute="fullname" descending="false"/>
        <link-entity name="msdyncrm_segment" from="msdyncrm_segmentid" to="msdyncrm_segmentmemberid" alias="bb">
            <filter type="and">
                <condition attribute="msdyncrm_segmentid" operator="eq" uitype="msdyncrm_segment" value="bfc9d5d6-d6aa-e911-a859-000d3a3159df"/>
            </filter>
        </link-entity>
    </entity>
</fetch>

Provjera valjanosti segmenata

Prije stvaranja ili izmjene segmenta možete provjeriti novu definiciju pomoću namjenskog krajnja točka za provjeru valjanosti. Krajnja točka uvijek vraća HTTP status OK poruku i objekt sa svojstvom ValidationResult koje sadrži niz pogrešaka.

Ako postoji valjana definicija, polje rezultata prikazuje prazno. U suprotnom sadrži zapise za identificirane probleme. Definicija segmenta provjerava se na kreiranju zapisa i kodu stanja postavljenom na Going Live.

Provjera valjanosti namjerno se preskače prilikom stvaranja segmenta u stanju skice . Također nije uspjelo rezultate provjere valjanosti u HTTP 400 s porukom o pogrešci u tijelu odgovora.

Provjera valjane definicije segmenta

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_ValidateSegment
{
       "msdyncrm_segmentname":"NewSegment",
       "msdyncrm_segmentquery":"PROFILE(contact)",
       "msdyncrm_segmenttype":192350000,
       "statuscode":192350000
}

Odaziv

{
…
    "ValidationResult": "[]"
}

Provjera valjanosti definicije segmenta koja nije valjana

POST {{OrgUrl}}/api/data/v9.0/msdyncrm_ValidateSegment
{
       "msdyncrm_segmentname":"NewSegment",
       "msdyncrm_segmentquery":"PROFILE(UnknownEntity)",
       "msdyncrm_segmenttype":192350000,
       "statuscode":192350006
}

Odaziv

{
…
    "ValidationResult": "[{\"ErrorCode\":\"SegmentDciValidator_SegmentInvalid\",\"FieldName\":\"msdyncrm_query\"}]"
}