2017 © Pedro Peláez
 

library codi-integration

image

ispalliance/codi-integration

  • Tuesday, January 2, 2018
  • by sparkcz
  • Repository
  • 5 Watchers
  • 0 Stars
  • 178 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 4 % Grown

The README.md

CODI integrace

PHP from Packagist Build Status Code coverage Licence Downloads this Month Downloads total Latest stable, (*1)

Základní entity, dokumentace, popis API a příklady k integraci platformy CODI do vašich systémů., (*2)

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., (*3)

Příklad volání pro open access a internet, kde 9268979 je RUIAN CODE, (*4)

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., (*5)

{
  "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., (*6)

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., (*7)

Internet

Pro php lze využít CodiInternetResponseEntity, (*8)

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, (*9)

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, (*10)

\* povinné položky

#### Příklad json entity:
```json
{
  "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, (*11)

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, (*12)

Položky entity:

technology - string *
note - string
priceLevel - string
speedDown - int
speedUp - int

* povinné položky, (*13)

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
   }
 ]
}

The Versions

02/01 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

by ISP Alliance, a.s.

02/01 2018

v0.5.0

0.5.0.0

  Sources   Download

MIT

The Requires

 

by ISP Alliance, a.s.