2012-02-10 11 views
5

Qualcuno sa come recuperare il limite di API al giorno di richieste SFDC tramite SOAP o REST? Non vedo nessuna chiamata per questo. Attualmente devo accedere a queste informazioni nella pagina Informazioni aziendali. Vorrei recuperare queste informazioni a livello di codice per l'elaborazione in batch.Recupera il limite di richieste APS di Salesforce Daily

Grazie!

risposta

3

Stiamo utilizzando il codice personalizzato per risolvere questo:

WebService static string GetAPIUsage() { 
    PageReference pr = new PageReference('/00D20000000HsCQ');//use id of setup page 
    pr.setRedirect(false); 
    String result = pr.getContent().toString(); 
    Integer start_index = result.indexOf('API Requests, Last 24 Hours', 1) + 52; 
    Integer end_index = result.indexOf('<', start_index); 
    result = result.substring(start_index, end_index); 
    result = result.replaceAll('&nbsp;', ' '); 
    return result;  
} 

Speranza che aiuta.

saluti, Łukasz

+0

grazie per il tuo suggerimento Lukasz! Giocherò con questo. Cordiali saluti, –

4

Questa informazione non è stata esposta nell'API.

A partire da Salesforce Spring '15 e REST API versione 29.0, la risorsa/limits può essere utilizzata per recuperare queste informazioni. https://developer.salesforce.com/releases/release/Spring15/restapi

Inoltre, l'intestazione Sforza-Limite-Info viene restituita con ogni risposta REST.

https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/headers_api_usage.htm

+2

E 'del tutto impraticabile per contare il numero di richieste effettuate in un determinato periodo di 24 ore sul lato client? Non particolarmente elegante ma sembra che potrebbe essere la tua unica scelta. –

+0

al momento dobbiamo monitorare questo limite di API utilizzando il sistema di allarme SFDC (es: api che si avvicina al limite dell'80%). Vorrei che SFDC implementasse tale chiamata nell'api o se qualcuno fosse a conoscenza di qualche soluzione sarebbe bello recuperare queste informazioni dal codice. Grazie. –

1

ho usato REST API. Scegli un metodo HTTP GET da eseguire sull'URI del servizio API REST: "/services/data/v31.0/limits". Mi consente di ottenere i dati di DailyApiRequests.

Restituisce:

{ "ConcurrentAsyncGetReportInstances" : { "Remaining" : 200, "Max" : 200 }, "ConcurrentSyncReportRuns" : { "Remaining" : 20, "Max" : 20 }, "DailyApiRequests" : { "Remaining" : 14995, "Max" : 15000 }, "DailyAsyncApexExecutions" : { "Remaining" : 250000, "Max" : 250000 }, "DailyBulkApiRequests" : { "Remaining" : 5000, "Max" : 5000 }, "DailyStreamingApiEvents" : { "Remaining" : 10000, "Max" : 10000 }, "DailyWorkflowEmails" : { "Remaining" : 390, "Max" : 390 }, "DataStorageMB" : { "Remaining" : 5, "Max" : 5 }, "FileStorageMB" : { "Remaining" : 20, "Max" : 20 }, "HourlyAsyncReportRuns" : { "Remaining" : 1200, "Max" : 1200 }, "HourlyDashboardRefreshes" : { "Remaining" : 200, "Max" : 200 }, "HourlyDashboardResults" : { "Remaining" : 5000, "Max" : 5000 }, "HourlyDashboardStatuses" : { "Remaining" : 999999999, "Max" : 999999999 }, "HourlySyncReportRuns" : { "Remaining" : 500, "Max" : 500 }, "HourlyTimeBasedWorkflow" : { "Remaining" : 50, "Max" : 50 }, "MassEmail" : { "Remaining" : 10, "Max" : 10 }, "SingleEmail" : { "Remaining" : 15, "Max" : 15 }, "StreamingApiConcurrentClients" : { "Remaining" : 20, "Max" : 20 } }

Problemi correlati