2016-07-28 2 views
1

J'ai cet extrait de code existant qui recherche la liste d'enregistrements spécifiés par son RecordType (par exemple, InventoryItem, SalesOrder). Cependant, il semble qu'il n'y ait aucun article d'expédition dans la liste dans RecordType, bien que je puisse transmettre un ID interne. Mon but ici était d'obtenir les détails de l'article d'expédition à utiliser dans mon calcul pour la création d'une commande client (doit être affiché avant la soumission).Rechercher l'article d'expédition dans l'API Netsuite

Y aura-t-il une approche différente pour obtenir l'enregistrement de l'article d'expédition? Comment?

Répondre

0

Je peux maintenant récupérer avec succès des articles d'expédition via RESTlets. J'ai téléchargé ce premier comme nouveau dans le classeur, puis l'ai ajouté comme un nouveau script. NetSuite n'autorise pas le téléchargement direct du fichier de script lors de la création d'un nouveau script.

// get_record.js 
function get_record(datain) 
{ 
    var record = nlapiLoadRecord(datain.recordType, datain.id); 
    return record; 
} 

Puis utilisé la bibliothèque http de guzzle pour appeler le RESTlet.

$url = "https://rest.sandbox.netsuite.com/app/site/hosting/restlet.nl"; 
    $client = new GuzzleHttp\Client(); 

    $authorization = [ 
     'NLAuth nlauth_account='.getenv('NETSUITE_ACCOUNT'), 
     'nlauth_email='.getenv('NETSUITE_EMAIL'), 
     'nlauth_signature='.getenv('NETSUITE_PASSWORD'), 
     'nlauth_role='.getenv('NETSUITE_ROLE') 
    ]; 

    $response = $client->request('GET', $url, [ 
     'headers' => [ 
      'Authorization' => implode(',', $authorization), 
      'Content-Type' => 'application/json' 
     ], 
     'query' => [ 
      'script' => '343', //script id 
      'deploy' => '1', 
      'recordType' => 'ShipItem', 
      'id' => '5905' // example of internal id of desired shipping item 
     ] 
    ]); 

    return json_decode($response->getBody()); 
2

Expédition L'enregistrement d'article n'est pas encore supporté dans Suitetalk. Comme une solution alternative, vous pouvez créer un RESTlet à la place pour obtenir l'article d'expédition.

+0

Ok merci, je vais regarder dans les docs sur RESTlet sur la façon de le faire. Sur la base de ce que je sais, je vais créer un script personnalisé sur l'extraction d'un article d'expédition par exemple, puis appeler le service de restauration à partir de mon code de base, ai-je raison? Je posterai ma mise en œuvre ici si j'ai réussi à l'accomplir. – oLraX