POST fcm.projects.messages.send
{{baseUrl}}/v1/:parent/messages:send
QUERY PARAMS

parent
BODY json

{
  "message": {
    "android": {
      "collapseKey": "",
      "data": {},
      "directBootOk": false,
      "fcmOptions": {
        "analyticsLabel": ""
      },
      "notification": {
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": {
          "color": {
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          },
          "lightOffDuration": "",
          "lightOnDuration": ""
        },
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      },
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    },
    "apns": {
      "fcmOptions": {
        "analyticsLabel": "",
        "image": ""
      },
      "headers": {},
      "payload": {}
    },
    "condition": "",
    "data": {},
    "fcmOptions": {
      "analyticsLabel": ""
    },
    "name": "",
    "notification": {
      "body": "",
      "image": "",
      "title": ""
    },
    "token": "",
    "topic": "",
    "webpush": {
      "data": {},
      "fcmOptions": {
        "analyticsLabel": "",
        "link": ""
      },
      "headers": {},
      "notification": {}
    }
  },
  "validateOnly": false
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/:parent/messages:send");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/:parent/messages:send" {:content-type :json
                                                                     :form-params {:message {:android {:collapseKey ""
                                                                                                       :data {}
                                                                                                       :directBootOk false
                                                                                                       :fcmOptions {:analyticsLabel ""}
                                                                                                       :notification {:body ""
                                                                                                                      :bodyLocArgs []
                                                                                                                      :bodyLocKey ""
                                                                                                                      :bypassProxyNotification false
                                                                                                                      :channelId ""
                                                                                                                      :clickAction ""
                                                                                                                      :color ""
                                                                                                                      :defaultLightSettings false
                                                                                                                      :defaultSound false
                                                                                                                      :defaultVibrateTimings false
                                                                                                                      :eventTime ""
                                                                                                                      :icon ""
                                                                                                                      :image ""
                                                                                                                      :lightSettings {:color {:alpha ""
                                                                                                                                              :blue ""
                                                                                                                                              :green ""
                                                                                                                                              :red ""}
                                                                                                                                      :lightOffDuration ""
                                                                                                                                      :lightOnDuration ""}
                                                                                                                      :localOnly false
                                                                                                                      :notificationCount 0
                                                                                                                      :notificationPriority ""
                                                                                                                      :sound ""
                                                                                                                      :sticky false
                                                                                                                      :tag ""
                                                                                                                      :ticker ""
                                                                                                                      :title ""
                                                                                                                      :titleLocArgs []
                                                                                                                      :titleLocKey ""
                                                                                                                      :vibrateTimings []
                                                                                                                      :visibility ""}
                                                                                                       :priority ""
                                                                                                       :restrictedPackageName ""
                                                                                                       :ttl ""}
                                                                                             :apns {:fcmOptions {:analyticsLabel ""
                                                                                                                 :image ""}
                                                                                                    :headers {}
                                                                                                    :payload {}}
                                                                                             :condition ""
                                                                                             :data {}
                                                                                             :fcmOptions {:analyticsLabel ""}
                                                                                             :name ""
                                                                                             :notification {:body ""
                                                                                                            :image ""
                                                                                                            :title ""}
                                                                                             :token ""
                                                                                             :topic ""
                                                                                             :webpush {:data {}
                                                                                                       :fcmOptions {:analyticsLabel ""
                                                                                                                    :link ""}
                                                                                                       :headers {}
                                                                                                       :notification {}}}
                                                                                   :validateOnly false}})
require "http/client"

url = "{{baseUrl}}/v1/:parent/messages:send"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}"

response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/v1/:parent/messages:send"),
    Content = new StringContent("{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/:parent/messages:send");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/:parent/messages:send"

	payload := strings.NewReader("{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/:parent/messages:send HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1756

{
  "message": {
    "android": {
      "collapseKey": "",
      "data": {},
      "directBootOk": false,
      "fcmOptions": {
        "analyticsLabel": ""
      },
      "notification": {
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": {
          "color": {
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          },
          "lightOffDuration": "",
          "lightOnDuration": ""
        },
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      },
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    },
    "apns": {
      "fcmOptions": {
        "analyticsLabel": "",
        "image": ""
      },
      "headers": {},
      "payload": {}
    },
    "condition": "",
    "data": {},
    "fcmOptions": {
      "analyticsLabel": ""
    },
    "name": "",
    "notification": {
      "body": "",
      "image": "",
      "title": ""
    },
    "token": "",
    "topic": "",
    "webpush": {
      "data": {},
      "fcmOptions": {
        "analyticsLabel": "",
        "link": ""
      },
      "headers": {},
      "notification": {}
    }
  },
  "validateOnly": false
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/:parent/messages:send")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/:parent/messages:send"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/:parent/messages:send")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/:parent/messages:send")
  .header("content-type", "application/json")
  .body("{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}")
  .asString();
