Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371

    Script con lettura e scrittura attraverso API

    Salve ragazzi dovrei realizzare uno script schedulato che esegue la lettura su un db attraverso le APIKEY fornite dal produttore e le riscrive su un altro db identico sempre attraverso APIKEY.
    NB:mi hanno confermato che le APIKEY fornite dal produttore sono sia in lettura che in scrittura....e mi hanno dato un codice di esempio....che posto sotto ma non so dove mettermi le mani....
    Qualche anima gentile che mi aiuti non so da dove cominciare.

    Esempio di codice PHP nativo:
    <?php
    $url = "https://api.xxxx.it/v1/richiesta/info";
    $request = array("api_uid" => "128877", "api_key" => "7f3f0d911b018f02ac3febc50981bf3f");
    $options = array(
    "http" => array(
    "header" => "Content-type: text/json\r\n",
    "method" => "POST",
    "content" => json_encode($request)
    ),
    );
    $context = stream_context_create($options);
    $result = json_decode(file_get_contents($url, false, $context), true);
    print_r($result);
    ?>
    RICHIESTA...
    {
    "api_uid": "128877",
    "api_key": "7f3f0d911b018f02ac3febc50981bf3f",
    "anno": 2017,
    "data_inizio": "01/01/2018",
    "data_fine": "31/12/2018",
    "cliente": "",
    "fornitore": "",
    "id_cliente": "",
    "id_fornitore": "",
    "saldato": "",
    "oggetto": "",
    "ogni_ddt": "",
    "PA": false,
    "PA_tipo_cliente": "",
    "pagina": 1
    }

    RISPOSTA IN CASO DI SUCCESSO....
    { "success": true, "lista_documenti": [ { "id": "0", "token": "1234567890abcdefghijklmnopqrstuv", "tipo": "fatture", "id_cliente": "0", "id_fornitore": "0", "nome": "Mario Rossi", "numero": "1a", "data": "12/01/2018", "importo_netto": 0, "importo_totale": 0, "valuta": "EUR", "valuta_cambio": 1, "prossima_scadenza": "00/00/0000", "ddt": false, "ftacc": false, "oggetto_visibile": "", "oggetto_interno": "", "link_doc": "", "ddt_numero": "1", "ddt_data": "12/01/2018", "bloccato": true, "PA": true, "PA_tipo_cliente": "PA" } ], "pagina_corrente": 1, "numero_pagine": 1, "numero_risultati": 0, "risultati_per_pagina": 250}

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Raga sono riuscito a fare la lettura con le API adesso ho i dati all'interno della variabile/array print_r($result) che stampo a video.....
    Ora come li scrivo sull'altro db???
    Vi ricordo che i due db sono entrambi attraverso API.....
    stavo provando questo di seguito ....ma non va....cosa sbaglio???
    function FactWrite($input_file) { $url = "https://api.xxxx.it:443/v1/lista";
    $api_uid="122211";
    $api_key="7f3f0d911b018f25ac3febc50981bf3f";
    $content = file_get_contents ($input_file);
    echo "Recod Aggiunti.\n";
    $result = SendPost($url, $api_key, $content);
    echo json_encode (json_decode ($result), JSON_PRETTY_PRINT);

    }


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Quote Originariamente inviata da max1974 Visualizza il messaggio
    Raga sono riuscito a fare la lettura con le API adesso ho i dati all'interno della variabile/array print_r($result) che stampo a video.....
    Ora come li scrivo sull'altro db???
    Vi ricordo che i due db sono entrambi attraverso API.....
    stavo provando questo di seguito ....ma non va....cosa sbaglio???
    Qualche suggerimento ?????

    ho capito, se non erro che va utilizzato il comando curl per l'invio....correggetemi se sbaglio.... ed ho provato questo codice.....
    // trasformo la mia array in JSON $dati = json_encode($result);

    // inizializzo curl
    $ch = curl_init();

    // imposto la URl del web-service remoto
    curl_setopt($ch, CURLOPT_URL, $uri);


    // preparo l'invio dei dati col metodo POST
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$dati);

    // imposto gli header correttamente
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($dati))
    );

    // eseguo la chiamata
    curl_exec($ch);

    // chiudo

    curl_close($ch);
    ed ora il server mi dice "Parametro 'api_uid' mancante." sono andato a leggere ed ho trovato questo
    I parametri api_uid e api_key sono necessari per effettuare qualsiasi operazione e vanno inseriti come parametri JSON in tutte le richieste.

    sono fermo ......come devo passargli questo parametro ???

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Post chiuso riaperto con informazioni diverse qui....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.