Operaciones con Usuarios

Utilice las operaciones de usuario para trabajar con la nómina de empleados de su empresa (usuarios del sistema Geovictoria). Mediante la api es posible crear, desactivar (por normativa, no podemos eliminar usuarios) o reactivar usuarios. Geovictoria efectúa un cobro por los usuarios que tenga habilitados en el sistema, así que deberá tener especial cuidado con el uso que le dé a esta parte de la API.

En general, para todas las operaciones de Geovictoria si recibe de vuelta el código 200, es seguro asumir que la operación se realizó correctamente. Vea para esto Buenas Prácticas para mayor información.

Para su solución, entonces, le recomendamos que opere de la siguiente manera:

  1. Crear (activar o desactivar) un usuario
  2. Genere un listado de los usuarios y confirme que haya sido creado (o activado o desactivado según corresponda)

Para seguir los ejemplos deberá generar la siguiente clase:

C#

public class User
{
public string Name {get;set;} //Nombres del usuario
public string LastName {get;set;} //Apellidos del usuario
public string Identifier {get;set;} // Identificador Usuario (rut sin puntos ni guion)
public string Email {get;set;} //Correo electronico del usuario
public string Adress {get;set;} //Direccion del usuario
public string Phone {get;set;} //T del Usuario
public int Enabled {get;set;} // Estado del usuario (Habilitado=1;Desactivado=0)
public string Custom1 {get;set;} //Columna Personalizada 1
public string Custom2 {get;set;} //Columna Personalizada 2
public string Custom3 {get;set;} //Columna Personalizada 3
public string GroupIdentifier {get;set;} //Codigo centro de costos del grupo en Geovictoria al cual pertenece el usuario
public string GroupDescription {get;set;} //Nombre centro de costos del grupo en Geovictoria al cual pertenece el usuario
public string ContractDate {get;set;} //Fecha de inicio de Contrato del Usuario
public string UserProfile {get;set;} //Nombre del perfil del usuario en Geovictoria (si se omite,quedara como "usuario")
public string userScheduler {get;set;} //Nombre del Planificador del Usuario en Geovictoria
public string userCompanyIdentifier {get;set;} //Rut de la Razon social a cual pertenece el usuario (si se omite, quedara la razon social base de la empresa)
public string weeklyHoursCode {get;set;}//Codigo de jornada de trabajo
public string endContractDate {get;set;} // Fecha fin de contrato del usuario
public string positionIdentifier {get;set;} // Codigo del Cargo del usuario en Geovictoria (Consultar listado de cargos)
public string positionName {get;set;} // Descripcion del Cargo del Usuario en Geovictoria
public string integrationCode {get;set;} //Codigo Externo del Usuario(visible solo por Integraciones)
public string UserCard {get;set;} //Codigo de tarjeta - Acceso
public string legalSundayIndicator {get;set;} //Aplica domingos legales
public string legacyHash {get;set;} //ID interno hasheado
public string PIS {get;set;}//Programa de proteccion social (Brazil)
}

JAVA