const data = JSON.stringify({
  message: {
    android: {
      collapseKey: '',
      data: {},
      directBootOk: false,
      fcmOptions: {
        analyticsLabel: ''
      },
      notification: {
        body: '',
        bodyLocArgs: [],
        bodyLocKey: '',
        bypassProxyNotification: false,
        channelId: '',
        clickAction: '',
        color: '',
        defaultLightSettings: false,
        defaultSound: false,
        defaultVibrateTimings: false,
        eventTime: '',
        icon: '',
        image: '',
        lightSettings: {
          color: {
            alpha: '',
            blue: '',
            green: '',
            red: ''
          },
          lightOffDuration: '',
          lightOnDuration: ''
        },
        localOnly: false,
        notificationCount: 0,
        notificationPriority: '',
        sound: '',
        sticky: false,
        tag: '',
        ticker: '',
        title: '',
        titleLocArgs: [],
        titleLocKey: '',
        vibrateTimings: [],
        visibility: ''
      },
      priority: '',
      restrictedPackageName: '',
      ttl: ''
    },
    apns: {
      fcmOptions: {
        analyticsLabel: '',
        image: ''
      },
      headers: {},
      payload: {}
    },
    condition: '',
    data: {},
    fcmOptions: {
      analyticsLabel: ''
    },
    name: '',
    notification: {
      body: '',
      image: '',
      title: ''
    },
    token: '',
    topic: '',
    webpush: {
      data: {},
      fcmOptions: {
        analyticsLabel: '',
        link: ''
      },
      headers: {},
      notification: {}
    }
  },
  validateOnly: false
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/:parent/messages:send');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/:parent/messages:send',
  headers: {'content-type': 'application/json'},
  data: {
    message: {
      android: {
        collapseKey: '',
        data: {},
        directBootOk: false,
        fcmOptions: {analyticsLabel: ''},
        notification: {
          body: '',
          bodyLocArgs: [],
          bodyLocKey: '',
          bypassProxyNotification: false,
          channelId: '',
          clickAction: '',
          color: '',
          defaultLightSettings: false,
          defaultSound: false,
          defaultVibrateTimings: false,
          eventTime: '',
          icon: '',
          image: '',
          lightSettings: {
            color: {alpha: '', blue: '', green: '', red: ''},
            lightOffDuration: '',
            lightOnDuration: ''
          },
          localOnly: false,
          notificationCount: 0,
          notificationPriority: '',
          sound: '',
          sticky: false,
          tag: '',
          ticker: '',
          title: '',
          titleLocArgs: [],
          titleLocKey: '',
          vibrateTimings: [],
          visibility: ''
        },
        priority: '',
        restrictedPackageName: '',
        ttl: ''
      },
      apns: {fcmOptions: {analyticsLabel: '', image: ''}, headers: {}, payload: {}},
      condition: '',
      data: {},
      fcmOptions: {analyticsLabel: ''},
      name: '',
      notification: {body: '', image: '', title: ''},
      token: '',
      topic: '',
      webpush: {
        data: {},
        fcmOptions: {analyticsLabel: '', link: ''},
        headers: {},
        notification: {}
      }
    },
    validateOnly: false
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/:parent/messages:send';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"message":{"android":{"collapseKey":"","data":{},"directBootOk":false,"fcmOptions":{"analyticsLabel":""},"notification":{"body":"","bodyLocArgs":[],"bodyLocKey":"","bypassProxyNotification":false,"channelId":"","clickAction":"","color":"","defaultLightSettings":false,"defaultSound":false,"defaultVibrateTimings":false,"eventTime":"","icon":"","image":"","lightSettings":{"color":{"alpha":"","blue":"","green":"","red":""},"lightOffDuration":"","lightOnDuration":""},"localOnly":false,"notificationCount":0,"notificationPriority":"","sound":"","sticky":false,"tag":"","ticker":"","title":"","titleLocArgs":[],"titleLocKey":"","vibrateTimings":[],"visibility":""},"priority":"","restrictedPackageName":"","ttl":""},"apns":{"fcmOptions":{"analyticsLabel":"","image":""},"headers":{},"payload":{}},"condition":"","data":{},"fcmOptions":{"analyticsLabel":""},"name":"","notification":{"body":"","image":"","title":""},"token":"","topic":"","webpush":{"data":{},"fcmOptions":{"analyticsLabel":"","link":""},"headers":{},"notification":{}}},"validateOnly":false}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/:parent/messages:send',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "message": {\n    "android": {\n      "collapseKey": "",\n      "data": {},\n      "directBootOk": false,\n      "fcmOptions": {\n        "analyticsLabel": ""\n      },\n      "notification": {\n        "body": "",\n        "bodyLocArgs": [],\n        "bodyLocKey": "",\n        "bypassProxyNotification": false,\n        "channelId": "",\n        "clickAction": "",\n        "color": "",\n        "defaultLightSettings": false,\n        "defaultSound": false,\n        "defaultVibrateTimings": false,\n        "eventTime": "",\n        "icon": "",\n        "image": "",\n        "lightSettings": {\n          "color": {\n            "alpha": "",\n            "blue": "",\n            "green": "",\n            "red": ""\n          },\n          "lightOffDuration": "",\n          "lightOnDuration": ""\n        },\n        "localOnly": false,\n        "notificationCount": 0,\n        "notificationPriority": "",\n        "sound": "",\n        "sticky": false,\n        "tag": "",\n        "ticker": "",\n        "title": "",\n        "titleLocArgs": [],\n        "titleLocKey": "",\n        "vibrateTimings": [],\n        "visibility": ""\n      },\n      "priority": "",\n      "restrictedPackageName": "",\n      "ttl": ""\n    },\n    "apns": {\n      "fcmOptions": {\n        "analyticsLabel": "",\n        "image": ""\n      },\n      "headers": {},\n      "payload": {}\n    },\n    "condition": "",\n    "data": {},\n    "fcmOptions": {\n      "analyticsLabel": ""\n    },\n    "name": "",\n    "notification": {\n      "body": "",\n      "image": "",\n      "title": ""\n    },\n    "token": "",\n    "topic": "",\n    "webpush": {\n      "data": {},\n      "fcmOptions": {\n        "analyticsLabel": "",\n        "link": ""\n      },\n      "headers": {},\n      "notification": {}\n    }\n  },\n  "validateOnly": false\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/:parent/messages:send")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/:parent/messages:send',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  message: {
    android: {
      collapseKey: '',
      data: {},
      directBootOk: false,
      fcmOptions: {analyticsLabel: ''},
      notification: {
        body: '',
        bodyLocArgs: [],
        bodyLocKey: '',
        bypassProxyNotification: false,
        channelId: '',
        clickAction: '',
        color: '',
        defaultLightSettings: false,
        defaultSound: false,
        defaultVibrateTimings: false,
        eventTime: '',
        icon: '',
        image: '',
        lightSettings: {
          color: {alpha: '', blue: '', green: '', red: ''},
          lightOffDuration: '',
          lightOnDuration: ''
        },
        localOnly: false,
        notificationCount: 0,
        notificationPriority: '',
        sound: '',
        sticky: false,
        tag: '',
        ticker: '',
        title: '',
        titleLocArgs: [],
        titleLocKey: '',
        vibrateTimings: [],
        visibility: ''
      },
      priority: '',
      restrictedPackageName: '',
      ttl: ''
    },
    apns: {fcmOptions: {analyticsLabel: '', image: ''}, headers: {}, payload: {}},
    condition: '',
    data: {},
    fcmOptions: {analyticsLabel: ''},
    name: '',
    notification: {body: '', image: '', title: ''},
    token: '',
    topic: '',
    webpush: {
      data: {},
      fcmOptions: {analyticsLabel: '', link: ''},
      headers: {},
      notification: {}
    }
  },
  validateOnly: false
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/:parent/messages:send',
  headers: {'content-type': 'application/json'},
  body: {
    message: {
      android: {
        collapseKey: '',
        data: {},
        directBootOk: false,
        fcmOptions: {analyticsLabel: ''},
        notification: {
          body: '',
          bodyLocArgs: [],
          bodyLocKey: '',
          bypassProxyNotification: false,
          channelId: '',
          clickAction: '',
          color: '',
          defaultLightSettings: false,
          defaultSound: false,
          defaultVibrateTimings: false,
          eventTime: '',
          icon: '',
          image: '',
          lightSettings: {
            color: {alpha: '', blue: '', green: '', red: ''},
            lightOffDuration: '',
            lightOnDuration: ''
          },
          localOnly: false,
          notificationCount: 0,
          notificationPriority: '',
          sound: '',
          sticky: false,
          tag: '',
          ticker: '',
          title: '',
          titleLocArgs: [],
          titleLocKey: '',
          vibrateTimings: [],
          visibility: ''
        },
        priority: '',
        restrictedPackageName: '',
        ttl: ''
      },
      apns: {fcmOptions: {analyticsLabel: '', image: ''}, headers: {}, payload: {}},
      condition: '',
      data: {},
      fcmOptions: {analyticsLabel: ''},
      name: '',
      notification: {body: '', image: '', title: ''},
      token: '',
      topic: '',
      webpush: {
        data: {},
        fcmOptions: {analyticsLabel: '', link: ''},
        headers: {},
        notification: {}
      }
    },
    validateOnly: false
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/v1/:parent/messages:send');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  message: {
    android: {
      collapseKey: '',
      data: {},
      directBootOk: false,
      fcmOptions: {
        analyticsLabel: ''
      },
      notification: {
        body: '',
        bodyLocArgs: [],
        bodyLocKey: '',
        bypassProxyNotification: false,
        channelId: '',
        clickAction: '',
        color: '',
        defaultLightSettings: false,
        defaultSound: false,
        defaultVibrateTimings: false,
        eventTime: '',
        icon: '',
        image: '',
        lightSettings: {
          color: {
            alpha: '',
            blue: '',
            green: '',
            red: ''
          },
          lightOffDuration: '',
          lightOnDuration: ''
        },
        localOnly: false,
        notificationCount: 0,
        notificationPriority: '',
        sound: '',
        sticky: false,
        tag: '',
        ticker: '',
        title: '',
        titleLocArgs: [],
        titleLocKey: '',
        vibrateTimings: [],
        visibility: ''
      },
      priority: '',
      restrictedPackageName: '',
      ttl: ''
    },
    apns: {
      fcmOptions: {
        analyticsLabel: '',
        image: ''
      },
      headers: {},
      payload: {}
    },
    condition: '',
    data: {},
    fcmOptions: {
      analyticsLabel: ''
    },
    name: '',
    notification: {
      body: '',
      image: '',
      title: ''
    },
    token: '',
    topic: '',
    webpush: {
      data: {},
      fcmOptions: {
        analyticsLabel: '',
        link: ''
      },
      headers: {},
      notification: {}
    }
  },
  validateOnly: false
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/:parent/messages:send',
  headers: {'content-type': 'application/json'},
  data: {
    message: {
      android: {
        collapseKey: '',
        data: {},
        directBootOk: false,
        fcmOptions: {analyticsLabel: ''},
        notification: {
          body: '',
          bodyLocArgs: [],
          bodyLocKey: '',
          bypassProxyNotification: false,
          channelId: '',
          clickAction: '',
          color: '',
          defaultLightSettings: false,
          defaultSound: false,
          defaultVibrateTimings: false,
          eventTime: '',
          icon: '',
          image: '',
          lightSettings: {
            color: {alpha: '', blue: '', green: '', red: ''},
            lightOffDuration: '',
            lightOnDuration: ''
          },
          localOnly: false,
          notificationCount: 0,
          notificationPriority: '',
          sound: '',
          sticky: false,
          tag: '',
          ticker: '',
          title: '',
          titleLocArgs: [],
          titleLocKey: '',
          vibrateTimings: [],
          visibility: ''
        },
        priority: '',
        restrictedPackageName: '',
        ttl: ''
      },
      apns: {fcmOptions: {analyticsLabel: '', image: ''}, headers: {}, payload: {}},
      condition: '',
      data: {},
      fcmOptions: {analyticsLabel: ''},
      name: '',
      notification: {body: '', image: '', title: ''},
      token: '',
      topic: '',
      webpush: {
        data: {},
        fcmOptions: {analyticsLabel: '', link: ''},
        headers: {},
        notification: {}
      }
    },
    validateOnly: false
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/:parent/messages:send';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"message":{"android":{"collapseKey":"","data":{},"directBootOk":false,"fcmOptions":{"analyticsLabel":""},"notification":{"body":"","bodyLocArgs":[],"bodyLocKey":"","bypassProxyNotification":false,"channelId":"","clickAction":"","color":"","defaultLightSettings":false,"defaultSound":false,"defaultVibrateTimings":false,"eventTime":"","icon":"","image":"","lightSettings":{"color":{"alpha":"","blue":"","green":"","red":""},"lightOffDuration":"","lightOnDuration":""},"localOnly":false,"notificationCount":0,"notificationPriority":"","sound":"","sticky":false,"tag":"","ticker":"","title":"","titleLocArgs":[],"titleLocKey":"","vibrateTimings":[],"visibility":""},"priority":"","restrictedPackageName":"","ttl":""},"apns":{"fcmOptions":{"analyticsLabel":"","image":""},"headers":{},"payload":{}},"condition":"","data":{},"fcmOptions":{"analyticsLabel":""},"name":"","notification":{"body":"","image":"","title":""},"token":"","topic":"","webpush":{"data":{},"fcmOptions":{"analyticsLabel":"","link":""},"headers":{},"notification":{}}},"validateOnly":false}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"message": @{ @"android": @{ @"collapseKey": @"", @"data": @{  }, @"directBootOk": @NO, @"fcmOptions": @{ @"analyticsLabel": @"" }, @"notification": @{ @"body": @"", @"bodyLocArgs": @[  ], @"bodyLocKey": @"", @"bypassProxyNotification": @NO, @"channelId": @"", @"clickAction": @"", @"color": @"", @"defaultLightSettings": @NO, @"defaultSound": @NO, @"defaultVibrateTimings": @NO, @"eventTime": @"", @"icon": @"", @"image": @"", @"lightSettings": @{ @"color": @{ @"alpha": @"", @"blue": @"", @"green": @"", @"red": @"" }, @"lightOffDuration": @"", @"lightOnDuration": @"" }, @"localOnly": @NO, @"notificationCount": @0, @"notificationPriority": @"", @"sound": @"", @"sticky": @NO, @"tag": @"", @"ticker": @"", @"title": @"", @"titleLocArgs": @[  ], @"titleLocKey": @"", @"vibrateTimings": @[  ], @"visibility": @"" }, @"priority": @"", @"restrictedPackageName": @"", @"ttl": @"" }, @"apns": @{ @"fcmOptions": @{ @"analyticsLabel": @"", @"image": @"" }, @"headers": @{  }, @"payload": @{  } }, @"condition": @"", @"data": @{  }, @"fcmOptions": @{ @"analyticsLabel": @"" }, @"name": @"", @"notification": @{ @"body": @"", @"image": @"", @"title": @"" }, @"token": @"", @"topic": @"", @"webpush": @{ @"data": @{  }, @"fcmOptions": @{ @"analyticsLabel": @"", @"link": @"" }, @"headers": @{  }, @"notification": @{  } } },
                              @"validateOnly": @NO };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/:parent/messages:send"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/:parent/messages:send" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/:parent/messages:send",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'message' => [
        'android' => [
                'collapseKey' => '',
                'data' => [
                                
                ],
                'directBootOk' => null,
                'fcmOptions' => [
                                'analyticsLabel' => ''
                ],
                'notification' => [
                                'body' => '',
                                'bodyLocArgs' => [
                                                                
                                ],
                                'bodyLocKey' => '',
                                'bypassProxyNotification' => null,
                                'channelId' => '',
                                'clickAction' => '',
                                'color' => '',
                                'defaultLightSettings' => null,
                                'defaultSound' => null,
                                'defaultVibrateTimings' => null,
                                'eventTime' => '',
                                'icon' => '',
                                'image' => '',
                                'lightSettings' => [
                                                                'color' => [
                                                                                                                                'alpha' => '',
                                                                                                                                'blue' => '',
                                                                                                                                'green' => '',
                                                                                                                                'red' => ''
                                                                ],
                                                                'lightOffDuration' => '',
                                                                'lightOnDuration' => ''
                                ],
                                'localOnly' => null,
                                'notificationCount' => 0,
                                'notificationPriority' => '',
                                'sound' => '',
                                'sticky' => null,
                                'tag' => '',
                                'ticker' => '',
                                'title' => '',
                                'titleLocArgs' => [
                                                                
                                ],
                                'titleLocKey' => '',
                                'vibrateTimings' => [
                                                                
                                ],
                                'visibility' => ''
                ],
                'priority' => '',
                'restrictedPackageName' => '',
                'ttl' => ''
        ],
        'apns' => [
                'fcmOptions' => [
                                'analyticsLabel' => '',
                                'image' => ''
                ],
                'headers' => [
                                
                ],
                'payload' => [
                                
                ]
        ],
        'condition' => '',
        'data' => [
                
        ],
        'fcmOptions' => [
                'analyticsLabel' => ''
        ],
        'name' => '',
        'notification' => [
                'body' => '',
                'image' => '',
                'title' => ''
        ],
        'token' => '',
        'topic' => '',
        'webpush' => [
                'data' => [
                                
                ],
                'fcmOptions' => [
                                'analyticsLabel' => '',
                                'link' => ''
                ],
                'headers' => [
                                
                ],
                'notification' => [
                                
                ]
        ]
    ],
    'validateOnly' => null
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/:parent/messages:send', [
  'body' => '{
  "message": {
    "android": {
      "collapseKey": "",
      "data": {},
      "directBootOk": false,
      "fcmOptions": {
        "analyticsLabel": ""
      },
      "notification": {
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": {
          "color": {
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          },
          "lightOffDuration": "",
          "lightOnDuration": ""
        },
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      },
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    },
    "apns": {
      "fcmOptions": {
        "analyticsLabel": "",
        "image": ""
      },
      "headers": {},
      "payload": {}
    },
    "condition": "",
    "data": {},
    "fcmOptions": {
      "analyticsLabel": ""
    },
    "name": "",
    "notification": {
      "body": "",
      "image": "",
      "title": ""
    },
    "token": "",
    "topic": "",
    "webpush": {
      "data": {},
      "fcmOptions": {
        "analyticsLabel": "",
        "link": ""
      },
      "headers": {},
      "notification": {}
    }
  },
  "validateOnly": false
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/:parent/messages:send');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'message' => [
    'android' => [
        'collapseKey' => '',
        'data' => [
                
        ],
        'directBootOk' => null,
        'fcmOptions' => [
                'analyticsLabel' => ''
        ],
        'notification' => [
                'body' => '',
                'bodyLocArgs' => [
                                
                ],
                'bodyLocKey' => '',
                'bypassProxyNotification' => null,
                'channelId' => '',
                'clickAction' => '',
                'color' => '',
                'defaultLightSettings' => null,
                'defaultSound' => null,
                'defaultVibrateTimings' => null,
                'eventTime' => '',
                'icon' => '',
                'image' => '',
                'lightSettings' => [
                                'color' => [
                                                                'alpha' => '',
                                                                'blue' => '',
                                                                'green' => '',
                                                                'red' => ''
                                ],
                                'lightOffDuration' => '',
                                'lightOnDuration' => ''
                ],
                'localOnly' => null,
                'notificationCount' => 0,
                'notificationPriority' => '',
                'sound' => '',
                'sticky' => null,
                'tag' => '',
                'ticker' => '',
                'title' => '',
                'titleLocArgs' => [
                                
                ],
                'titleLocKey' => '',
                'vibrateTimings' => [
                                
                ],
                'visibility' => ''
        ],
        'priority' => '',
        'restrictedPackageName' => '',
        'ttl' => ''
    ],
    'apns' => [
        'fcmOptions' => [
                'analyticsLabel' => '',
                'image' => ''
        ],
        'headers' => [
                
        ],
        'payload' => [
                
        ]
    ],
    'condition' => '',
    'data' => [
        
    ],
    'fcmOptions' => [
        'analyticsLabel' => ''
    ],
    'name' => '',
    'notification' => [
        'body' => '',
        'image' => '',
        'title' => ''
    ],
    'token' => '',
    'topic' => '',
    'webpush' => [
        'data' => [
                
        ],
        'fcmOptions' => [
                'analyticsLabel' => '',
                'link' => ''
        ],
        'headers' => [
                
        ],
        'notification' => [
                
        ]
    ]
  ],
  'validateOnly' => null
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'message' => [
    'android' => [
        'collapseKey' => '',
        'data' => [
                
        ],
        'directBootOk' => null,
        'fcmOptions' => [
                'analyticsLabel' => ''
        ],
        'notification' => [
                'body' => '',
                'bodyLocArgs' => [
                                
                ],
                'bodyLocKey' => '',
                'bypassProxyNotification' => null,
                'channelId' => '',
                'clickAction' => '',
                'color' => '',
                'defaultLightSettings' => null,
                'defaultSound' => null,
                'defaultVibrateTimings' => null,
                'eventTime' => '',
                'icon' => '',
                'image' => '',
                'lightSettings' => [
                                'color' => [
                                                                'alpha' => '',
                                                                'blue' => '',
                                                                'green' => '',
                                                                'red' => ''
                                ],
                                'lightOffDuration' => '',
                                'lightOnDuration' => ''
                ],
                'localOnly' => null,
                'notificationCount' => 0,
                'notificationPriority' => '',
                'sound' => '',
                'sticky' => null,
                'tag' => '',
                'ticker' => '',
                'title' => '',
                'titleLocArgs' => [
                                
                ],
                'titleLocKey' => '',
                'vibrateTimings' => [
                                
                ],
                'visibility' => ''
        ],
        'priority' => '',
        'restrictedPackageName' => '',
        'ttl' => ''
    ],
    'apns' => [
        'fcmOptions' => [
                'analyticsLabel' => '',
                'image' => ''
        ],
        'headers' => [
                
        ],
        'payload' => [
                
        ]
    ],
    'condition' => '',
    'data' => [
        
    ],
    'fcmOptions' => [
        'analyticsLabel' => ''
    ],
    'name' => '',
    'notification' => [
        'body' => '',
        'image' => '',
        'title' => ''
    ],
    'token' => '',
    'topic' => '',
    'webpush' => [
        'data' => [
                
        ],
        'fcmOptions' => [
                'analyticsLabel' => '',
                'link' => ''
        ],
        'headers' => [
                
        ],
        'notification' => [
                
        ]
    ]
  ],
  'validateOnly' => null
]));
$request->setRequestUrl('{{baseUrl}}/v1/:parent/messages:send');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/:parent/messages:send' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "message": {
    "android": {
      "collapseKey": "",
      "data": {},
      "directBootOk": false,
      "fcmOptions": {
        "analyticsLabel": ""
      },
      "notification": {
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": {
          "color": {
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          },
          "lightOffDuration": "",
          "lightOnDuration": ""
        },
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      },
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    },
    "apns": {
      "fcmOptions": {
        "analyticsLabel": "",
        "image": ""
      },
      "headers": {},
      "payload": {}
    },
    "condition": "",
    "data": {},
    "fcmOptions": {
      "analyticsLabel": ""
    },
    "name": "",
    "notification": {
      "body": "",
      "image": "",
      "title": ""
    },
    "token": "",
    "topic": "",
    "webpush": {
      "data": {},
      "fcmOptions": {
        "analyticsLabel": "",
        "link": ""
      },
      "headers": {},
      "notification": {}
    }
  },
  "validateOnly": false
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/:parent/messages:send' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "message": {
    "android": {
      "collapseKey": "",
      "data": {},
      "directBootOk": false,
      "fcmOptions": {
        "analyticsLabel": ""
      },
      "notification": {
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": {
          "color": {
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          },
          "lightOffDuration": "",
          "lightOnDuration": ""
        },
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      },
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    },
    "apns": {
      "fcmOptions": {
        "analyticsLabel": "",
        "image": ""
      },
      "headers": {},
      "payload": {}
    },
    "condition": "",
    "data": {},
    "fcmOptions": {
      "analyticsLabel": ""
    },
    "name": "",
    "notification": {
      "body": "",
      "image": "",
      "title": ""
    },
    "token": "",
    "topic": "",
    "webpush": {
      "data": {},
      "fcmOptions": {
        "analyticsLabel": "",
        "link": ""
      },
      "headers": {},
      "notification": {}
    }
  },
  "validateOnly": false
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/:parent/messages:send", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/:parent/messages:send"

