Chilkat Online Tools

unicodeC / Plivo REST API / Update an incoming carrier

Back to Collection Items

#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    BOOL success;
    HCkJsonObjectW json;
    HCkHttpResponseW resp;

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

    http = CkHttpW_Create();

    CkHttpW_putBasicAuth(http,TRUE);
    CkHttpW_putLogin(http,L"{{auth_id}}");
    CkHttpW_putPassword(http,L"password");

    // Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    // The following JSON is sent in the request body.

    // {
    //   "name": "updated_name",
    //   "ip_set": "100.30.276.37"
    // }

    json = CkJsonObjectW_Create();
    CkJsonObjectW_UpdateString(json,L"name",L"updated_name");
    CkJsonObjectW_UpdateString(json,L"ip_set",L"100.30.276.37");

    resp = CkHttpW_PostJson3(http,L"https://api.plivo.com/v1/Account/<auth_id>/IncomingCarrier/{carrier_id}/",L"application/json",json);
    if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(json);
        return;
    }

    wprintf(L"%d\n",CkHttpResponseW_getStatusCode(resp));
    wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
    CkHttpResponseW_Dispose(resp);


    CkHttpW_Dispose(http);
    CkJsonObjectW_Dispose(json);

    }

Curl Command

curl -X POST
	-u '{{auth_id}}:password'
	-d '{
    "name": "updated_name",
    "ip_set": "100.30.276.37"
}'
https://api.plivo.com/v1/Account/<auth_id>/IncomingCarrier/{carrier_id}/

Postman Collection Item JSON

{
  "name": "Update an incoming carrier",
  "request": {
    "method": "POST",
    "header": [
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"name\": \"updated_name\",\n    \"ip_set\": \"100.30.276.37\"\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "https://api.plivo.com/v1/Account/{{auth_id}}/IncomingCarrier/{carrier_id}/",
      "protocol": "https",
      "host": [
        "api",
        "plivo",
        "com"
      ],
      "path": [
        "v1",
        "Account",
        "{{auth_id}}",
        "IncomingCarrier",
        "{carrier_id}",
        ""
      ]
    },
    "description": "This API lets you modify an existing incoming carrier set up on your account.\n\nBelow is the list of arguments that can be passed in this API request, more information can be found [here](https://www.plivo.com/docs/numbers/api/incoming-carrier#update-an-incoming-carrier)\n\n| Arguments   | Description | Required/Conditional/Optional     |\n| :---        |    :----:   |          ---: |\n| name      | The name of the carrier. It is just a representation and the name can be chosen at will.| Optional  |\n| ip_set      | Comma-separated list of IP addresses from which Plivo should receive incoming calls for the carrier. The complete set of ips will be replaced when the update api is used.| Optional  |"
  },
  "response": [
  ]
}