El primer paso para comenzar usar el service layer es lógicamente hacer el login para posteriormente hacer las consultas necesarias
En la extensión Thunder Client abrimos la petición de tipo POST y ponemos la siguiente URL
https://localhost:50000/b1s/v1/Login
Lógicamente en donde dice localhost va la IP de su servidor
En la sección de Body elegimos el contenido JSON y le ponemos el siguiente código con los datos de inicio de sesión
{
"CompanyDB": "TEST_GUSA",
"Password": "sap123",
"UserName": "LMPROGRAM"
}

Quedaría tal y como se ve en la imagen de arriba
Como resultado dará el código que se muestra abajo
{
"odata.metadata": "https://localhost:50000/b1s/v1/$metadata#B1Sessions/@Element",
"SessionId": "1d66ff02-6169-11ef-c000-000c2949cf9d-139784632008704-3563",
"Version": "1000201",
"SessionTimeout": 30
}
Ahora creamos nuestra función para hacer esa petición desde el código PHP
static public function login() {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "50000",
CURLOPT_URL => "https://localhost:50000/b1s/v1/Login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n \"CompanyDB\": \"BASE DE DATOS PRUEBA\",\n \"Password\": \"PASWORD\",\n \"UserName\": \"NOMBREUSUARIO\"\n}\n",
CURLOPT_HTTPHEADER => [
"Accept: */*",
"Content-Type: application/json",
"User-Agent: (https://www.thunderclient.com)"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
return "cURL Error #:" . $err;
} else {
return json_decode($response);
}
}
Y listo ya con eso iniciamos sesión desde PHP, y nos regresa las variables necesarias para crear la cookie
1 pingback