public class User {
private String Name;
private String LastName;
private String Identifier;
private String Email;
private String Adress;
private String Phone;
private int Enabled;
private String Custom1;
private String Custom2;
private String Custom3;
private String GroupIdentifier;
private String GroupDescription;
private String ContractDate;
private String UserProfile;
private String userScheduler;
private String userCompanyIdentifier;
private String weeklyHoursCode;
private String endContractDate;
private String positionIdentifier;
private String positionName;
private String integrationCode;
private String UserCard;
private String LegalSundayIndicator;
private String LegacyHash;
private String PIS;
public User(String name, String lastName, String identifier, String email, String adress, String phone,
int enabled, String custom1, String custom2, String custom3, String groupIdentifier,
String groupDescription, String contractDate, String userProfile, String userScheduler,
String userCompanyIdentifier, String weeklyHoursCode, String endContractDate, String positionIdentifier,
String positionName, String integrationCode, String userCard, String legalSundayIndicator, String legacyHash, String pis) {
super();
Name = name;
LastName = lastName;
Identifier = identifier;
Email = email;
Adress = adress;
Phone = phone;
Enabled = enabled;
Custom1 = custom1;
Custom2 = custom2;
Custom3 = custom3;
GroupIdentifier = groupIdentifier;
GroupDescription = groupDescription;
ContractDate = contractDate;
UserProfile = userProfile;
this.userScheduler = userScheduler;
this.userCompanyIdentifier = userCompanyIdentifier;
this.weeklyHoursCode = weeklyHoursCode;
this.endContractDate = endContractDate;
this.positionIdentifier = positionIdentifier;
this.positionName = positionName;
this.integrationCode = integrationCode;
this.UserCard = userCard;
this.LegalSundayIndicator = legalSundayIndicator;
this.LegacyHash = legacyHash;
this.PIS = pis;
}

public String getName() {
return Name;
}

public void setName(String name) {
Name = name;
}

public String getLastName() {
return LastName;
}

public void setLastName(String lastName) {
LastName = lastName;
}

public String getIdentifier() {
return Identifier;
}

public void setIdentifier(String identifier) {
Identifier = identifier;
}

public String getEmail() {
return Email;
}

public void setEmail(String email) {
Email = email;
}

public String getAdress() {
return Adress;
}

public void setAdress(String adress) {
Adress = adress;
}

public String getPhone() {
return Phone;
}

public void setPhone(String phone) {
Phone = phone;
}

public int getEnabled() {
return Enabled;
}

public void setEnabled(int enabled) {
Enabled = enabled;
}

public String getCustom1() {
return Custom1;
}

public void setCustom1(String custom1) {
Custom1 = custom1;
}

public String getCustom2() {
return Custom2;
}

public void setCustom2(String custom2) {
Custom2 = custom2;
}

public String getCustom3() {
return Custom3;
}

public void setCustom3(String custom3) {
Custom3 = custom3;
}

public String getGroupIdentifier() {
return GroupIdentifier;
}

public void setGroupIdentifier(String groupIdentifier) {
GroupIdentifier = groupIdentifier;
}

public String getGroupDescription() {
return GroupDescription;
}

public void setGroupDescription(String groupDescription) {
GroupDescription = groupDescription;
}

public String getContractDate() {
return ContractDate;
}

public void setContractDate(String contractDate) {
ContractDate = contractDate;
}

public String getUserProfile() {
return UserProfile;
}

public void setUserProfile(String userProfile) {
UserProfile = userProfile;
}

public String getUserScheduler() {
return userScheduler;
}

public void setUserScheduler(String userScheduler) {
this.userScheduler = userScheduler;
}

public String getUserCompanyIdentifier() {
return userCompanyIdentifier;
}

public void setUserCompanyIdentifier(String userCompanyIdentifier) {
this.userCompanyIdentifier = userCompanyIdentifier;
}

public String getWeeklyHoursCode() {
return weeklyHoursCode;
}

public void setWeeklyHoursCode(String weeklyHoursCode) {
this.weeklyHoursCode = weeklyHoursCode;
}

public String getEndContractDate() {
return endContractDate;
}

public void setEndContractDate(String endContractDate) {
this.endContractDate = endContractDate;
}

public String getPositionIdentifier() {
return positionIdentifier;
}

public void setPositionIdentifier(String positionIdentifier) {
this.positionIdentifier = positionIdentifier;
}

public String getPositionName() {
return positionName;
}

public void setPositionName(String positionName) {
this.positionName = positionName;
}

public String getIntegrationCode() {
return integrationCode;
}

public void setIntegrationCode(String integrationCode) {
this.integrationCode = integrationCode;
}

public void SetUserCard(String userCard){
this.UserCard = userCard;
}

public String getUserCard(){
return this.UserCard;
}

public void SetLegalSundayIndicator(String legalSundayIndicator){
this.LegalSundayIndicator = legalSundayIndicator;
}

public String GetLegalSundayIndicator(){
return this.LegalSundayIndicator;
}

public void SetLegacyHash(String legacyHash){
this.LegacyHash = legacyHash;
}

public String GetLegacyHash(){
return this.LegacyHash;
}

public void SetPIS(String pis){
this.PIS = pis;
}

public String GetPIS(){
return this.PIS;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
}
}

 

Listado Usuarios

URI http://apiv3.geovictoria.com/api/User/List
Parámetros Ninguno
Metodo POST

Codigo Ejemplo C#

using RestSharp;
using RestSharp.Authenticators;
//(...)
var client = new RestClient("http://apiv3.geovictoria.com/api"); //Url del servicio
string consumerkey="consumerKey"; //Key
string consumersecret = "consumerSecret"; //Secret
client.Authenticator = OAuth1Authenticator.ForProtectedResource(consumerkey, consumersecret, string.Empty, string.Empty);
var request = new RestRequest("/User/List", Method.POST); // /User: Operation. Always use "POST"
var response = client.Execute(request);
var content = response.Content; //Get Response
Console.WriteLine(content); //Output to screen

Codigo Ejemplo JAVA


