Beste,

ik ben nog nieuw op deze forum en hoop dat ik het niet verkeerd heb geplaatst.

ik ben bezig met mijn webshop en heb van mijn distributeur een API key gekregen zodat ik realtime de voorraadstatus en dergelijke kan laten opvragen.

ik heb maar 1 topic op het internet gezien waar ze hetzelfde mee willen doen maar daar zijn ze waarschijnlijk ook niet meer verder in gaan verdiepen. Ik zit momenteel klem en wil graag hulp vragen van jullie. Weet iemand hierover meer informatie of heeft hij/zij het al eerder gedaan?

Wat ik heb:
Werkende webshop
Een API KEY

Dit zijn de dingen die ik van mijn distributeur heb gekregen:

Mijn Twindis API

Gebruik de Twindis API om op Uw website altijd de correcte gegevens van onze producten te krijgen.
Mijn API Key


API uitleg

Wat is een API?

Momenteel verkeert de API in BETA fase, het is mogelijk dat er veranderingen in geplaatst worden.

Een API request zal altijd een JSON object terug geven. Een API request ziet er als volgt uit:
http://www.twindis.com/api/functie?apikey=key&andere parameters

Momenteel is alleen de getStatus functie beschikbaar; hierbij hoeft u behalve uw API key alleen de ID variabele mee te geven van het betreffende product.
bijvoorbeeld
http://www.twindis.com/api/getStatus?apikey=eEnApIkEy&id=P0000001


vervolg wat is een api

API staat voor Application Programming Interface, een soort 'tussenvoegsel' waardoor een computerprogramma kan communiceren met een ander programma. Met behulp van een API hoeft bijvoorbeeld een tekenprogramma niet de details te weten van de aansturing van de printer, maar kan het deze printer wel gebruiken; het enige wat het tekenprogramma hoeft te doen is de afdruk-API, een stuk gespecialiseerd software in een bibliotheek, aan te roepen om de tekening te printen.

In dit geval zorgt de Twindis API ervoor dat uw eigen database realtime kan communiceren met de Twindis database, bijvoorbeeld om de real-time voorraad van Twindis direct te linken aan uw eigen voorraad.

Ingelogde gebruikers kunnen sinds kort op https://www.twindis.com/account/mijn-api-key/ hun API key vinden.

Een voorbeeld van een key is "E2EE2E8DE201EFF104DE51E16F867EAF". (Deze key verschilt per klant)
Als u naar de volgende URL gaat:
http://www.twindis.com/api/getStatus?apikey=E2EE2E8DE201EFF104DE51E16F867EAF&id=p0002079
dan krijgt u het volgende resultaat terug:

{
"ID": "p0002079",
"STOCK": 1068,
"LEADTIME": 0,
"LEADTIMETEXT": "Op voorraad"
}

Dit resultaat is in JSON formaat voor data-uitwisseling, uw website developer weet wat hiermee moet gebeuren.
De ID is het artikelnummer zoals het bij Twindis bekend is
De STOCK is de realtime actuele voorraad bij Twindis.
De LEADTIME betekent hoeveel dagen dat het duurt voor Twindis het product kan opsturen.
De LEADTIMETEXT is de exacte tekst zoals Twindis die op de website gebruikt.


Hopelijk kan iemand mij hiermee helpen.


EDIT:
dit is het link die ik heb kunnen vinden:

http://forum.opencart.com/viewtopic.php?f=106&t=95645
Slimmerik... haal even je API key uit het bericht weg!!!
Ozzie PHP :) thnx
Ja goed, wat een API is weet ik wel. Wat weet je zelf van PHP beste Omer? Je vraagt of iemand kan helpen. Wij zijn er niet om jouw code te gaan schrijven. Wil je iemand zoeken die dat voor je doet dan kun je een vacature plaatsen.

Als je wilt dat wij jou een duwtje in de rug gaan geven dan zul je met specifieke vragen moeten komen.
Een vraag zou bijvoorbeeld kunnen zijn: Hoe lees ik die JSON's uit in PHP?

Die link wijst naar opencart.com. Is jouw webshop een opencart webshop?
Hoi Frank,

Mijn kennis is zeer beperkt maar ben wel bereid om te leren.

Ik heb een draaiende webshop met OpenCart.

In die link heb ik die code wel kunnen plakken op de product pagina.
Bij de laatste antwoord hebben ze het over de : url: 'http://www.twindis.com/api/getStatus?apikey=E2EE2E8DE201EFF104DE51E16F867EAF&id=<?php echo $product_id; ?>', dit moet zijn $model;

als ik dit doe:

link: http://www.twindis.com/api/getStatus?apikey=MIJNAPIKEY&id=<?php echo $model; ?><br>

geeft hij het wel netjes aan in PHP, maar in deze script niet:


<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: 'http://www.twindis.com/api/getStatus?apikey=MIJNAPIKEY&id=<?php echo $model; ?>',
type: 'post',
dataType: 'json',
beforeSend: function() {
$('#stock').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
},
complete: function() {
$('.wait').remove();
},
success: function(json) {
if (json['ID']) {
$('#stock').html(json['STOCK']);
$('#leadtime').html(json['LEADTIME']);
$('#leadtimetext').html(json['LEADTIMETEXT']);
}
},
error: function() {
$('#leadtimetext').html('Onbekend');
}
});
});


</script>


Aantal:<span id="stock"></span><br />
Levertijd:<span id="leadtime"></span><br />
Voorraad:<span id="leadtimetext"></span><br />[/quote]

wat is er mis mee met dit stukje code?
kun je middels ajax wel zomaar een url buiten je eigen domein aanroepen?

Roep eens een script aan op je eigen server. laten we zeggen "api.php?model=foobar".


in api.php staat vervolgens:

<?php

$response = file_get_contents('http://www.twindis.com/api/getStatus?apikey=MIJNAPIKEY&id=';. $_GET['model]);

echo $response;
?>

NB: check even de inhoud van $_GET['model'] voor je live gaat: er kan rommel in zitten

Daarmee geef je ook niet de api key in handen van de bezoekers van de site.

[size=xsmall]Toevoeging op 05/10/2014 17:10:23:[/size]

afhankelijk van wat die api terug geeft, kan je op regel 5 ook nog een json_encode() nodig hebben
Dat is javascript met JQuery. Dat zou ik persoonlijk liever niet gebruiken want dan ligt direct je API sleutel weer te grabbel. javascript wordt namelijk in de bron van je pagina meegestuurd naar de browser. Iedereen kan de bron van een webpagina bekijken en dan valt daarin jouw api-sleutel te lezen.

Waar het om gaat is dat je weet welke url's je moet hebben voor welke actie. Je kan de url's in PHP heel makkelijk uitvoeren met file_get_contents(). de JSON komt dan weer in een object of een array te staan welke met de functie json_decode().


<?php

$url = 'http://jouw-url.com';
$json = file_get_contents($url);

echo 'JSON in een object:';
$object = json_decode($json);
echo '<pre>';
var_dump($object);
echo '</pre>';

echo 'JSON in een array:';
$array = json_decode($json, true);
echo '<pre>';
print_r($array);
echo '</pre>';

?>
@Ivo P:

Nee dit werkt niet.

@Frank Nietbelangrijk:

Hoe zou jij het doen?

---------

Wat een gedoe om 3 woorden uit te lezen zeg :)

Ik heb wel wat gelezen over de API maar had het eerlijk niet verwacht dat het zo moeilijk moest zijn.

Reageren