ajtarragona/anicom-client

Client d'accés al WS ANICOM de Gencat

v0.0.2 2023-10-19 08:04 UTC

This package is auto-updated.

Last update: 2024-04-19 09:19:25 UTC


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/

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

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
email Email 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