Get Eligibility

Upstream of the payment processus, the eligibility allows to estimate the trust level attributed to a payment request by a customer.

This involves a statistical processing of data relating to the customer, his purchase history and the contents of his shoppingcart. Sending this information is essential for the calculation of the elligibility, because it allows to have a better knowledge of the customer and his purchase.

There are three types of data to be provided concerning the customer and the order:

  • Mandatory data: without this data the request is not valid.
  • Necessary data: without this data the information provided to FLOA is not sufficient to guarantee an optimal calculation of the customer's eligibility. The data are not mandatory as such but are highly necessary to be able to return a relevant decision concerning the customer and his purchase. The list of these data will be validated and detailed with FLOA, who will contact the merchant before activation.
    You can find below examples of the data required for different sectors of activity
  • Optional Data: This data concerns any additional information that the merchant may provide about the customer or his shoppingcart that may be relevant to the calculation of customer eligibility.

The eligibility is possibly reassessed using information contained in the National File of Personal Credit Repayment Incidents (FICP).

The eligibility returns a token needed to proceed to the payment processus.

The API route to use is the following :

Headers of the request :

  • Content-type : application/json
  • authToken : the token retrieved via the call to the authentication service

Usefull Fields (see complete descritpion in the swagger )

FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
presaleFolderIt is a folder containing a list of shopping cart.
This is useful for multi-shipping (not managed for now: provide only one shopping cart).
ObjectYesYesYesYesYes
additionalInformationObject of set ok Key-Value pair. Used to send specific informations to Floa is Floa needs it.ObjectNoNoNoNoNo
  • presaleFolder
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
shoppingCartsDetails of the order and customer. Provide only one shopping cart.Array of objectYesYesYesYesYes
customerObject to send customer informations.ObjectYesYesYesYesYes
shippingAddressObject to send shipping address informations (see the swagger for full definition).ObjectNoNoNoNoNo
billingAddressObject to send billing address informations (see the swagger for full definition).ObjectNoNoNoNoNo
saleChannelThe sale channel.
Desktop
Tablet
Ipad
IPhone
AndroidSmartPhone
SmartPhone
* AndroidTablet
stringYesYesYesYesYes
reportDelayInDaysOnly for pay later payment - The number of days the payment must be done.int32NoNoNoNoNo
feesAmountOnly for 10X payment - Fees amount in cents, this value will be displayed on the line Management fee on the payment page if sent.int32NoNoNoNoNo
discountAmountOnly for 10X payment - Discount amount in cents, this value will be displayed on the line Voucher / promo code on the payment page if sent.int32NoNoNoNoNo
shippingAmountOnly for payment in 10X - Shipping amount in cents, this value will be displayed on the line Delivery on the payment page if sent.int32NoNoNoNoNo
merchantSiteOnly for payment in 10X - Object to declare URLs used on the cusotmer journey.ObjectNoNoNoNoNo
  • shoppingCarts
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
referenceThe unique identifier of the order.string(30)
Do not use special characters.
Only letters, numbers and _.
YesYesYesYesYes
rawAmountAmount of the order in cents.int32YesYesYesYesYes
productsCountThe number of products in the shopping cart.int32YesYesYesYesYes
productsDetails of the products in the shopping cart.
Send at least one prouct.
array of objectsYesYesYesYesYes
  • products
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
nameThe name of the product.
Must be "Travel" for a travel context.
Must be "Stay" for a stay context.
stringNoNoNoNoNo
rawAmountAmount of the product in centsint32YesYesYesYesYes
categoriesCategories of the product.
Parent category must be declared before its child.
See example of a json content for a French order below.
See the swagger for full description.
array of objectsNecessaryNecessaryNecessaryNecessaryNecessary
propertiesProperties of the product. See the swagger for full description.array of objectsNoNoNoNoNo
shippingShipping informations of the product.objectYesYesYesYesYes
  • shipping
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
methodMerchant delivery method
• STD : Normal
• EXP : Express Delivery
• TRK : Tracked
• REG : Registered
• COL : Colissimo
• CHR : Chronopost
• REL : Mondial Relay
• TNT : TNT
• UPS : UPS
• TRP : Transporter
• MAG : Delivery in store
• LCK : Lockers
• VIR : Virtual (dematerialized sale)
• RIM : Immediate withdrawal in store
stringYesYesYesYesYes
delayInDaysThe shipping delay in days (in 2 days, in 14 days, etc.).doubleNoNoNoNoNo
addressShipping address. The the swagger for full definition.objectNoNoNoNoNo
  • customer
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
civilityThe civility.
Mr (Mister)
Mrs (Married woman)
Ms (Woman)
stringYesYesYesYesYes
lastNameThe last name.stringYesYesYesYesYes
firstNameThe first name.stringYesYesYesYesYes
birthNameThe birth name.stringYesYesYesYesYes
secondLastNameOnly for Spanish orders - The second last name.stringNANoNANANA
birthDateThe birth date.
Format "yyyy-MM-ddThh:mm:ss.SSSZ".
date-timeYesYesYesYesYes
birthZipCodeThe birth zip code.
Must contain 2, 3 or 5 caracters.
Must be "99" if not in France.
Must be "972" for Martinique.
Must be "06000" for Nice and not "6000".
Always "99" for Portuguese order.
stringYesNoYesNoYes
homePhoneNumberThe customer's home phone number.
For Spanish and Portuguese orders, only numbers with 9 characters are accepted.
For Italian orders, only numbers with 6 characters are accepted.
string (13)Yes if the cellPhoneNumber is not specified.Yes if the cellPhoneNumber is not specified.Yes if the cellPhoneNumber is not specified.Yes if the cellPhoneNumber is not specified.Yes if the cellPhoneNumber is not specified.
cellPhoneNumberThe customer's cell phone number.
For Spanish, Portuguese and Italian orders, only numbers with 9 characters are accepted.
string (13)Yes if the homePhoneNumber is not specified.Yes if the homePhoneNumber is not specified.Yes if the homePhoneNumber is not specified.Yes if the homePhoneNumber is not specified.Yes if the homePhoneNumber is not specified.
referenceThe unique identifier of the customer.string (30)YesYesYesYesYes
emailThe email address.string (60)YesYesYesYesYesYes
homeAddressAddress of the customerobjectYesYesYesYes
historyThe history of the customer on the merchant site. See the swagger for full definition.objectNoNoNoNoNo
aggregateThe customer aggregated data on the merchant site. See the swagger for full definition.objectNoNoNoNoNo
nationalityThe nationality codes.
Local - Local.
EU - European union.
OutsideEU - Outside European union.
stringNoNoNoNoNo
trustLevelRepresents the trust level of a customer.
Standard - Standard customer. No level defined yet.
BlackListed - Black listed.
* Trusted - Trusted.
WhiteListed - White listed.
stringNoNoNoNoNo
ipAddressThe IP address.string (15)NoNoNoNoNo
nationalIdOnly for Spanish, Italian and Portuguese order - The national identifier. This is a unique identifier of the customer on national level.stringNAYesYesYesNA
  • customer.history
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
firstOrderDateDate of the first order of the customerdate-timeNecessaryNecessaryNecessaryNecessaryNecessary
lastOrderDateDate of the first order of the customerdate-timeNecessaryNecessaryNecessaryNecessaryNecessary
  • homeAddress
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
line1The main address.string (32)YesYesYesYesYes
line2Additional address 1 (building, apartment, door code).string (32)NoNoNoNoNo
line3Additional address 2 (locality).string (32)NoNoNoNoNo
line4Additional address 3 (use as little as possible).string (32)NoNoNoNoNo
zipCodeThe zip code.
For Belgian orders, 4 characters.
xxxx-xxx for Portuguese orders.
string (5)YesYesYesYesYes
cityThe zip code.string (50)YesYesYesYesYes
countryCodeThe accepted country code.
Must follow the ISO 3166-2 standards.
stringYesYesYesYesYes
  • merchantSite
