2012-02-10 15 views
5

¿Alguien sabe cómo recuperar el límite de api de las solicitudes diarias de SFDC a través de SOAP o REST? No veo ninguna llamada para esto. Actualmente tengo que acceder a esta información en la página de información de la compañía. Me gustaría recuperar esta información en el nivel de código para el procesamiento por lotes.Recuperar el límite de Solicitudes Api diarias de Salesforce

Gracias!

Respuesta

3

Estamos utilizando un código personalizado para solucionar este:

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;  
} 

Espero que ayude.

Saludos, Łukasz

+0

gracias por su sugerencia Lukasz! Jugaré con esto. Saludos, –

4

Esta información no se expuso en la API.

A partir de Salesforce Spring '15 y la API REST versión 29.0, el recurso/limits se puede utilizar para recuperar esta información. https://developer.salesforce.com/releases/release/Spring15/restapi

Además, el encabezado Sforce-Limit-Info se devuelve con cada respuesta REST.

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

+2

Es totalmente inviable para contar el número de solicitudes que ha realizado en un período de 24 horas dado en el lado del cliente? No es particularmente elegante, pero suena como si fuera tu única opción. –

+0

Sí, actualmente tenemos que controlar este límite de API mediante el sistema de alerta SFDC (por ejemplo, una API que se aproxima al límite del 80%). Deseo que SFDC implemente tal llamada en la API o si alguien sabe de alguna solución sería bueno recuperar esta información del código. Gracias. –

1

que utilizan la API REST. Elija un método HTTP GET para realizar en el URI del servicio API REST: "/services/data/v31.0/limits". Me permite obtener datos de DailyApiRequests.

Devuelve:

{ "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 } }

Cuestiones relacionadas