Я работаю со сторонним API-интерфейсом клиента и смог успешно публиковать его на конечной точке, но, не имея большого опыта работы с API, я не уверен, что делать с фрагментом PHP-кода, который Postman отображает в хуке WordPress, который является крючком Gravity Forms после отправки формы.
Глядя на фрагмент ниже, я вижу некоторые случаи, которые, как мне кажется, было бы бесполезно копировать, например, Postman-Token и Cookie. Я просто не могу найти способ заставить базовую аутентификацию работать.
add_action( 'gform_after_submission_3', 'send_API', 10, 2 );
function send_API($entry, $form){
$request = new HttpRequest();
$request->setUrl('https://xxx.ddd.com/api/v1/leads');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'Connection' => 'keep-alive',
'content-length' => '231',
'accept-encoding' => 'gzip, deflate',
'cookie' => 'PSI_SESSION_ENT=ENT-bd0c3dsefe2b72d224aabec0d5991493f8de',
'Host' => 'xxx.ddd.com',
'Postman-Token' => '25b29855-79e0-4131ds-a099-3be03dsdc9eb6c6,7dc5458ddb-fc5a-4543-8ed5-5e3be5c883f3',
'Cache-Control' => 'no-cache',
'Accept' => '*/*',
'User-Agent' => 'PostmanRuntime/7.13.0',
'Authorization' => 'Basic Zm9ydGhlYV9hcGlAdGRjbWdtdDpGb3J0aGVhNTI5MjAxOSM=',
'Content-Type' => 'application/json'
));
$request->setBody('{
"auth": {
"type": "basic"
},
"requestId": "xx",
"method": {
"name": "name",
"version": "r2",
"params": {
"propertyId": "xxx"
}
}
}');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
}