ajtarragona / anicom-client
Client d'accés al WS ANICOM de Gencat
Installs: 33
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/ajtarragona/anicom-client
Requires
- php: ^7.1.3|^8.0
- laravel/framework: >=6.0
README
Client Laravel d'accés al WS d'ANICOM. ANICOM és un registre d'animals de companyia de la Generalitat de Catalunya: https://mediambient.gencat.cat/ca/05_ambits_dactuacio/patrimoni_natural/animals_companyia_experimentacio/animals_companyia/anicom/
Instalació
composer require ajtarragona/anicom-client:dev-main"
Configuració
Pots configurar el paquet a través de l'arxiu .env de l'aplicació. Aquests son els parámetres disponibles :
| Paràmetre | Descripció | Valors | 
|---|---|---|
| ANICOM_ENVIRONMENT | Entorn pre-producció o producció | pre/pro | 
| ANICOM_URL_PRO | Url base de la API en producció | |
| ANICOM_USER_PRO | Usuari de producció | |
| ANICOM_PASSWORD_PRO | Password de producció | |
| ANICOM_ID_REGISTRO_PRO | ID de registre de producció | proporcionat per ANICOM | 
| ANICOM_URL_PRE | Url base de la API en pre-producció | |
| ANICOM_USER_PRE | Usuari de pre-producció | |
| ANICOM_PASSWORD_PRE | Password de pre-producció | |
| ANICOM_ID_REGISTRO_PRE | ID de registre de pre-producció | proporcionat per ANICOM | 
| ANICOM_DEBUG | Mode debug (habilita més logs) | true/false | 
Alternativament, pots publicar l'arxiu de configuració del paquet amb la comanda:
php artisan vendor:publish --tag=ajtarragona-anicom-config
Això copiarà l'arxiu anicom.php a la carpeta config.
Ús
Un cop configurat, el paquet està a punt per fer-se servir. Ho pots fer de les següents maneres:
A través d'una Facade:
use Anicom; ... public function test(){ $animal=Anicom::consultaAnimal('123456'); ... }
Per Laravel < 5.6, cal registrar l'alias de la Facade a l'arxiu config/app.php :
'aliases' => [ ... 'Anicom' => Ajtarragona\Anicom\Facades\Anicom::class ]
Vía Injecció de dependències: Als teus controlladors, helpers, model:
use Ajtarragona\Anicom\Providers\AnicomProvider; ... public function test(AnicomProvider $client){ $animal=$client->consultaAnimal('123456'); ... }
Vía funció helper:
... public function test(){ $animal=anicom()->consultaAnimal('123456'); ... }
Funcions
| Funció | Descripció | Paràmetres | Retorn | 
|---|---|---|---|
| consultaAnimal | Retorna un animal a partir del seu id (codi de xip) | string:$id_animal | Objecte animal | 
| consultaPropietari | Retorna un propietari a partir del seu id (DNI, nif, passaport) | string:$id_propietari | Objecte propietari | 
| altaPropietari | Dona d'alta un propietari | array:$campsVeure taula camps | Objecte propietari | 
| altaAnimal | Dona d'alta un animal | array:$campsVeure taula camps | Objecte animal | 
| canviPropietari | Canvia de propietari un animal, passant l'id dels dos | string:$id_animal,string:$id_nou_prop | Objecte propietari | 
| modificacioAnimal | Modifica dades d'un animal | string:$id_animal,array:$camps | Objecte animal | 
| modificacioPropietari | Modifica dades d'un propietari | string:$id_propietari,array:$camps | Objecte propietari | 
| baixaAnimal | Dona de baixa un animal | string:$id_animal,int:$motiu,data:$data_baixaVeure taula motius baixa | Objecte animal | 
| recuperaAnimal | Recupera un animal de baixa | string:$id_animal | Objecte animal | 
Camps propietari
| Nom camp | Descripció | Obligatori | Valors | 
|---|---|---|---|
| tipus_persona | Tipus de persona | No | 1:Persona física, 2:Persona jurídica, 3:Organisme | 
| tip_document | Tipus de document | No | Veure taula | 
| document | Document d'identificació (DNI, etc.) | Si | |
| nom | Nom del propietari | Si | |
| cognoms | Cognoms del propietari | Si | |
| rao_social | Raó social | Si (si tip_document = 2 o 3) | |
| sexe | Sexe del propietari | Si | 1:Dona, 2:Home, 3:No binari | 
| tip_document_repres | Tipus de document representant | No | Veure taula | 
| document_repres | Document d'identificació del representant | No | |
| nom_repres | Nom del representant | No | |
| cognoms_repres | Cognoms del representant | No | |
| tipus_via | Tipus de via | Si | Veure taula | 
| via | Nom de via | Si | |
| numero | Numero de via | Si | |
| bloc | Bloc | No | |
| escala | Escala | No | |
| pis | Pis | No | |
| porta | Porta | No | |
| municipi | Nom de via | Si | Veure taula | 
| codi_postal | Codi postal | No | |
| pais | Codi de pais | No | |
| telefon | Telèfon | Si | |
| telefon2 | Telèfon 2 | Si | |
| telefon3 | Telèfon 3 | Si | |
| No | |||
| email2 | Email 2 | No | |
| major_18 | Major 18 | No | S - N | 
| observacions | Observacions | No | 
... public function test(){ $animal=anicom()->altaPropietari([ 'tipus_persona' => 1, 'tip_document' => 1, 'document' => '12345678J', 'nom' => 'PEPITO', 'cognoms' => 'PEREZ LOPEZ', 'rao_social' => '', 'sexe' => 2, 'ambit' => 1, 'tipus_via' => 1, 'via' => 'FAKE STREET', 'numero' => 1, 'municipi' => 17118, 'telefon' => '666666666' ]); }
Camps animal
| Nom camp | Descripció | Obligatori | Valors | 
|---|---|---|---|
| data_alta | Data d'alta | No | Es posarà per defecte la data actual. Si es passa, ha de ser en format dd/mm/YYYY | 
| identificacio | Codi de xip de l'animal | Si | |
| tip_identificacio | Codi del tipus d'identificació | No | 1:Xip, 2:Tatuatge | 
| lloc_marcatge | Lloc de marcatge del xip | No | Veure taula | 
| especie | Codi d'espècie | Si | 1:Gos , 2:Gat, 3:Fura | 
| sexe | Sexe de l'animal | No | 1:Mascle, 2:Femella | 
| raca | Codi de raça | No | Veure taula | 
| idPkPare | Identificador del propietari | No | |
| nom_animal | Nom de l'animal | ||
| num_placa | Numero de placa | No | |
| esterilitzat | Esterilitzat | No | S - N | 
| raca | Codi de raça de l'animal | No | Veure a ANICOM | 
| varietat_raca | Varietat de raça de l'animal | No | |
| perillos | Animal perillós | No | S - N | 
| assistencia | Animal d'assistència | No | S - N | 
| mateixa_adreca | Mateixa adreça que propietari | No | S - N | 
| tipus_via_anim | Tipus de via | Si | Veure taula | 
| via_anim | Nom de via | Si | |
| numero_anim | Numero de via | Si | |
| bloc_anim | Bloc | No | |
| escala_anim | Escala | No | |
| pis_anim | Pis | No | |
| porta_anim | Porta | No | |
| municipi_anim | Nom de via | Si | Veure taula | 
| codi_postal_anim | Codi postal | No | |
| observacions_anim | Observacions | No | |
| proteccio_dades | Protecció de dades | No | S - N | 
... public function test(){ $animal=anicom()->altaAnimal([ 'identificacio' => '123456789012345', 'lloc_marcatge' => 1, 'especie' => 1, //Gos 'sexe' => 1, //mascle 'raca' => 2, //fox terrier 'idPkPare' => '11111116T' 'nom_animal'=>'Bobby', ]); }
Llocs de marcatge
| Codi | Valor | 
|---|---|
| 0 | No Determinat | 
| 1 | Orella | 
| 2 | Engonal | 
| 3 | Coll | 
| 4 | Llom | 
| 5 | Creu | 
| 8 | Múscul pectoral | 
Tipus de document identificador
| Codi | Valor | 
|---|---|
| 1 | NIF | 
| 2 | NIE | 
| 3 | Passaport | 
| 6 | NIF de PJ | 
| 7 | Doc. Identificació estranger | 
| 8 | No classificat | 
Motius de baixa
| Codi | Valor | 
|---|---|
| 1 | Baixa del registre | 
| 2 | Baixa del cens municipal | 
| 3 | Baixa per mort | 
| 4 | Baixa per canvi de propietari |