ispalliance / codi-integration
Installs: 1 057
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 6
Forks: 0
Open Issues: 0
pkg:composer/ispalliance/codi-integration
Requires
- php: >=5.6
Requires (Dev)
- nette/tester: ^2.0
This package is auto-updated.
Last update: 2025-10-15 12:31:41 UTC
README
Základní entity, dokumentace, popis API a příklady k integraci platformy CODI do vašich systémů.
Instalace
composer require ispalliance/codi-integration
Volání
Z CODI se volá server subjektu metodou GET s HTTP Basic authentication. Server/servery subjektu by měli mít endpointy pro internet a volitelně pro open access. V adrese volaného serveru je umístěn RUIAN CODE, pro který zjišťujeme dostupnost internetu / open accessu.
Příklad volání pro open access a internet, kde 9268979 je RUIAN CODE
https://domain.tld/open-access.php?ruian=9268979
https://domain.tld/internet.php?ruian=9268979
Odpověď
Odpověď je očekávána jako json, který obsahuje status a data. Data obsahují pole entit, nalezených dle ruianu. Použité kódování je UTF-8.
{
"status":"success",
"data":[
...
]
}
Každá entita by měla reprezentovat unikátní technologii, která se na adrese nachází. V případě, že bude v odpovědi zasláno více entit se shodnou technologií, uloží se v CODI pouze ta první a ostatní budou zahozeny. Pokud není žádná technologie v objektu dostupná, je očekáváno prázné pole. V případě, že není objekt dle RUIAN CODE nalezen, je očekávána odpověď se statusem 404. V případě, že vše proběhlo v pořádku je očekávána odpověď se statusem 200 a status v jsonu success, viz. příklady.
V případě php je možné použít entity, které lze poté pomocí json_encode převést na json. V ostatních případech je vyžadován níže popsaný tvar jsonu.
Internet
Pro php lze využít CodiInternetResponseEntity
Ukázka implementace
Základní implementaci včetně HTTP Basic auth bez logiky získávání dat pro PHP naleznete v příkladech v souboru Internet.php
Položky entity:
objekt CodiInternetResponseEntity:
technology - string *
speedUp - objekt FromToEntity *
speedDown - objekt FromToEntity *
price - objekt FromToEntity *
additional - pole stringu *
webLink - string
orderLink - string
promoText - string, maximální dílka 100 znaků, delší text bude zkrácen.
objekt FromToEntity:
from - int
to - int
* povinné položky
Příklad json entity:
{
"technology":"fwa_licensed",
"speedUp":{
"from":10,
"to":20
},
"speedDown":{
"from":20,
"to":40
},
"price":{
"from":189,
"to":799
},
"additional":["TV","VOIP"],
"webLink":"http://www.ispalliance.cz",
"orderLink":"http://ispalliance.cz/order",
"promoText":"Akční nabídka."
}
Příklad odpovědi bez technologie:
{
"status":"success",
"data":[]
}
Příklad minimální odpovědi, která vrací jen technologii:
{
"status":"success",
"data":[
{
"technology":"fwa_licensed",
"speedUp":{
"from":null,
"to":null
},
"speedDown":{
"from":null,
"to":null
},
"price":{
"from":null,
"to":null
},
"additional":[],
"webLink":null,
"promoText":null
}
]
}
Příklad kompletní odpovědi, která vrací 2 technologie:
{
"status":"success",
"data":[
{
"technology":"fwa_licensed",
"speedUp":{
"from":10,
"to":20
},
"speedDown":{
"from":20,
"to":40
},
"price":{
"from":189,
"to":799
},
"additional":["TV","VOIP"],
"webLink":"http://www.ispalliance.cz",
"orderLink":"http://ispalliance.cz/order",
"promoText":"Máme nejlepší poměr cena výkon na trhu. Nyní navíc akční nabídku půl roku za polovic."
},
{
"technology":"xdsl",
"speedUp":{
"from":10,
"to":30
},
"speedDown":{
"from":20,
"to":60
},
"price":{
"from":399,
"to":1999
},
"additional":[],
"webLink":"http://www.ispalliance.cz",
"orderLink":"http://ispalliance.cz/order",
"promoText":"Máme nejlepší poměr cena výkon na trhu. Nyní navíc akční nabídku půl roku za polovic."
}
]
}
OpenAccess
Pro php lze využít CodiOpenAccessResponseEntity
Ukázka implementace
Základní implementaci včetně HTTP Basic auth bez logiky získávání dat pro PHP naleznete v příkladech v souboru OpenAccess.php
Položky entity:
technology - string *
note - string
priceLevel - string
speedDown - int
speedUp - int
* povinné položky
Příklad json entity:
{
"technology":"fwa_licensed",
"note":"Poznámka",
"priceLevel": "level_a",
"speedDown": 4096,
"speedUp": 512
}
Příklad odpovědi bez technologie:
{
"status":"success",
"data":[]
}
Příklad minimální odpovědi, která vrací jen technologii:
{
"status":"success",
"data":[
{
"technology":"fwa_licensed",
"note":null,
"priceLevel":null,
"speedDown":null,
"speedUp":null
}
]
}
Příklad kompletní odpovědi, která vrací 2 technologie:
{
"status":"success",
"data":[
{
"technology":"xdsl",
"note":"note",
"priceLevel":null,
"speedDown":null,
"speedUp":null
},
{
"technology":"fwa_licensed",
"note":"Lorem ipsum, bla bla bla.",
"priceLevel": "level_a",
"speedDown": 4096,
"speedUp": 512
}
]
}