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:$camps Veure taula camps |
Objecte propietari |
| altaAnimal | Dona d'alta un animal | array:$camps Veure 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_baixa Veure 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 |