FieldDescriptionTypeMandatory ? FranceSpainItalyPortugalBelgium
homeUrlOnly for payment in 10X Not used actually but still mandatory. Put same as backUrluriYes for 10X paymentNANANANA
backUrlOnly for payment in 10X - Link to the previous page. Will be the link behind BACK
TO THE BASKET and Change payment method on the payment page.
uriYes for 10X paymentNANANANA
returnUrlOnly for payment in 10X - Url where we will redirect the customer after payment and POST payment result, see Payment Notification page.uriYes for 10X paymentNANANANA
notificationUrlOnly for payment in 10X - Url where we will POST payment result, see Payment Notification page.uriYes for 10X paymentNANANANA

Example of a json content for a French order

{
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "REF0001",
                "rawAmount": 50000,
                "productsCount": 1,
                "products": [
                    {
                        "rawAmount": 50000,
                        "categories": [
                            {
                                "name": "Travel",
                                "parent": ""
                            },
                            {
                                "name": "vol",
                                "parent": "Travel"
                            }
                        ],
                        "shipping": {
                            "method": "UPS"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "00123456789",
            "firstName": "Will",
            "lastName": "Thompson",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "75",
            "civility": "Mr",
            "cellPhoneNumber": "0612345678",
            "homeAddress": {
                "line1": "8 Quai de Bacalan",
                "zipCode": "33000",
                "city": "Bordeaux",
                "countryCode": "FR"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Example of a json content for a Spanish order

{
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "REF0001",
                "rawAmount": 50000,
                "productsCount": 1,
                "products": [
                    {
                        "name": "Fridge",
                        "categories": [
                            {
                                "name": "Kitchen appliances",
                                "parent": ""
                            }
                        ],
                        "shipping": {
                            "method": "STD"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "00123456789",
            "firstName": "Will",
            "lastName": "Thompson",
            "secondLastName" : "Garcia",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "civility": "Mr",
            "cellPhoneNumber": "123456789",
            "nationalId": "40919740A",
            "homeAddress": {
                "line1": "C. Bartolomé Ordóñez",
                "zipCode": "09006",
                "city": "Burgos",
                "countryCode": "ES"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Example of a json content for an Italian order

{
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "REF0001",
                "rawAmount": 50000,
                "productsCount": 1,
                "products": [
                    {
                        "name": "Fridge",
                        "categories": [
                            {
                                "name": "Kitchen appliances",
                                "parent": ""
                            }
                        ],
                        "shipping": {
                            "method": "STD"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "00123456789",
            "firstName": "Will",
            "lastName": "Rossi",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "99",
            "civility": "Mr",
            "cellPhoneNumber": "123456789",
            "nationalId": "RSSMRA74D22A001Q",
            "homeAddress": {
                "line1": "Viale Donato Bramante",
                "zipCode": "05100",
                "city": "Terni TR",
                "countryCode": "IT"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Example of a json content for a Portuguese order

{
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "REF0001",
                "rawAmount": 50000,
                "productsCount": 1,
                "products": [
                    {
                        "name": "Fridge",
                        "categories": [
                            {
                                "name": "Kitchen appliances",
                                "parent": ""
                            }
                        ],
                        "shipping": {
                            "method": "STD"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "00123456789",
            "firstName": "Will",
            "lastName": "Santos",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "99",
            "civility": "Mr",
            "cellPhoneNumber": "123456789",
            "nationalId": "999999999",
            "homeAddress": {
                "line1": "Avenida 5 de Outubro 197",
                "zipCode": "1050-054",
                "city": "Lisboa",
                "countryCode": "PT"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Example of a json content for a Belgian order

{
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "REF0001",
                "rawAmount": 50000,
                "productsCount": 1,
                "products": [
                    {
                        "name": "Fridge",
                        "categories": [
                            {
                                "name": "Kitchen appliances",
                                "parent": ""
                            }
                        ],
                        "shipping": {
                            "method": "STD"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "00123456789",
            "firstName": "Will",
            "lastName": "Janssens",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "99",
            "civility": "Mr",
            "cellPhoneNumber": "123456789",
            "homeAddress": {
                "line1": "Rue Brederode 16",
                "zipCode": "1000",
                "city": "Bruxelles",
                "countryCode": "BE"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Example of a OK response

{
    "eligibilities": [
        {
            "token": "423715b6-5f65-4cfe-b12e-9cfa779ade2b",
            "hasAgreement": true,
            "totalAmount": 38232,
            "requestId": 694035,
            "paymentOptionReference": "63",
            "purchaseType": "Cb4X",
            "merchantSiteId": 7017,
            "links": [
                {
                    "href": "https://paymentgateway.integration-cb4x.fr/v1/payment-sessions",
                    "rel": "create-payment-session",
                    "method": "POST"
                },
                {
                    "href": "https://paymentgateway.integration-cb4x.fr/v1/payments/card-payment",
                    "rel": "pay-without-3d",
                    "method": "POST"
                },
                {
                    "href": "https://paymentgateway.integration-cb4x.fr/v1/payments/card3ds-payment",
                    "rel": "check-3d-enrollment",
                    "method": "POST"
                },
                {
                    "href": "https://eligibility.integration-cb4x.fr/api/v1/eligibility-installment-plans?merchantId=38&merchantSiteId=7017&requestId=694035",
                    "rel": "get-eligibility-installment-plan",
                    "method": "GET"
                }
            ]
        }
    ]
}

Response example of a non eligible customer

{
    "eligibilities": [
        {
            "hasAgreement": false,
            "totalAmount": 33129,
            "requestId": 694038,
            "purchaseType": "Cb4X",
            "merchantSiteId": 71819
        }
    ]
}

Example of a KO response

{
    "eligibilities": [
        {
            "requestId": 694035,
            "purchaseType": "Undefined",
            "merchantSiteId": 7017,
            "errors": [
                "Zip code is mandatory. Length of characters accepted for country code FR: 5."
            ]
        }
    ]
}

Response description

FieldDescirption
eligibilities.hasAgreementThe customer is eligible is true, non-eligible is false

Values :
true
false
eligibilities.tokenSent if the cutomer is eligible.
This token has to be sent to the payment session call.
eligibilities.totalAmountAmount to use in the payment session call (this amount is tour order amount + floa fees).
eligibilities.requestIdFloa id for the request, can be used if you want to contact our technical support.
eligibilities.paymentOptionReferenceValue of the paymentOptionRefence to send to the payment session service.
eligibilities.purchaseTypeCode for the payment method
* Cb4X : 4 installments
eligibilities.merchantSiteIdValue of the merchantSiteId used for the call.
eligibilities.linksLinks to guide you for the nexts steps.
eligibilities.errorsMessage if there is an error in the request. The message tells you where the error is. If the message is not clear, you can contact our support and provide the value of eligibilities.requestId

Requierements for specific activity sectors

Travel / Stay

Additionnal datas asked :

FieldDescriptionType
presaleFolder.shoppingCarts.products.nameFor Travel and Stay.

Need to create a product named "Travel" to use the Travel context properties.
If necessary, create a second product named "Stay" to use the Stay context properties.
String
presaleFolder.shoppingCarts.products.categories.nameProduct's category.
Use one of the following items :
AIRLINE TICKET
TRAIN TICKET
BUS TICKET
HOTEL
CAMPING
STAY
CRUISE
CAR RENTAL
* OTHER
String
presaleFolder.shoppingCarts.products.properties.name/valueFor Travel :

Name : Insurance
Value : Insurance's name/code choosen by the customer. Or boolean yes/no the customer chooses an insurance

Name : Type
Value : "Unknown", "OneWay", "TwoWay", "Multiple"

Name : DepartureDate
Value : format YYYY-MM-DD

Name : ReturnDate
Value : format YYYY-MM-DD (default to 1970-01-01 in case of "OneWay")

Name : DestinationCountryCode
Value : Destination country code, format ISO 3166-2 (ex : "FR" for France)

Name : TravelersCount
Value : number of passengers

Name : OwnTicket
Value : boolean : does the payment card holder is part of the trip

Name : MainDepartureCompany
Value : Airline name of the first flight (IATA code) in case of travel with flight, empty otherway

Name : DepartureAirport
Value : IATA code of the airport/train or bus station if travel with transportation.
Empty otherway

Name : DestinationAirport
Value : IATA code of the airport/train or bus station if travel with transportation.
Else IATA code of the stay city

For Stay :

Name : RoomRange
Value : Accommodation range if travel with stay. Empty otherway
Object of set ok Name-Value pair

Example :

{
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "1679927342",
                "rawAmount": 83786,
                "productsCount": 1,
                "products": [
                    {
                        "name": "Travel",
                        "raw_amount": 83786,
                        "categories": [
                            {
                                "name": "AIRLINE TICKET"
                            }
                        ],
                        "properties": [
                            {
                                "name": "Insurance",
                                "value": false
                            },
                            {
                                "name": "Type",
                                "value": "OneWay"
                            },
                            {
                                "name": "DepartureDate",
                                "value": "2023-11-01"
                            },
                            {
                                "name": "ReturnDate",
                                "value": "1970-01-01"
                            },
                            {
                                "name": "DestinationCountryCode",
                                "value": "AN"
                            },
                            {
                                "name": "TravelersCount",
                                "value": "2"
                            },
                            {
                                "name": "OwnTicket",
                                "value": true
                            },
                            {
                                "name": "MainDepartureCompany",
                                "value": "Air France"
                            },
                            {
                                "name": "DepartureAirport",
                                "value": "CDG"
                            },
                            {
                                "name": "DestinationAirport",
                                "value": "AAM"
                            }
                        ],
                        "shipping": {
                            "method": "VIR"
                        }
                    },
                    {
                        "name": "Stay",
                        "raw_amount": 83786,
                        "categories": [
                            {
                                "name": "HOTEL"
                            }
                        ],
                        "properties": [
                            {
                                "name": "RoomRange",
                                "value": "2 stars"
                            }
                        ],
                        "shipping": {
                            "method": "VIR"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "60128411000001321",
            "firstName": "Prenom",
            "lastName": "Nom",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "75",
            "civility": "Mr",
            "cellPhoneNumber": "9234567890",
            "homeAddress": {
                "line1": "8 Quai de Bacalan",
                "zipCode": "33000",
                "city": "Bordeaux",
                "countryCode": "FR"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Vehicle / Garage

Additionnal datas asked :

FieldDescriptionType
presaleFolder.shoppingCarts.products.categories.nameProduct's categories.
Depending on the available granularity, but at least the main category.
If possible, add a sub-category
String
additionalInformation.key/valueKey : Text1
Value : Date of first registration of the vehicle

Key : Text2
Value : Vehicle type
(private vehicle, 2 wheels, caravan...)

Key : Text3
Value : Vehicle's brand

Key : Numeric1
Value : Fiscal power of the vehicle (if available)

Key : Numeric2
Value : Flag customer type. 0 : New customer. 1 : Known customer

Key : Numeric3
Value : Postal code of the vehicle
Object of set ok Key-Value pair
If key is Text, then String
If key is Numeric, then integer

Example :

{
    "additionalInformation": [
        {
            "key": "Text1",
            "value": "2022-08-11"
        },
        {
            "key": "Text2",
            "value": "private vehicle"
        },
        {
            "key": "Text3",
            "value": "Mercedes"
        },
        {
            "key": "Numeric1",
            "value": "8"
        },
        {
            "key": "Numeric2",
            "value": "1"
        },
        {
            "key": "Numeric3",
            "value": "33000"
        }
    ],
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "1679927342",
                "rawAmount": 83786,
                "productsCount": 1,
                "products": [
                    {
                        "raw_amount": 83786,
                        "categories": [
                            {
                                "name": "CAR"
                            }
                        ],
                        "shipping": {
                            "method": "VIR"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "60128411000001321",
            "firstName": "Prenom",
            "lastName": "Nom",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "75",
            "civility": "Mr",
            "cellPhoneNumber": "9234567890",
            "homeAddress": {
                "line1": "8 Quai de Bacalan",
                "zipCode": "33000",
                "city": "Bordeaux",
                "countryCode": "FR"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Training courses

Additionnal datas asked :

FieldDescriptionType
presaleFolder.shoppingCarts.products.categories.namecourse details:
sector/subject (Art, Math, Computer science, marketing…)
level/degree
wording/name
String
additionalInformation.key/valueKey : Text2
Value : start date of the course (YYYY-MM-DD)

Key : Text3
Value : end date of the course (YYYY-MM-DD)

Key : Numeric1
Value : Flag if course is partially/totally funded by a third party organization (ex : CPF in France) :
0 : no
1 : yes

Key : Numeric2
Value : Flag if course leads to a diploma :
0 : no
1 : yes

Key : Numeric3
Value : Flag if course is a post-high school degree (post-bac in France)
0 : no
1 : yes
Object of set ok Key-Value pair
If key is Text, then String
If key is Numeric, then integer

Example :

{
    "additionalInformation": [
        {
            "key": "Text2",
            "value": "2023-06-01"
        },
        {
            "key": "Text3",
            "value": "2023-06-05"
        },
        {
            "key": "Numeric1",
            "value": "1"
        },
        {
            "key": "Numeric2",
            "value": "0"
        },
        {
            "key": "Numeric3",
            "value": "0"
        }
    ],
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "1679930534",
                "rawAmount": 13181,
                "productsCount": 1,
                "products": [
                    {
                        "raw_amount": 13181,
                        "categories": [
                            {
                                "name": "Computer science"
                            },
                            {
                                "name": "Bachelor"
                            },
                            {
                                "name": "Bachelor in Comp. Science & AI"
                            }
                        ],
                        "shipping": {
                            "method": "VIR"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "60128411000001321",
            "firstName": "Prenom",
            "lastName": "Nom",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "75",
            "civility": "Mr",
            "cellPhoneNumber": "9234567890",
            "homeAddress": {
                "line1": "8 Quai de Bacalan",
                "zipCode": "33000",
                "city": "Bordeaux",
                "countryCode": "FR"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Second Hand

Additionnal datas asked :

FieldDescriptionType
presaleFolder.shoppingCarts.products.categories.nameproduct's categories.
Depending on the available granularity, but at least the main category.
If possible, add a sub-category
String
additionalInformation.key/valueKey : Text1
Value : Brand of the most expensive product

Key : Text2
Value : Most expensive product model

Key : Text3
Value : Version/year of the most expensive product

Key : Text4
Value : Reconditioning status

Key : Numeric1
Value : Flag customer type
0 : New customer
1 : Known customer

Key : Numeric2
Value : Number of smartphones in the basket

Key : Numeric3
Value : Guarantee Indicator/Additional Insurance
Object of set ok Key-Value pair
If key is Text, then String
If key is Numeric, then integer

Example :

{
    "additionalInformation": [
        {
            "key": "Text1",
            "value": "Dior"
        },
        {
            "key": "Text2",
            "value": "Dress of the year"
        },
        {
            "key": "Text3",
            "value": "2023-01-01"
        },
        {
            "key": "Text4",
            "value": "SILVER"
        },
        {
            "key": "Numeric1",
            "value": "1"
        },
        {
            "key": "Numeric2",
            "value": "0"
        },
        {
            "key": "Numeric3",
            "value": "1"
        }
    ],
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "1679932574",
                "rawAmount": 53673,
                "productsCount": 1,
                "products": [
                    {
                        "raw_amount": 53673,
                        "categories": [
                            {
                                "name": "WOMAN"
                            },
                            {
                                "name": "DRESS",
                                "parent": "WOMAN"
                            }
                        ],
                        "shipping": {
                            "method": "VIR"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "60128411000001321",
            "firstName": "Prenom",
            "lastName": "Nom",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "75",
            "civility": "Mr",
            "cellPhoneNumber": "9234567890",
            "homeAddress": {
                "line1": "8 Quai de Bacalan",
                "zipCode": "33000",
                "city": "Bordeaux",
                "countryCode": "FR"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}

Telephony

Additionnal datas asked :

FieldDescriptionType
presaleFolder.shoppingCarts.products.categories.nameproduct's categories.
Depending on the available granularity, but at least the main category.
If possible, add a sub-category and the brand name.
String
additionalInformation.key/valueKey : Text2
Value : Purchase Type.
Default to "BARE_PHONE" for purchase of a cell phone.
Default to "PACKAGE_PHONE" for purchase of a cell phone with phone plan.
Key : Text3
Value : Type of phone package.
Only for purchase of a cell phone with phone plan.
Key : Text4
Value : Phone brand
Key : Text5
Value : Phone number of the subscrided line.
Only if purchase without portability, empty otherway.
Key : Text6
Value : Current phone provider.
Only if purchase with portability, empty otherway.
Key : Text7
Value : Phone condition.
Key : Numeric1
Value : Phone number portability flag
0 : without portability
1 : with portability
Key : Numeric2
Value : Flag if insurance have been subscrided
0 : without insurance
1 : with insurance
Key : Numeric3
Value : Flag if aditionals options have been subscribed
0 : without options
1 : with options
Key : Numeric4
Value : Advance on telephony consumption (in euros).
Only for purchase of a cell phone with phone plan.
Object of set ok Key-Value pair
If key is Text, then String
If key is Numeric, then integer

Example :

{
    "additionalInformation": [
        {
            "key": "Text2",
            "value": "BARE_PHONE"
        },
        {
            "key": "Text4",
            "value": "SAMSUNG"
        },
        {
            "key": "Text5",
            "value": ""
        },
        {
            "key": "Text6",
            "value": ""
        },
		    {
            "key": "Text7",
            "value": "NEW"
        },
        {
            "key": "Numeric1",
            "value": "1"
        },
        {
            "key": "Numeric2",
            "value": "1"
        },
        {
            "key": "Numeric3",
            "value": "0"
        }
    ],
    "presaleFolder": {
        "shoppingCarts": [
            {
                "reference": "1679933421",
                "rawAmount": 30235,
                "productsCount": 1,
                "products": [
                    {
                        "raw_amount": 30235,
                        "categories": [
                            {
                                "name": "SMARTPHONE"
                            },
                            {
                                "name": "SAMSUNG",
                                "parent": "SMARTPHONE"
                            }
                        ],
                        "shipping": {
                            "method": "VIR"
                        }
                    }
                ]
            }
        ],
        "customer": {
            "reference": "60128411000001321",
            "firstName": "Prenom",
            "lastName": "Nom",
            "email": "[email protected]",
            "birthDate": "1986-07-16T00:00:00.0000000+00:00",
            "birthZipCode": "75",
            "civility": "Mr",
            "cellPhoneNumber": "9234567890",
            "homeAddress": {
                "line1": "8 Quai de Bacalan",
                "zipCode": "33000",
                "city": "Bordeaux",
                "countryCode": "FR"
            },
            "history": {
                "firstOrderDate": "2022-01-16T00:00:00.0000000+00:00",
                "lastOrderDate": "2023-03-01T00:00:00.0000000+00:00"
            }
        },
        "saleChannel": "Desktop"
    }
}