JSONObject obj=new JSONObject();
String API_KEY = "consumerKey";
String API_SECRET = "consumerSecret";
String OPENGEO_CONTEXT_URL = "http://apiv3.geovictoria.com/api/User/List";
OAuthService service = new ServiceBuilder()
.provider(ApiVictoria.class)
.apiKey(API_KEY)
.apiSecret(API_SECRET)
.build();
Token token = new Token("", "");
OAuthRequest request = new OAuthRequest(Verb.POST, OPENGEO_CONTEXT_URL);
request.setCharset("utf-8");
request.setConnectionKeepAlive(true);
request.addHeader("Content-Type","application/json");
request.addHeader("Accept","application/json");
service.signRequest(token, request);
Response response = request.send();
Object obj=JSONValue.parse(response.getBody());
JSONArray array=(JSONArray)obj;

Codigo Ejemplo PHP


$request = OAuthRequest::from_consumer_and_token($consumer, NULL, 'POST', $base_feed, $params);
// Sign the constructed OAuth request using HMAC-SHA1
$request->sign_request(new OAuthSignatureMethod_HMAC_SHA1(), $consumer, NULL);
// Make signed OAuth request to the Contacts API server
$url = $base_feed . '?' . implode_assoc('=', '&', $params);
echo send_request($request->get_normalized_http_method(), $url, $request->to_header());
/**
* Makes an HTTP request to the specified URL
* @param string $http_method The HTTP method (GET, POST, PUT, DELETE)
* @param string $url Full URL of the resource to access
* @param string $auth_header (optional) Authorization header
* @param string $postData (optional) POST/PUT request body
* @return string Response body from the server
*/
function send_request($http_method, $url, $auth_header=null, $postData=null) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
switch($http_method) {
case 'GET':
if ($auth_header) {
curl_setopt($curl, CURLOPT_HTTPHEADER, array($auth_header));
}
break;
case 'POST':
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/atom+xml',
$auth_header));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
break;
case 'PUT':
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/atom+xml',
$auth_header));
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $http_method);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
break;
case 'DELETE':
curl_setopt($curl, CURLOPT_HTTPHEADER, array($auth_header));
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $http_method);
break;
}
$response = curl_exec($curl);
if (!$response) {
$response = curl_error($curl);
}
curl_close($curl);
return $response;
}
/**
* Joins key:value pairs by inner_glue and each pair together by outer_glue
* @param string $inner_glue The HTTP method (GET, POST, PUT, DELETE)
* @param string $outer_glue Full URL of the resource to access
* @param array $array Associative array of query parameters
* @return string Urlencoded string of query parameters
*/
function implode_assoc($inner_glue, $outer_glue, $array) {
$output = array();
foreach($array as $key => $item) {
$output[] = $key . $inner_glue . urlencode($item);
}
return implode($outer_glue, $output);
}
?>

Respuesta

Geovictoria le devolverá un Status Code 200 (OK, según protocolo HTTP) en caso exitoso.

Agregar Usuario (Add)

CUIDADO: Esta operación tiene efectos en la facturación de la empresa. Recuerde que Victoria cobra por cada usuario habilitado durante el mes así que use esta opción con cuidado.

URI http://apiv3.geovictoria.com/api/User/Add
Parámetros Objeto Usuario en el cuerpo del request. Debe ir al menos el correo ó el identificador
Metodo POST

Codigo Ejemplo C#

var client = new RestClient("http://apiv3.geovictoria.com/api");
string consumerkey="consumerKey"; //Key
string consumersecret = "consumerSecret"; //Secret
client.Authenticator = OAuth1Authenticator.ForProtectedResource(consumerkey, consumersecret, string.Empty, string.Empty);
var request = new RestRequest("/User/Add", Method.POST);
request.RequestFormat = DataFormat.Json;
Usuario u = new Usuario() { Email = "userMail@mymail.com", LastName = "Smith", Identifier = "553342", Name = "Carl" };
request.AddBody(u);
var response = client.Execute(request);
var content = response.Content;

Codigo de Ejemplo JAVA


JSONObject obj=new JSONObject();
obj.put("Identifier", "123456789");
obj.put("Email","john@gmail.com");
obj.put("Name","John");
obj.put("LastName","Smith");
String API_KEY = "consumerKey";
String API_SECRET = "consumerSecret";
String OPENGEO_CONTEXT_URL = "http://apiv3.geovictoria.com/api/User/Add";
OAuthService service = new ServiceBuilder()
.provider(ApiVictoria.class)
.apiKey(API_KEY)
.apiSecret(API_SECRET)
.build();
Token token = new Token("", "");
OAuthRequest request = new OAuthRequest(Verb.POST, OPENGEO_CONTEXT_URL);
request.setCharset("utf-8");
request.setConnectionKeepAlive(true);
request.addHeader("Content-Type","application/json");
request.addHeader("Accept","application/json");
request.addPayload(obj.toString());
service.signRequest(token, request);
Response response = request.send();

Respuesta