payload = {
    "message": {
        "android": {
            "collapseKey": "",
            "data": {},
            "directBootOk": False,
            "fcmOptions": { "analyticsLabel": "" },
            "notification": {
                "body": "",
                "bodyLocArgs": [],
                "bodyLocKey": "",
                "bypassProxyNotification": False,
                "channelId": "",
                "clickAction": "",
                "color": "",
                "defaultLightSettings": False,
                "defaultSound": False,
                "defaultVibrateTimings": False,
                "eventTime": "",
                "icon": "",
                "image": "",
                "lightSettings": {
                    "color": {
                        "alpha": "",
                        "blue": "",
                        "green": "",
                        "red": ""
                    },
                    "lightOffDuration": "",
                    "lightOnDuration": ""
                },
                "localOnly": False,
                "notificationCount": 0,
                "notificationPriority": "",
                "sound": "",
                "sticky": False,
                "tag": "",
                "ticker": "",
                "title": "",
                "titleLocArgs": [],
                "titleLocKey": "",
                "vibrateTimings": [],
                "visibility": ""
            },
            "priority": "",
            "restrictedPackageName": "",
            "ttl": ""
        },
        "apns": {
            "fcmOptions": {
                "analyticsLabel": "",
                "image": ""
            },
            "headers": {},
            "payload": {}
        },
        "condition": "",
        "data": {},
        "fcmOptions": { "analyticsLabel": "" },
        "name": "",
        "notification": {
            "body": "",
            "image": "",
            "title": ""
        },
        "token": "",
        "topic": "",
        "webpush": {
            "data": {},
            "fcmOptions": {
                "analyticsLabel": "",
                "link": ""
            },
            "headers": {},
            "notification": {}
        }
    },
    "validateOnly": False
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/:parent/messages:send"

payload <- "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/:parent/messages:send")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.post('/baseUrl/v1/:parent/messages:send') do |req|
  req.body = "{\n  \"message\": {\n    \"android\": {\n      \"collapseKey\": \"\",\n      \"data\": {},\n      \"directBootOk\": false,\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\"\n      },\n      \"notification\": {\n        \"body\": \"\",\n        \"bodyLocArgs\": [],\n        \"bodyLocKey\": \"\",\n        \"bypassProxyNotification\": false,\n        \"channelId\": \"\",\n        \"clickAction\": \"\",\n        \"color\": \"\",\n        \"defaultLightSettings\": false,\n        \"defaultSound\": false,\n        \"defaultVibrateTimings\": false,\n        \"eventTime\": \"\",\n        \"icon\": \"\",\n        \"image\": \"\",\n        \"lightSettings\": {\n          \"color\": {\n            \"alpha\": \"\",\n            \"blue\": \"\",\n            \"green\": \"\",\n            \"red\": \"\"\n          },\n          \"lightOffDuration\": \"\",\n          \"lightOnDuration\": \"\"\n        },\n        \"localOnly\": false,\n        \"notificationCount\": 0,\n        \"notificationPriority\": \"\",\n        \"sound\": \"\",\n        \"sticky\": false,\n        \"tag\": \"\",\n        \"ticker\": \"\",\n        \"title\": \"\",\n        \"titleLocArgs\": [],\n        \"titleLocKey\": \"\",\n        \"vibrateTimings\": [],\n        \"visibility\": \"\"\n      },\n      \"priority\": \"\",\n      \"restrictedPackageName\": \"\",\n      \"ttl\": \"\"\n    },\n    \"apns\": {\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"image\": \"\"\n      },\n      \"headers\": {},\n      \"payload\": {}\n    },\n    \"condition\": \"\",\n    \"data\": {},\n    \"fcmOptions\": {\n      \"analyticsLabel\": \"\"\n    },\n    \"name\": \"\",\n    \"notification\": {\n      \"body\": \"\",\n      \"image\": \"\",\n      \"title\": \"\"\n    },\n    \"token\": \"\",\n    \"topic\": \"\",\n    \"webpush\": {\n      \"data\": {},\n      \"fcmOptions\": {\n        \"analyticsLabel\": \"\",\n        \"link\": \"\"\n      },\n      \"headers\": {},\n      \"notification\": {}\n    }\n  },\n  \"validateOnly\": false\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/:parent/messages:send";

    let payload = json!({
        "message": json!({
            "android": json!({
                "collapseKey": "",
                "data": json!({}),
                "directBootOk": false,
                "fcmOptions": json!({"analyticsLabel": ""}),
                "notification": json!({
                    "body": "",
                    "bodyLocArgs": (),
                    "bodyLocKey": "",
                    "bypassProxyNotification": false,
                    "channelId": "",
                    "clickAction": "",
                    "color": "",
                    "defaultLightSettings": false,
                    "defaultSound": false,
                    "defaultVibrateTimings": false,
                    "eventTime": "",
                    "icon": "",
                    "image": "",
                    "lightSettings": json!({
                        "color": json!({
                            "alpha": "",
                            "blue": "",
                            "green": "",
                            "red": ""
                        }),
                        "lightOffDuration": "",
                        "lightOnDuration": ""
                    }),
                    "localOnly": false,
                    "notificationCount": 0,
                    "notificationPriority": "",
                    "sound": "",
                    "sticky": false,
                    "tag": "",
                    "ticker": "",
                    "title": "",
                    "titleLocArgs": (),
                    "titleLocKey": "",
                    "vibrateTimings": (),
                    "visibility": ""
                }),
                "priority": "",
                "restrictedPackageName": "",
                "ttl": ""
            }),
            "apns": json!({
                "fcmOptions": json!({
                    "analyticsLabel": "",
                    "image": ""
                }),
                "headers": json!({}),
                "payload": json!({})
            }),
            "condition": "",
            "data": json!({}),
            "fcmOptions": json!({"analyticsLabel": ""}),
            "name": "",
            "notification": json!({
                "body": "",
                "image": "",
                "title": ""
            }),
            "token": "",
            "topic": "",
            "webpush": json!({
                "data": json!({}),
                "fcmOptions": json!({
                    "analyticsLabel": "",
                    "link": ""
                }),
                "headers": json!({}),
                "notification": json!({})
            })
        }),
        "validateOnly": false
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/:parent/messages:send \
  --header 'content-type: application/json' \
  --data '{
  "message": {
    "android": {
      "collapseKey": "",
      "data": {},
      "directBootOk": false,
      "fcmOptions": {
        "analyticsLabel": ""
      },
      "notification": {
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": {
          "color": {
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          },
          "lightOffDuration": "",
          "lightOnDuration": ""
        },
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      },
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    },
    "apns": {
      "fcmOptions": {
        "analyticsLabel": "",
        "image": ""
      },
      "headers": {},
      "payload": {}
    },
    "condition": "",
    "data": {},
    "fcmOptions": {
      "analyticsLabel": ""
    },
    "name": "",
    "notification": {
      "body": "",
      "image": "",
      "title": ""
    },
    "token": "",
    "topic": "",
    "webpush": {
      "data": {},
      "fcmOptions": {
        "analyticsLabel": "",
        "link": ""
      },
      "headers": {},
      "notification": {}
    }
  },
  "validateOnly": false
}'
echo '{
  "message": {
    "android": {
      "collapseKey": "",
      "data": {},
      "directBootOk": false,
      "fcmOptions": {
        "analyticsLabel": ""
      },
      "notification": {
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": {
          "color": {
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          },
          "lightOffDuration": "",
          "lightOnDuration": ""
        },
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      },
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    },
    "apns": {
      "fcmOptions": {
        "analyticsLabel": "",
        "image": ""
      },
      "headers": {},
      "payload": {}
    },
    "condition": "",
    "data": {},
    "fcmOptions": {
      "analyticsLabel": ""
    },
    "name": "",
    "notification": {
      "body": "",
      "image": "",
      "title": ""
    },
    "token": "",
    "topic": "",
    "webpush": {
      "data": {},
      "fcmOptions": {
        "analyticsLabel": "",
        "link": ""
      },
      "headers": {},
      "notification": {}
    }
  },
  "validateOnly": false
}' |  \
  http POST {{baseUrl}}/v1/:parent/messages:send \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "message": {\n    "android": {\n      "collapseKey": "",\n      "data": {},\n      "directBootOk": false,\n      "fcmOptions": {\n        "analyticsLabel": ""\n      },\n      "notification": {\n        "body": "",\n        "bodyLocArgs": [],\n        "bodyLocKey": "",\n        "bypassProxyNotification": false,\n        "channelId": "",\n        "clickAction": "",\n        "color": "",\n        "defaultLightSettings": false,\n        "defaultSound": false,\n        "defaultVibrateTimings": false,\n        "eventTime": "",\n        "icon": "",\n        "image": "",\n        "lightSettings": {\n          "color": {\n            "alpha": "",\n            "blue": "",\n            "green": "",\n            "red": ""\n          },\n          "lightOffDuration": "",\n          "lightOnDuration": ""\n        },\n        "localOnly": false,\n        "notificationCount": 0,\n        "notificationPriority": "",\n        "sound": "",\n        "sticky": false,\n        "tag": "",\n        "ticker": "",\n        "title": "",\n        "titleLocArgs": [],\n        "titleLocKey": "",\n        "vibrateTimings": [],\n        "visibility": ""\n      },\n      "priority": "",\n      "restrictedPackageName": "",\n      "ttl": ""\n    },\n    "apns": {\n      "fcmOptions": {\n        "analyticsLabel": "",\n        "image": ""\n      },\n      "headers": {},\n      "payload": {}\n    },\n    "condition": "",\n    "data": {},\n    "fcmOptions": {\n      "analyticsLabel": ""\n    },\n    "name": "",\n    "notification": {\n      "body": "",\n      "image": "",\n      "title": ""\n    },\n    "token": "",\n    "topic": "",\n    "webpush": {\n      "data": {},\n      "fcmOptions": {\n        "analyticsLabel": "",\n        "link": ""\n      },\n      "headers": {},\n      "notification": {}\n    }\n  },\n  "validateOnly": false\n}' \
  --output-document \
  - {{baseUrl}}/v1/:parent/messages:send
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "message": [
    "android": [
      "collapseKey": "",
      "data": [],
      "directBootOk": false,
      "fcmOptions": ["analyticsLabel": ""],
      "notification": [
        "body": "",
        "bodyLocArgs": [],
        "bodyLocKey": "",
        "bypassProxyNotification": false,
        "channelId": "",
        "clickAction": "",
        "color": "",
        "defaultLightSettings": false,
        "defaultSound": false,
        "defaultVibrateTimings": false,
        "eventTime": "",
        "icon": "",
        "image": "",
        "lightSettings": [
          "color": [
            "alpha": "",
            "blue": "",
            "green": "",
            "red": ""
          ],
          "lightOffDuration": "",
          "lightOnDuration": ""
        ],
        "localOnly": false,
        "notificationCount": 0,
        "notificationPriority": "",
        "sound": "",
        "sticky": false,
        "tag": "",
        "ticker": "",
        "title": "",
        "titleLocArgs": [],
        "titleLocKey": "",
        "vibrateTimings": [],
        "visibility": ""
      ],
      "priority": "",
      "restrictedPackageName": "",
      "ttl": ""
    ],
    "apns": [
      "fcmOptions": [
        "analyticsLabel": "",
        "image": ""
      ],
      "headers": [],
      "payload": []
    ],
    "condition": "",
    "data": [],
    "fcmOptions": ["analyticsLabel": ""],
    "name": "",
    "notification": [
      "body": "",
      "image": "",
      "title": ""
    ],
    "token": "",
    "topic": "",
    "webpush": [
      "data": [],
      "fcmOptions": [
        "analyticsLabel": "",
        "link": ""
      ],
      "headers": [],
      "notification": []
    ]
  ],
  "validateOnly": false
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/:parent/messages:send")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()