http post method issue

Hi,

I am working on a project. I want upload data on thingspeak server using gprs quictel m95 and arduino mega. i done it with http get method successful. now i want implement same with http post method. I have a arduino mega and quictel m95 gprs module. I got CME ERROR 100 after AT+QHTTPOST command. I am using serial1. Help needed.
Here is below my code:

  Serial1.println("AT");
  readStrings(300);                                //got "OK" response
  Serial1.println("AT+QIFGCNT=0");
  readStrings(300);                               //got "OK" response
  Serial1.print("AT+QICSGP = 1,\"");
  Serial1.print(apn);
  Serial1.println("\"");
  readStrings(300);                              //got "OK" response
  Serial1.println("AT+QIREGAPP?");
  readStrings(300);                             //got "OK" response and apn name 
  Serial1.println("AT+QHTTPURL=33,30");
  readStrings(1000);                          //got "CONNECT" response
  Serial1.println("https://api.thingspeak.com/update");
  readStrings(60000);                        //got "OK" response only, 
  Serial1.println("AT+QHTTPPOST=34,80,50");
  readStrings(1000);                         //got "+CME ERROR 100" response
  Serial1.println("api_key=XXXXXXXXXXXXXXXX&data1=251");                  
  readStrings(1000);                       //got "+CME ERROR 607" response
  Serial1.println("AT+QHTTPREAD=30");
  readStrings(1000);                      //got "+CME ERROR 3828" response

Thanks in advance!