5.1 KiB
5.1 KiB
This service is used to approve several operations within the system.
POST:
URL_BASE + /ws/firma.py/firmar
Receives:
All the parameters that the service receives must be indicated in the body of the request.
Returns:
Depending on the result of the operation, this service can return two different JSON:
Answer JSON OK:
{
"status"
:{' '}
true
,
"signed"
: <boolean>
,
"invoice"
: <integer>
,
"currency_data"
:{' '}
{
"abbreviation"
: <string>
,
"suffix"
: <string>
,
"format"
: <string>
,
"symbol"
: <string>
,
"prefix"
: <string>
,
"decimals"
: <decimal>
,
"id"
: <integer>
}
,
"elapsed"
: <float>
,
"raw_amount"
: <decimal>
,
"currency"
: <string>
,
"commission_user_card"
: <decimal>
,
"codtran"
: <string>
,
"user_commission"
: <decimal>
,
"amount"
: <string>
}
Where:
status:Shows if the call has been successful (true) or not (false).signed:Shows if the signature has been successfully processed (true) or not (false).invoice:Invoice number associated to the operation.currency_data:Contains the different details of the currency used in the operation.abbreviation:The abbreviated name of the currency (EUR, MXN).suffix:Indicates the suffix that is applied in the currency format (pesos, euros).format:The full format that is applied to the currency, it includes the suffix and the prefix.symbol:The symbol associated to the currency (€, ¢, $).prefix:The prefix that is applied in the format of the currency.decimals:The maximum number of decimal places to be included in the currency format.id:Currency identifier in BBDD.elapsed:Execution operation time.raw_amount:Amount of the operation in negative without applying the format.currency:Short name of the currency used in the operation, it matches the abbreviation.commission_user_card:Commission that would be applied if the payment is made by card.codtran:Transaction code that identifies the executed operation.user_commission:Commission to be charged to the user.amount:Negative transaction amount with the applied format.
Answer JSON KO:
{
"status"
:{' '}
false
,
"level"
: <string>
,
"message"
: <string>
,
"error"
: <string>
}
Where:
status:Shows if the call has been successful (true) or not (false).level:Error importance level.message:Error message.error:Sole error coge.
Example requests:
Python - Requests:
import requests
url ={' '}
"URL_BASE/ws/firma.py/firmar"
payload ={' '}
{
'otp'
:{' '}
'1234'
,
'phone'
:{' '}
'7229063245'
,
'country_code'
:{' '}
'MX'
}
files ={' '}
[
]
headers={' '}
{
}
response = requests
.request
(
"POST"
, url
, headers
=headers
, data{' '}
= payload
, files{' '}
= files
)
print
(response
.text
.encode
(
'utf8'
)
)
NodeJs - Request:
var request = require('request');
var options = {
'method': 'POST',
'url': 'URL_BASE/ws/firma.py/firmar',
'headers': {},
formData: {
'otp': '1234',
'phone_dst': '7229063245',
'country_code': 'MX'
}
};
request(options, function (error, response) {{' '}
if (error) throw new Error(error);
console.log(response.body);
});
JavaScript - Fetch:
var formdata = new FormData();
formdata.append("otp", "1234");
formdata.append("phone_dst", "7229063245");
formdata.append("country_code", "MX");
var requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
fetch("URL_BASE/ws/firma.py/firmar", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
CURL:
curl --location --request POST{' '}
'URL_BASE/ws/firma.py/firmar'{' '}
\
--form 'otp=1234'{' '}
\
--form{' '}
'phone_dst=7229063245'{' '}
\
--form 'country_code=MX'
Business logic:
This service searches for the operations pending signing that the entered phone has, and, among the results, accepts the operation through the OTP.