Sample code for 30+ languages & platforms
Unicode C

WhatsApp - Download/Retrieve Media

Demonstrates how to download media previously uploaded to the WhatsApp Business API client

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>
#include <C_CkBinDataW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttpW http;
    HCkBinDataW bdResponseBody;
    int respStatusCode;

    success = FALSE;

    //  This example assumes the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    http = CkHttpW_Create();

    //  Implements the following CURL command:

    //  curl -X GET \
    //    https://your-webapp-hostname:your-webapp-port/v1/media/4b5bf27b-8672-4d55-bc21-d096dc200d0f \
    //    -H 'Authorization: Bearer your-auth-token' \
    //    -o path/filename

    //  Use the following online tool to generate HTTP code from a CURL command
    //  Convert a cURL Command to HTTP Source Code

    //  Adds the "Authorization: Bearer your-auth-token" header.
    CkHttpW_putAuthToken(http,L"your-auth-token");

    bdResponseBody = CkBinDataW_Create();
    success = CkHttpW_QuickGetBd(http,L"https://your-webapp-hostname:your-webapp-port/v1/media/4b5bf27b-8672-4d55-bc21-d096dc200d0f",bdResponseBody);
    if (success == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkBinDataW_Dispose(bdResponseBody);
        return;
    }

    respStatusCode = CkHttpW_getLastStatus(http);
    wprintf(L"response status code = %d\n",respStatusCode);
    wprintf(L"response header = %s\n",CkHttpW_lastResponseHeader(http));

    if (respStatusCode != 200) {
        wprintf(L"Error response body:\n");
        wprintf(L"%s\n",CkBinDataW_getString(bdResponseBody,L"utf-8"));
        CkHttpW_Dispose(http);
        CkBinDataW_Dispose(bdResponseBody);
        return;
    }

    success = CkBinDataW_WriteFile(bdResponseBody,L"path/filename");


    CkHttpW_Dispose(http);
    CkBinDataW_Dispose(bdResponseBody);

    }