Exemple de code source du client
package client;
import java.util.ArrayList;
import java.util.List;
import bj.impots.dgi.*;
import bj.impots.dgi.auth.ApiKeyAuth;
import bj.impots.dgi.emcf.*;
public class SfeInvoiceExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure API key authorization: Bearer
ApiKeyAuth Bearer = (ApiKeyAuth) defaultClient.getAuthentication("Bearer");
Bearer.setApiKey("XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX");//YOUR API TOKEN HERE
//By default, SDK is configured with SyGMEF-test
//Enable following line in order to configure SDK for SyGMEF-production
//defaultClient.setBasePath("https://sygmef.impots.bj/emcf");
SfeInvoiceApi apiInvoiceInstance = new SfeInvoiceApi();
SfeInfoApi apiInfoInstance = new SfeInfoApi();
try {
//INFO
InfoResponseDto infoResponseDto= apiInfoInstance.apiInfoStatusGet();
System.out.println(infoResponseDto);
var invoiceTypesDto = apiInfoInstance.apiInfoInvoiceTypesGet();
System.out.println(invoiceTypesDto);
var taxGroupsDto = apiInfoInstance.apiInfoTaxGroupsGet();
System.out.println(taxGroupsDto);
var paymentTypesDto = apiInfoInstance.apiInfoPaymentTypesGet();
System.out.println(paymentTypesDto);
//INVOICE
StatusResponseDto statusResponseDto = apiInvoiceInstance.apiInvoiceGet();
System.out.println(statusResponseDto);
InvoiceRequestDataDto invoiceRequestDataDto=new InvoiceRequestDataDto();
//fill-in the request
invoiceRequestDataDto.setIfu("XXXXXXXXXXXXX");//YOUR IFU HERE
OperatorDto operatorDto=new OperatorDto();
operatorDto.setName("Test");
invoiceRequestDataDto.setOperator(operatorDto);
invoiceRequestDataDto.setType(InvoiceTypeEnum.FV);
List items=new ArrayList();
var item1=new ItemDto();
item1.setName("Jus d'orange");
item1.setPrice(1200l);
item1.setQuantity(3d);
item1.setTaxGroup(TaxGroupTypeEnum.B);
items.add(item1);
var item2=new ItemDto();
item2.setName("Article exonere");
item2.setPrice(800l);
item2.setQuantity(2.5d);
item2.setTaxGroup(TaxGroupTypeEnum.A);
items.add(item2);
invoiceRequestDataDto.setItems(items);
System.out.println(invoiceRequestDataDto);
InvoiceResponseDto invoiceResponseDto = apiInvoiceInstance.apiInvoicePost(invoiceRequestDataDto);
System.out.println(invoiceResponseDto);
if (invoiceResponseDto.getUid()!=null) {
//details
InvoiceDetailsDto invoiceDetailsDto = apiInvoiceInstance.apiInvoiceUidGet(invoiceResponseDto.getUid());
System.out.println(invoiceDetailsDto);
//finalize
SecurityElementsDto securityElementsDto=apiInvoiceInstance.apiInvoiceUidConfirmPut(invoiceResponseDto.getUid());
System.out.println(securityElementsDto);
}
} catch (ApiException e) {
System.err.println("Exception when calling SfeInvoiceApi");
e.printStackTrace();
}
}
}
index.html
$(document).ready(function(){
$('#LOG').append( '<h3>START</h3>' );
var putFinalize = function(uid){
$('#LOG').append( 'Finalize '+uid );
$.ajax({
type: 'PUT',
url: 'https://developper.impots.bj/sygmef-emcf/api/invoice/'+uid+'/confirm',
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINVOICE').append( '<p style="color: green;">SecurityElementsDto: '+JSON.stringify(data, null, 4)+'</p>' );
$('#LOGINVOICE').append( '<p>END</p>' );
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var getInvoiceDetailsDto = function(uid){
$('#LOG').append( 'Finalize '+uid );
$.ajax({
type: 'GET',
url: 'https://developper.impots.bj/sygmef-emcf/api/invoice/'+uid,
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINVOICE').append( '<p style="color: green;">InvoiceDetailsDto: '+JSON.stringify(data, null, 4)+'</p>' );
putFinalize(uid);
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var postInvoiceRequestDto = function(){
invoiceRequestDto = {
"ifu":"XXXXXXXXXXXXX",//YOUR IFU HERE
"type":"FV",
"items":[
{
"name":"Jus d'orange",
"price":1800,
"quantity":2,
"taxGroup":"B"
},
{
"name":"Article exonere",
"price":600,
"quantity":2.5,
"taxGroup":"A"
}
],
"operator":{
"name":"Test"
}
};
console.log(invoiceRequestDto);
$('#LOG').append( '<p>InvoiceRequestDto: '+JSON.stringify(invoiceRequestDto, null, 4)+'</p>' );
$.ajax({
type: 'POST',
url: 'https://developper.impots.bj/sygmef-emcf/api/invoice',
contentType: 'application/json',
data: JSON.stringify(invoiceRequestDto),
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINVOICE').append( '<p style="color: green;">InvoiceResponseDto: '+JSON.stringify(data, null, 4)+'</p>' );
if (data.uid!=null){
getInvoiceDetailsDto(data.uid);
}
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var getStatusResponseDto = function(){
$.ajax({
type: 'GET',
url: 'https://developper.impots.bj/sygmef-emcf/api/invoice',
contentType: 'application/json',
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINVOICE').append( '<p style="color: green;">StatusResponseDto: '+JSON.stringify(data, null, 4)+'</p>' );
postInvoiceRequestDto();
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var getPaymentTypesDto = function(){
$.ajax({
type: 'GET',
url: 'https://developper.impots.bj/sygmef-emcf/api/info/invoiceTypes',
contentType: 'application/json',
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINFO').append( '<p style="color: blue;">PaymentTypesDto: '+JSON.stringify(data, null, 4)+'</p>' );
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var getTaxGroupsDto = function(){
$.ajax({
type: 'GET',
url: 'https://developper.impots.bj/sygmef-emcf/api/info/taxGroups',
contentType: 'application/json',
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINFO').append( '<p style="color: blue;">TaxGroupsDto: '+JSON.stringify(data, null, 4)+'</p>' );
getPaymentTypesDto();
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var getInvoiceTypesDto = function(){
$.ajax({
type: 'GET',
url: 'https://developper.impots.bj/sygmef-emcf/api/info/invoiceTypes',
contentType: 'application/json',
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINFO').append( '<p style="color: blue;">InvoiceTypesDto: '+JSON.stringify(data, null, 4)+'</p>' );
getTaxGroupsDto();
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var getInfoReponseDto = function(){
$.ajax({
type: 'GET',
url: 'https://developper.impots.bj/sygmef-emcf/api/info/status',
contentType: 'application/json',
xhrFields: {
withCredentials: false
},
headers: {
'Authorization':'Bearer XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'//your API TOKEN here
},
success: function(data) {
$('#LOGINFO').append( '<p style="color: blue;">InfoReponseDto: '+JSON.stringify(data, null, 4)+'</p>' );
getInvoiceTypesDto();
},
error: function(jqxhr, settings, ex) {
alert('failed, ' + ex);
console.log(jqxhr);
}
});
};
var start = function(){
//INFO
$('#LOGINFO').append( '<p style="color: orangered;">INFO API</p>' );
getInfoReponseDto();
//INVOICE
$('#LOGINVOICE').append( '<p style="color: orangered;">INVOICE API</p>' );
getStatusResponseDto();
};
//start
start();
});
Exemple de code source du client
using IO.Swagger.bj.impots.dgi.emcf;
using IO.Swagger.Client;
using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace EmcfExample
{
class Program
{
static void Main(string[] args)
{
// Configure API key authorization: Bearer
Configuration.Default.ApiKey.Add("Authorization", "XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX");//YOUR API TOKEN HERE
//By default, SDK is configured with SyGMEF-test
//Enable following line in order to configure SDK for SyGMEF-production
//Configuration.Default.BasePath = "https://sygmef.impots.bj/emcf";
var apiInvoiceInstance = new SfeInvoiceApi();
var apiInfoInstance = new SfeInfoApi();
try
{
//INFO
var infoResponseDto = apiInfoInstance.ApiInfoStatusGet();
Debug.WriteLine(infoResponseDto);
var invoiceTypesDto = apiInfoInstance.ApiInfoInvoiceTypesGet();
Debug.WriteLine(invoiceTypesDto);
var taxGroupsDto = apiInfoInstance.ApiInfoTaxGroupsGet();
Debug.WriteLine(taxGroupsDto);
var paymentTypesDto = apiInfoInstance.ApiInfoPaymentTypesGet();
Debug.WriteLine(paymentTypesDto);
//INVOICE
var statusResponseDto = apiInvoiceInstance.ApiInvoiceGet();
Debug.WriteLine(statusResponseDto);
var invoiceRequestDataDto = new InvoiceRequestDataDto()
{
//fill-in the fields
Ifu = "XXXXXXXXXXXXXXXXXX",//YOUR IFU HERE
Operator = new OperatorDto()
{
Name = "Test"
},
Items = new List(),
Type = InvoiceTypeEnum.FV
};
invoiceRequestDataDto.Items.Add(new ItemDto()
{
Name = "Jus d'orange",
Price = 1200,
TaxGroup = TaxGroupTypeEnum.B,
Quantity = 3
});
invoiceRequestDataDto.Items.Add(new ItemDto()
{
Name = "Article expnere",
Price = 800,
TaxGroup = TaxGroupTypeEnum.A,
Quantity = 2.5
});
var invoiceResponseDto = apiInvoiceInstance.ApiInvoicePost(invoiceRequestDataDto);
Debug.WriteLine(invoiceResponseDto);
if (invoiceResponseDto.Uid != null)
{
//details
var invoiceDetailsDto = apiInvoiceInstance.ApiInvoiceUidGet(invoiceResponseDto.Uid);
Debug.WriteLine(invoiceDetailsDto);
//finalize
var securityElementsDto = apiInvoiceInstance.ApiInvoiceUidConfirmPut(invoiceResponseDto.Uid);
Debug.WriteLine(securityElementsDto);
}
}
catch (Exception e)
{
Debug.Print("Exception when calling PosInvoiceApi.apiInvoiceGet: " + e.Message);
}
}
}
}
Exemple de code source du client
import time
import swagger_client
from swagger_client import ApiClient
from swagger_client.rest import ApiException
from swagger_client.models import *
from pprint import pprint
# Configure API key authorization: Bearer
configuration = swagger_client.Configuration()
configuration.api_key['Authorization'] = 'XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX'
# By default, SDK is configured with SyGMEF-test
# Enable following line in order to configure SDK for SyGMEF-production
# configuration.host = 'https://sygmef.impots.bj/emcf'
# create an instance of the API class
api_invoice_instance = swagger_client.SfeInvoiceApi(ApiClient(configuration=configuration))
api_info_instance = swagger_client.SfeInfoApi(ApiClient(configuration=configuration))
try:
# INFO
info_response_dto = api_info_instance.api_info_status_get()
pprint(info_response_dto)
invoice_types_dto = api_info_instance.api_info_invoice_types_get()
pprint(invoice_types_dto)
tax_groups_dto = api_info_instance.api_info_tax_groups_get()
pprint(tax_groups_dto)
payment_types_dto = api_info_instance.api_info_payment_types_get()
pprint(payment_types_dto)
# INVOICE
status_response_dto = api_invoice_instance.api_invoice_get()
pprint(status_response_dto)
invoice_request_data_dto = InvoiceRequestDataDto()
# YOUR IFU HERE
invoice_request_data_dto.ifu = 'XXXXXXXXXXXX'
operator_dto = OperatorDto()
operator_dto.name = 'Test'
invoice_request_data_dto.operator = operator_dto
tax_groups_dto = TaxGroupsDto()
tax_groups_dto.group_a = 0
tax_groups_dto.group_b = 18
tax_groups_dto.group_c = 0
tax_groups_dto.group_d = 18
tax_groups_dto.group_aib_a = 1
tax_groups_dto.group_aib_b = 5
invoice_request_data_dto.tax_groups = tax_groups_dto
invoice_request_data_dto.type = InvoiceTypeEnum.FV
invoice_request_data_dto.items = []
item_1 = ItemDto()
item_1.name = "Jus d'orange"
item_1.price = 1200
item_1.quantity = 3
item_1.tax_group = TaxGroupTypeEnum.B
invoice_request_data_dto.items.append(item_1)
item_2 = ItemDto()
item_2.name = "Article exonere"
item_2.price = 800
item_2.quantity = 2.5
item_2.tax_group = TaxGroupTypeEnum.A
invoice_request_data_dto.items.append(item_2)
pprint(invoice_request_data_dto)
invoice_response_data_dto = api_invoice_instance.api_invoice_post(body=invoice_request_data_dto)
pprint(invoice_response_data_dto)
if invoice_response_data_dto.uid is not None:
# details
invoice_details_dto = api_invoice_instance.api_invoice_uid_get(invoice_response_data_dto.uid)
pprint(invoice_details_dto)
# finalize
security_elements_dto = api_invoice_instance.api_invoice_uid_confirm_put(invoice_response_data_dto.uid)
pprint(security_elements_dto)
except ApiException as e:
print("Exception when calling PosInvoiceApi->apiInvoiceGet: %s\n" % e)
Exemple de code source du client
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: Bearer
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Authorization', 'XXXXXXXXXXXXX.XXXXXXXXXXXXX.XXXXXXXXXXXX');
print_r($config);
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Authorization', 'Bearer');
$apiInvoiceInstance = new Swagger\Client\Api\SfeInvoiceApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(array('verify'=> false)),
$config
);
$apiInfoInstance = new Swagger\Client\Api\SfeInfoApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(array('verify'=> false)),
$config
);
//INFO
try {
$infoResponseDto = $apiInfoInstance->apiInfoStatusGet();
print_r($infoResponseDto);
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoiceGet: ', $e->getMessage(), PHP_EOL;
}
try {
$invoiceTypesDto = $apiInfoInstance->apiInfoInvoiceTypesGet();
print_r($invoiceTypesDto);
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoiceGet: ', $e->getMessage(), PHP_EOL;
}
try {
$taxGroupsDto = $apiInfoInstance->apiInfoTaxGroupsGet();
print_r($taxGroupsDto);
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoiceGet: ', $e->getMessage(), PHP_EOL;
}
try {
$paymentTypesDto = $apiInfoInstance->apiInfoPaymentTypesGet();
print_r($paymentTypesDto);
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoiceGet: ', $e->getMessage(), PHP_EOL;
}
//INVOICE
try {
$statusReponseDto = $apiInvoiceInstance->apiInvoiceGet();
print_r($statusReponseDto);
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoiceGet: ', $e->getMessage(), PHP_EOL;
}
$body = new \Swagger\Client\Model\InvoiceRequestDataDto(); // \Swagger\Client\Model\InvoiceRequestDataDto |
$body->setIfu('XXXXXXXXXXXX');//YOUR IFU HERE
$operatorDto = new \Swagger\Client\Model\OperatorDto();
$operatorDto->setName('Test');
$body->setOperator($operatorDto);
$body->setType(Swagger\Client\Model\InvoiceTypeEnum::FV);
$items = array();
$item1 = new \Swagger\Client\Model\ItemDto();
$item1->setName("Jus d'orange");
$item1->setPrice(1200);
$item1->setQuantity(3);
$item1->setTaxGroup(Swagger\Client\Model\TaxGroupTypeEnum::B);
array_push($items, $item1);
$item2 = new \Swagger\Client\Model\ItemDto();
$item2->setName("Article exonere");
$item2->setPrice(800);
$item2->setQuantity(2.5);
$item2->setTaxGroup(Swagger\Client\Model\TaxGroupTypeEnum::A);
array_push($items, $item2);
$body->setItems($items);
try {
$invoiceResponseDto = $apiInvoiceInstance->apiInvoicePost($body);
print_r($invoiceResponseDto);
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoicePost: ', $e->getMessage(), PHP_EOL;
}
$uid = $invoiceResponseDto['uid']; // string |
if (!is_null($uid)){
try {
$invoiceDetailsDto = $apiInvoiceInstance->apiInvoiceUidGet($uid);
print_r($invoiceDetailsDto);
try {
$securityElementsDto = $apiInvoiceInstance->apiInvoiceUidConfirmPut($uid);
print_r($securityElementsDto);
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoiceUidConfirmPut: ', $e->getMessage(), PHP_EOL;
}
} catch (Exception $e) {
echo 'Exception when calling SfeInvoiceApi->apiInvoiceUidConfirmPut: ', $e->getMessage(), PHP_EOL;
}
}
?>