Geovictoria le devolverá un Status Code 200 (OK, según protocolo HTTP) en caso exitoso.

Si Victoria no devuelve 200, revise la descripción de la respuesta.

Situaciones probables:

  • Usuario Existe
  • Usuario está desactivado (en cuyo caso ACTIVE en vez de crear)
  • Usuario enviado no cumple con los datos mínimos

Desactivar Usuario (Disable)

URI http://apiv3.geovictoria.com/api/User/Disable
Parámetros Objeto Usuario en el cuerpo del request. Debe ir al menos el correo ó el identificador
Metodo POST

Codigo Ejemplo C#

var client = new RestClient("http://apiv3.geovictoria.com/api");
string consumerkey="consumerKey"; //Key
string consumersecret = "consumerSecret"; //Secret
client.Authenticator = OAuth1Authenticator.ForProtectedResource(consumerkey, consumersecret, string.Empty, string.Empty);
var request = new RestRequest("/User/Disable", Method.POST);
request.RequestFormat = DataFormat.Json;
Usuario u = new Usuario() { Email = "userMail@mymail.com", LastName = "Smith", Identifier = "553342", Name = "Carl" };
request.AddBody(u);
var response = client.Execute(request);
var content = response.Content;

Codigo de Ejemplo JAVA


JSONObject obj=new JSONObject();
obj.put("Identifier", "123456789");
obj.put("Email","john@gmail.com");
obj.put("Name","John");
obj.put("LastName","Smith");
String API_KEY = "consumerKey";
String API_SECRET = "consumerSecret";
String OPENGEO_CONTEXT_URL = "http://apiv3.geovictoria.com/api/User/Disable";
OAuthService service = new ServiceBuilder()
.provider(ApiVictoria.class)
.apiKey(API_KEY)
.apiSecret(API_SECRET)
.build();
Token token = new Token("", "");
OAuthRequest request = new OAuthRequest(Verb.POST, OPENGEO_CONTEXT_URL);
request.setCharset("utf-8");
request.setConnectionKeepAlive(true);
request.addHeader("Content-Type","application/json");
request.addHeader("Accept","application/json");
request.addPayload(obj.toString());
service.signRequest(token, request);
Response response = request.send();

Respuesta

Geovictoria le devolverá un Status Code 200 (OK, según protocolo HTTP) en caso exitoso.

Activar Usuario (Enable)

CUIDADO: Esta operación puede tener efectos en la facturación de la empresa. Al activar un usuario, éste será luego cobrado a fin de mes así que use esta opción con cuidado.

URI http://apiv3.geovictoria.com/api/User/Enable
Parámetros Objeto Usuario en el cuerpo del request. Debe ir al menos el correo ó el identificador
Metodo POST

Codigo Ejemplo C#

var client = new RestClient("http://apiv3.geovictoria.com/api");
string consumerkey="consumerKey"; //Key
string consumersecret = "consumerSecret"; //Secret
client.Authenticator = OAuth1Authenticator.ForProtectedResource(consumerkey, consumersecret, string.Empty, string.Empty);
var request = new RestRequest("/User/Enable", Method.POST);
request.RequestFormat = DataFormat.Json;
Usuario u = new Usuario() { Email = "userMail@mymail.com", LastName = "Smith", Identifier = "553342", Name = "Carl" };
request.AddBody(u);
var response = client.Execute(request);
var content = response.Content;

Codigo de Ejemplo JAVA


JSONObject obj=new JSONObject();
obj.put("Identifier", "123456789");
obj.put("Email","john@gmail.com");
obj.put("Name","John");
obj.put("LastName","Smith");
String API_KEY = "consumerKey";
String API_SECRET = "consumerSecret";
String OPENGEO_CONTEXT_URL = "http://apiv3.geovictoria.com/api/User/Disable";
OAuthService service = new ServiceBuilder()
.provider(ApiVictoria.class)
.apiKey(API_KEY)
.apiSecret(API_SECRET)
.build();
Token token = new Token("", "");
OAuthRequest request = new OAuthRequest(Verb.POST, OPENGEO_CONTEXT_URL);
request.setCharset("utf-8");
request.setConnectionKeepAlive(true);
request.addHeader("Content-Type","application/json");
request.addHeader("Accept","application/json");
request.addPayload(obj.toString());
service.signRequest(token, request);
Response response = request.send();

Respuesta

Geovictoria le devolverá un Status Code 200 (OK, según protocolo HTTP) en caso exitoso.
Slot Online MPO
Slot Online Terpercaya
Situs MPO Slot Online
judi slot online
Daftar Slot Online
mpo
situs slot online

The following two tabs change content below.

cmellan

Latest posts by cmellan (see all)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *