API de descanso de Salesforce

Api De Descanso De Salesforce



En esta guía, analizaremos cómo insertar los registros en Salesforce con REST API a través de los métodos HTTP POST y PUT en Workbench. Como parte de esta guía, analizaremos cómo usar Workbench y obtener registros específicos mediante sObject, obtener varios registros de un objeto mediante consulta y obtener los registros escribiendo la API REST personalizada de Apex.

Método POST

POST es un método http que agrega registros únicos/múltiples a la vez en Salesforce. Podemos insertar los registros con URI a través de la API REST de Apex personalizada o directamente desde URI.

Recurso de descanso personalizado en Apex

Para escribir REST en Apex, debemos utilizar algunas anotaciones que acceden a la API de REST en su clase de Apex.







@HttpPost Anotación

Se llama a este método cuando se envía HTTP POST que permite exponer el método de Apex como un recurso REST. Luego, crea un nuevo recurso.



Sintaxis: @httpPost

Ejemplo:



Escriba la clase de Apex 'RestApi_Post_Record.apxc' que involucra el método REST 'POST' para insertar los campos de estado, prioridad y asunto en el objeto 'Caso' de Salesforce.





  1. Cree Post_Method con tres parámetros: estado, prioridad y asunto del tipo de cadena.
  2. Cree un objeto 'Caso' pasando estos parámetros.
  3. Utilice la inserción DML para insertar el registro en el objeto 'Caso' de Salesforce.
@RestResource(urlMapping='/v56.0/RestApi_Post_Record/')
clase global RestApi_Post_Record{
   
// REST - Método de publicación
@httpPost
Global static Case Post_Method(Prioridad de cadena, Estado de cadena, Asunto de cadena){
Case case_obj= new Case(Priority=priority,Status = status,Subject=asunto);

// Insertar DML
insertar case_obj;
volver case_obj;
    }
}

URI y resultado:

Vaya a Workbench y navegue hasta REST Explorer. Especifique el siguiente URI y ejecútelo:



/services/apexrest/v56.0/RestApi_Post_Record/

Especifique los datos en el cuerpo de la solicitud:

{
'Prioridad':'Alta',
'Estado':'Nuevo',
'Asunto':'Problema móvil'
}

 

Abra el registro en Salesforce (navegue hasta el objeto 'Caso' desde el Iniciador de aplicación).

Insertar un solo registro directamente desde URI

Navegue al Explorador de REST en la pestaña 'Utilidades' y especifique el siguiente URI y especifique este registro en el Cuerpo de la solicitud:

/services/data/v56.0/sobjects/Case/

Cuerpo de la solicitud:

{
'Prioridad':'Media',
'Estado':'Nuevo',
'Subject':'Equipos de Microsoft: no se acercan'
}

Vaya a la pestaña 'Casos' de Salesforce y vea el registro.

Insertar registros múltiples directamente desde URI

Si desea insertar varios registros a la vez, debemos especificar el URI de la siguiente manera: /services/data/v56.0/composite/tree/sObject

El cuerpo de la solicitud mantiene los registros en el siguiente formato:

'registros' :[{
'atributos': {'tipo': 'Objeto', 'referenciaId': 'referencia1'},
campo:valor,
    ...
    ...
    },{
'atributos': {'tipo': 'Objeto', 'referenciaId': 'referencia1'},
campo:valor,
    ...
    ...
    }]
}

Insertemos dos registros en el objeto 'Caso' de Salesforce.

URI: /services/data/v56.0/composite/tree/Case/

Cuerpo de la solicitud:

{
'registros' :[{
'atributos': {'tipo': 'Caso', 'referenciaId': 'referencia1'},
'Prioridad':'Alta',
'Estado':'Nuevo',
'Subject':'Problema de diseño con rotor mecánico',
'Tipo':'Eléctrico'
    },{
'atributos': {'tipo': 'Caso', 'referenciaId': 'referencia2'},
'Prioridad':'Baja',
'Estado':'Nuevo',
'Subject':'Generador de arranque después de una falla eléctrica',
'Tipo':'Eléctrico'
    }]
}

Se insertan dos registros en Salesforce con CaseNumber 00001038 y 00001039.

Método PUT

Como discutimos anteriormente, PUT es un método http que se usa para crear/actualizar los registros. En esta guía, utilizamos este método para crear un nuevo registro de Salesforce utilizando la API REST personalizada.  

@httpPut : este método se llama cuando se envía HTTP PUT, lo que permite que el método de Apex se exponga como un recurso REST. Luego, crea un nuevo recurso o actualiza el recurso existente.

Sintaxis: @httpPut

Ejemplo:

Escriba la clase de Apex 'RestApi_Put_Record.apxc' que involucra el método REST 'PUT' para insertar los campos de estado, prioridad y descripción en el objeto 'Caso' de Salesforce.

@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')
clase global RestApi_Put_Record{
   
// REST - Método de colocación
@httpPut
Global static Case Put_Method(Prioridad de cadena, Estado de cadena, Asunto de cadena){
Case case_obj= new Case(Priority=priority,Status = status,Subject=asunto);

// Insertar DML
insertar case_obj;
volver case_obj;
    }
}

URI y resultado:

Vaya a Workbench y navegue hasta REST Explorer. Especifique el siguiente URI y ejecútelo:

/services/apexrest/v56.0/RestApi_Put_Record/

Especifique los datos en el cuerpo de la solicitud:

{
'Prioridad':'Alta',
'Estado':'Cerrado',
'Subject':'Se necesita una guía para moler vegetales'
}

Abra el registro en Salesforce (navegue hasta el objeto 'Caso' desde el Iniciador de aplicación).

Conclusión

Ahora, puede insertar los registros en Salesforce utilizando los métodos PUT y POST de http. Aprendimos cómo insertar los registros directamente en Workbench y usar la API REST personalizada a través de la clase de Apex. El objeto 'Caso' de Salesforce se utiliza en esta guía como ejemplo. La diferencia real entre PUT y POST es que POST se usa para insertar los datos, mientras que PUT se usa para insertar/actualizar los datos. La anotación @httpPut se usa para el método PUT y la anotación @httpPost se usa para el método POST.