Calling Developers!
We are reenergizing our code contribution process! Learn More

What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Hello Team! I am new to Spryker. I am trying to a REST API that reads in data from an external sourc

U04949W9DJ8 Posts: 19 🧑🏻‍🚀 - Cadet

Hello Team!
I am new to Spryker. I am trying to a REST API that reads in data from an external source that my module can use from the backend. I'm having trouble finding a place to start. Does anyone have any documentation or first steps they could share?


  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer

    GuzzleHttp should be already distributed with Spryker.
    For usage see

    How to configure guzzle in Spryker to use it (please do it properly in the factory of your business layer, here it's just a lot shorter):

    use GuzzleHttp\Client;
    use GuzzleHttp\HandlerStack;
    use GuzzleHttp\MessageFormatter;
    use GuzzleHttp\Middleware;
    use GuzzleHttp\RequestOptions;
    use Spryker\Shared\Log\Config\DefaultLoggerConfig;
    $stackHandler = HandlerStack::create();
        $this->getLogger(new DefaultLoggerConfig()),
        new MessageFormatter(MessageFormatter::DEBUG),
    )); // debug format
    $config = [
        RequestOptions::CONNECT_TIMEOUT => 5,
        RequestOptions::TIMEOUT => 10 * 60, // seconds
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        'debug' => false,
        'handler' => $stackHandler,
    $httpClient = new Client($config);


    $response = $httpClient->request('GET', '<>');
    $data = json_decode($response->getBody()->getContents(), true);
    $response = $httpClient->post('<>', ['body' => 'foo']);
    $data = json_decode($response->getBody()->getContents(), true);