Obtenir les prix d'une offre sans passer par un devis
Vous pouvez interroger notre API pour obtenir les combinaisons possible sur ces deux endpoint :
- offers/{id}/contexts
- offers/{id}/contexts/shortened
et tester votre combinaison d’items sur ce endpoint
- offers/{id}/context
Obtenir l’ensemble des combinaisons possibles pour une offre
Pour utiliser ces routes ils vous suffit de passer l’identifiant d’une liste de prix, vous pouvez trouver cet identifiant en parcourant la liste de vos contrats en parcourant l’attribut contracts
.
Comme il peut il y avoir beaucoup de combinaisons la réponse peut être volumineuse et peut lisible, c’est pourquoi vous pouvez aussi utiliser une version ou chaque proposition est résumée :
Les deux routes prennent les même arguments
Exemple
offers/{idOffre}/contexts?priceList={priceListId}
Les principal combinaisons pour nos offres
Offre | Id offre | priceList pour Prizz Infrastructures | priceList pour Prizz Télécom |
---|---|---|---|
L2 PREMIUM | 1 | 24 | 25 |
L2 BASIC | 5 | 16 | 17 |
L3 INTERNET | 4 | 29 |
A titre de comparaison, voici un élément de la version résumée
[{
"offerId": 1,
"isValid": false,
"total": 9900,
"totalWithoutNrc": 9900,
"items_id": [71,149,73,115,105],
"hasToEstimateProducts": false,
"attributes": {
"offer_type": 1,
"bw_down": 10,
"bw_down_guaranteed": 10,
"bw_up_guaranteed": 10,
"bw_up": 10,
"national": 0,
"commitment_months": 36,
"construction_time_in_days": 42,
"eligibility_string": "f1"
}
}]
et le même dans sa version longue
[{
"offerId": 1,
"isValid": false,
"total": 9900,
"totalWithoutNrc": 9900,
"items": [
{
"priceListId": 24,
"product": {
"productCode": "pl2",
"group": null,
"id": 3,
"name": "Liaison L2",
"attributes": {
"offer_type": 1
}
},
"commercialCode": "pl2",
"description": "Liaison L2",
"insideOfferOnly": true,
"toEstimate": false,
"active": true,
"id": 71,
"createDate": "2024-03-19T15:41:32+01:00",
"lastModifiedDate": "2024-03-19T15:41:32+01:00",
"name": "prizzl2",
"unitPrice": 9900,
"unitPriceStr": "99.00",
"unit": null,
"vat": "TVA_FR_NORMAL",
"recurrence": "monthly"
},
{
"priceListId": 24,
"product": {
"productCode": "pl2_local",
"group": {
"type": "national",
"name": "national_L2 PREMIUM"
},
"id": 42,
"name": "Liaison L2 collecte locale",
"attributes": {
"national": 0
}
},
"commercialCode": "pl2_local",
"description": "Porte de livraison locale : accès dans la même zone",
"insideOfferOnly": true,
"toEstimate": false,
"active": true,
"id": 149,
"createDate": "2024-03-19T15:41:32+01:00",
"lastModifiedDate": "2024-03-19T15:41:32+01:00",
"name": "prizzl2_local",
"unitPrice": 0,
"unitPriceStr": "0.00",
"unit": null,
"vat": "TVA_FR_NORMAL",
"recurrence": "monthly"
},
{
"priceListId": 24,
"product": {
"productCode": "pl2020",
"group": {
"type": "bandwidth",
"name": "bandwidth_L2 PREMIUM"
},
"id": 4,
"name": "Liaison L2 10Mbps",
"attributes": {
"bw_down": 10,
"bw_down_guaranteed": 10,
"bw_up_guaranteed": 10,
"bw_up": 10
}
},
"commercialCode": "pl2020",
"description": "Débit 10Mb/s",
"insideOfferOnly": true,
"toEstimate": false,
"active": true,
"id": 73,
"createDate": "2024-03-19T15:41:32+01:00",
"lastModifiedDate": "2024-03-19T15:41:32+01:00",
"name": "prizzl2020",
"unitPrice": 0,
"unitPriceStr": "0.00",
"unit": null,
"vat": "TVA_FR_NORMAL",
"recurrence": "monthly"
},
{
"priceListId": 24,
"product": {
"productCode": "pl2_nrc_Z1B",
"group": {
"type": "nrc",
"name": "nrc_L2 PREMIUM"
},
"id": 25,
"name": "Liaison L2 FAS ZONE 1",
"attributes": {
"construction_time_in_days": 42,
"eligibility_string": "f1"
}
},
"commercialCode": "pl2_nrc_Z1B",
"description": "FAS ZONE 1",
"insideOfferOnly": true,
"toEstimate": false,
"active": true,
"id": 115,
"createDate": "2024-03-19T15:41:32+01:00",
"lastModifiedDate": "2024-03-19T15:41:32+01:00",
"name": "prizz Liaison L2 FAS ZONE 1",
"unitPrice": 0,
"unitPriceStr": "0.00",
"unit": null,
"vat": "TVA_FR_NORMAL",
"recurrence": null
},
{
"priceListId": 24,
"product": {
"productCode": "pl2_cmt_36",
"group": {
"type": "commitment",
"name": "commitment_L2 PREMIUM"
},
"id": 20,
"name": "Liaison L2 Engagement 36 mois",
"attributes": {
"commitment_months": 36
}
},
"commercialCode": "pl2_cmt_36",
"description": "Engagement 36 mois",
"insideOfferOnly": true,
"toEstimate": false,
"active": true,
"id": 105,
"createDate": "2024-03-19T15:41:32+01:00",
"lastModifiedDate": "2024-03-19T15:41:32+01:00",
"name": "prizzLiaison L2 Engagement 36 mois",
"unitPrice": 0,
"unitPriceStr": "0.00",
"unit": null,
"vat": "TVA_FR_NORMAL",
"recurrence": "monthly"
}
]
},
]
Tester directement une combinaison
Cette route vous permet de tester une combinaison pour une offre que vous formez vous même. Les éléments qui la compose doivent appartenir à la même liste de prix.
offers/1/context?items[]=121&items[]=536&items[]=73&items[]=71&items[]=113&items[]=149
{
"offerId": 1,
"isValid": true,
"total": 104900,
"totalWithoutNrc": 14900,
"items": [
{
L’attribut isValid
de la réponse confirme que la combinaison que vous testez est correcte.
A savoir pour construire vos listes d’items
Chez nous, une offre, c’est un item de base associé à une liste d’items qui appartiennent à un groupe qui lui même correspond à un choix que l’on peut faire pour définir un accès. Par exemple, il y a un groupe pour la bande passante, un autre pour la durée d’engagement etc..
Lorsque vous consultez un item d’une liste de prix il faut regarder la clé product
qui contient elle même une clé group
En règle général, chaque groupe doit contenir au moins un élément.
Listes des groupes par offre
L2 PREMIUM
type | min | max |
---|---|---|
bandwidth | 1 | 1 |
commitment | 1 | 1 |
express | 0 | 1 |
grt | 1 | 1 |
national | 1 | 1 |
nrc | 1 | 1 |
L2 BASIC
type | min | max |
---|---|---|
bandwidth | 1 | 1 |
commitment | 1 | 1 |
express | 0 | 1 |
grt | 1 | 1 |
nrc | 1 | 1 |
L3 INTERNET
type | min | max |
---|---|---|
bandwidth | 1 | 1 |
commitment | 1 | 1 |
express | 0 | 1 |
grt | 1 | 1 |
nrc | 1 | 1 |
subnet | 1 | 1 |