Online Management API, Office 365 hesabınızla Ortak Veri Hizmeti (Common Data Services) ortamları oluşturmanıza ve yönetmenize olanak tanıyan bir REST API’dır.
- Bu API, normalde Dynamics 365 Yönetim Merkezi ile ilişkilendirilmiş yönetim işlevlerini API üzerinden gerçekleştirmenize olanak tanır.
- Admin API’ın bir diğer önemli avantajı, yedekleme ve geri yükleme işlemleriniz üzerinde daha fazla denetime sahip olmanıza ve ALM işlemlerinizi otomatikleştirmenize izin vermesidir.
Servis URL
Servis URL aşağıdaki gibi bir yapıya sahiptir, ama bunu ezberlemenize gerek yok;
{ServiceUrl}/api/v1.2/{resource}
Çünkü https://admin.services.crm4.dynamics.com/swagger/ui/index adresi üzerinden API arabirimine bağlanıp detaylı bilgi alıp işlemleri orada yapabilirsiniz.
Burada tek dikkat edilmesi gereken nokta ise bu API aşağıdaki tablodan da görebileceğiniz üzere instance bazlı hizmet vermektedir.
Location | Service URL |
---|---|
North America | https://admin.services.crm.dynamics.com |
North America 2 | https://admin.services.crm9.dynamics.com |
Europe, Middle East and Africa (EMEA) | https://admin.services.crm4.dynamics.com |
Asia Pacific (APAC) | https://admin.services.crm5.dynamics.com |
Oceania | https://admin.services.crm6.dynamics.com |
Japan (JPN) | https://admin.services.crm7.dynamics.com |
South America | https://admin.services.crm2.dynamics.com |
India (IND) | https://admin.services.crm8.dynamics.com |
Canada | https://admin.services.crm3.dynamics.com |
United Kingdom (UK) | https://admin.services.crm11.dynamics.com |
France | https://admin.services.crm12.dynamics.com |

Bu tool bir Web API olduğu için herhangi bir kod içerisinden de çağırabilirsiniz. Aşağıdaki kod ile instance’ları alabilrsiniz
HttpRequestMessage myRequest = new HttpRequestMessage(HttpMethod.Get, "/api/v1/instances"); HttpResponseMessage myResponse = await httpClient.SendAsync(myRequest); if (myResponse.IsSuccessStatusCode) { var result = myResponse.Content.ReadAsStringAsync().Result; Console.WriteLine("Your instances retrieved from Office 365 tenant: \n{0}", result); } else { Console.WriteLine("The request failed with a status of '{0}’”, myResponse.ReasonPhrase); }
Ayrıca Microsoft bu API için bir de PowerShell arabirimi de sunuyor. Aşağıdaki adresten indireceğiniz paket ile PowerShell esnekliğini kullanarak çözümler üretebilirsiniz.
https://www.powershellgallery.com/packages/Microsoft.Xrm.OnlineManagementAPI/1.1.0.9051
$user = “admin@sfa.contoso.onmicrosoft.com” $password = “password” #Create Credentials $SecPassword = ConvertTo-SecureString $password -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential ($user, $SecPassword) $connectionhost = "https://admin.service.crm11.dynamics.com" $instances = Get-CrmInstances -ApiUrl $connectionhost -Credential $cred $instances
Yukarıdaki kod da size instance’ların ismini verecektir.
Bu şekilde instance detaylarına ulaşabilir kendinize yeni ortamları otomatik oluşturup/silebilir, yedek alabilir vs.. birçok işlemi yapabilirsiniz.
Daha fazla bilgiye şu iki makaleden ulaşabilirsiniz;
https://docs.microsoft.com/en-us/rest/api/admin.services.crm.dynamics.com/