Jump to content

REST API create message problem


Go to solution Solved by Stuart Silvester,

Recommended Posts

Posted

Hi,

I am currently trying to create a message using the 

https://invisioncommunity.com/developers/rest-api?endpoint=core/messages/POSTindex

api. The "to" parameter is stated to be of type "array". I only need to pass one recipient there, but regardles of how I format the paramater (when testing the api in Postman), I always get

    "errorCode": "1C374/3",
    "errorMessage": "INVALID_RECIPIENT"

back. 

I tried to give the user id just as number 2, or as json formated array [2], or a string in json formated array ["2"]. Nothing seems to work.

Am I doing something obvious wrong or is there a problem with this api parameter? The documentation say, that "1C374/3" means that the paramater haven't been given at all. 

 

Creating forum topic, posts, download comments a.s.o. works fine via the api, I just struggle with sending messages.

 

Regards, Tom.

Posted

This is what Postman creates as CURL command line

curl --location 'https://xxx/api/core/messages/?key=xxx' \
--header 'Cookie: PHPSESSID=0s52vp09q9qdffb2ahi83adq4c; ips4_IPSSessionFront=84gk38i1l4cra3jn48kljjevol; ips4_clearAutosave=newContentItem-forums%2Fforums-147' \
--form 'from="4"' \
--form 'to="[2]"' \
--form 'title="test title"' \
--form 'body="test body"'

or as PHP code

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://xxx/api/core/messages/?key=xxx',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('from' => '4','to' => '[2]','title' => 'test title','body' => 'test body'),
  CURLOPT_HTTPHEADER => array(
    'Cookie: PHPSESSID=0s52vp09q9qdffb2ahi83adq4c; ips4_IPSSessionFront=84gk38i1l4cra3jn48kljjevol; ips4_clearAutosave=newContentItem-forums%2Fforums-147'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

 

Is the problem maybe that Postman paases the parameter as strings, enclosed in ' ' ?

For the from parameter, and all the other apis I have already used that always worked.

 

In my application I use a wrapper around CURL which creates this request (with all parameters in the url) which also fails with the same error:

~POST /api/core/messages/?body=Ich%20bin%20ein%20Body&from=4&title=Ich%20bin%20ein%20Subject&to=%5B2%5D HTTP/2
~Host: xxx
~authorization: Basic xxx
~accept: */*
~content-type: multipart/form-data
~user-agent: SwyxIPSIntegration/1.0.0
~content-length: 0

 
 

Posted (edited)

Using Postman and also passing all parameters within the URL doesn't change the outcome, even without escaping the [ ]

curl --location --globoff --request POST 'https://xxx/api/core/messages/?key=xxx&from=4&body=Ich%20bin%20ein%20Body&title=Ich%20bin%20ein%20Subject&to=[2]'
--header 'Cookie: PHPSESSID=0s52vp09q9qdffb2ahi83adq4c; ips4_IPSSessionFront=84gk38i1l4cra3jn48kljjevol; ips4_clearAutosave=newContentItem-forums%2Fforums-147'

 

Edited by Refsmmat
Posted

Would you (or a colleague of yours) be able to provide a CURL command line that generates a message?

I have spent a lot of time now with trying to get the "to" parameter accepted by the IPS REST API, but without any success at all.

 

This is how it should work, according to your documentation:

curl --location "https://xxx/api/core/messages/?key=xxx" --header "Content-Type: multipart/form-data" --header "Host: xxx" --header "accept: */*" --form "from=4" --form "to=[2]" --form "title=test title" --form "body=test body"

 

But all I get back is this:

{
    "errorCode": "1C374\/3",
    "errorMessage": "INVALID_RECIPIENT"
}

 

This is the REST API log in the ACP for the above request:

POST core/messages/

Request Data
{
    "key": "xxx",
    "from": "4",
    "to": "[2]",
    "title": "test title",
    "body": "test body"
}

Response
{
    "errorCode": "1C374\/3",
    "errorMessage": "INVALID_RECIPIENT"
}

 

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...